Jump to content

ساعدوني بي كود البحث


Recommended Posts

شباب اللحين ابي اسوي كود بحث للاعبين في الانتقلاات من اف 1 انا سويت اكواده بس مب عارف ليش مب شغال ممكن تشوفو وتقولو لي شو الخطاء

function warpInit() 
    local players = table.map(getElementsByType('player'), function(p) return { name = getPlayerName(p) } end) 
    table.sort(players, function(a, b) return a.name < b.name end) 
    bindGridListToTable(wndWarp, 'playerlist', players, true) 
end 
  
if source == searching then 
   if guiGetText(source) == "" then 
    guiSetText(source,"") 
   end 
end  
  
addEventHandler("onClientGUIChanged",root, 
function () 
 if source == searching then 
searchgd(GridList,guiGetText(source)) 
 end 
end 
) 
  
function SetPlayersInGD( GridList ) 
 if GridList then 
  if getElementType ( GridList ) == "gui-GridList" then 
   if guiGridListClear ( GridList ) then 
    for i, v in next, getElementsByType ( "player" ) do 
     local Row = guiGridListAddRow ( GridList ) 
      guiGridListSetItemText ( GridList, Row, 1, getPlayerName ( v ), false, false ) 
      guiGridListSetItemText ( GridList, Row, 2, getPlayerTime( v ), false, false ) 
    end 
   end 
  end 
 end 
end 
  
function searchgd(GridList,name) 
 if guiGridListClear ( GridList ) then 
    for i, v in next, getElementsByType ( "player" ) do 
     if not string.find(getPlayerName(v),name) then return end 
     local Row = guiGridListAddRow ( GridList ) 
      guiGridListSetItemText ( GridList, Row, 1, getPlayerName ( v ), false, false ) 
      guiGridListSetItemText ( GridList, Row, 2, getPlayerTime( v ), false, false ) 
    end 
   end 
end 
  
function warpTo(leaf) 
    if not leaf then 
        leaf = getSelectedGridListLeaf(wndWarp, 'playerlist') 
        if not leaf then 
            return 
        end 
    end 
    local player = getPlayerFromNick(leaf.name) 
    if player then 
        server.warpMe(player) 
    end 
    closeWindow(wndWarp) 
end 
  
wndWarp = { 
    'wnd', 
    text = 'انتقال الى لاعب', 
    width = 300, 
    controls = { 
        {'lbl', id='البحث', text='البحث عن اللاعبين', width='96'}, 
        {'txt', id='searching', text='', width=280}, 
        { 
            'lst', 
            id='playerlist', 
            width=280, 
            height=310, 
            columns={ 
                {text='الاعبين', attr='name'} 
            }, 
            onitemdoubleclick=warpTo 
        }, 
        {'btn', id='انتقال', onclick=warpTo}, 
        {'btn', id='اغلاق', closeswindow=true} 
    }, 
    oncreate = warpInit 
} 
  
function warpToCommand(cmd, player) 
    if player then 
        player = getPlayerFromNick(player) 
        if player then 
            server.warpMe(player) 
        end 
    else 
        createWindow(wndWarp) 
        showCursor(true) 
    end 
end 
  
addCommandHandler('warpto', warpToCommand) 
addCommandHandler('wt', warpToCommand) 
  

اتمني تقولو لي شو الخطاء وشكرا

Link to comment

مثال بسيط استفيد منه #

addEventHandler ("onClientGUIChanged", resourceRoot, 
    function () 
        if (source == search) then 
            guiGridListClear (grid) 
            local name = guiGetText (search) 
            if (name == "") then 
                for _,v in ipairs (getElementsByType ("player")) do 
                    local row = guiGridListAddRow (grid) 
                    guiGridListSetItemText (grid, row, 1, getPlayerName (v), false, false) 
                end 
            else 
                for _,v in ipairs (getElementsByType ("player")) do 
                    if string.find (getPlayerName (v):lower (), name:lower ()) then 
                        local row = guiGridListAddRow (grid) 
                        guiGridListSetItemText (grid, row, 1, getPlayerName (v), false, false) 
                    end 
                end 
            end 
        end 
    end 
) 
Link to comment
مثال بسيط استفيد منه #

addEventHandler ("onClientGUIChanged", resourceRoot, 
    function () 
        if (source == search) then 
            guiGridListClear (grid) 
            local name = guiGetText (search) 
            if (name == "") then 
                for _,v in ipairs (getElementsByType ("player")) do 
                    local row = guiGridListAddRow (grid) 
                    guiGridListSetItemText (grid, row, 1, getPlayerName (v), false, false) 
                end 
            else 
                for _,v in ipairs (getElementsByType ("player")) do 
                    if string.find (getPlayerName (v):lower (), name:lower ()) then 
                        local row = guiGridListAddRow (grid) 
                        guiGridListSetItemText (grid, row, 1, getPlayerName (v), false, false) 
                    end 
                end 
            end 
        end 
    end 
) 

( true ) string.find لازم تحط في الأرقمنت الرابع لفنكشن

. عشان الوظيفة ما تاخذ على الأنماط وتبحث بدون التعلق بها عشان لو كتب اللاعب مثلاً % ما يصير أخطاء في الدي بق

Link to comment

سويته هيك وما اشتغل شو الخطاء

--------------------------- 
-- Warp to player window 
--------------------------- 
  
function warpInit() 
    local players = table.map(getElementsByType('player'), function(p) return { name = getPlayerName(p) } end) 
    table.sort(players, function(a, b) return a.name < b.name end) 
    bindGridListToTable(wndWarp, 'playerlist', players, true) 
end 
  
  
addEventHandler ("onClientGUIChanged", resourceRoot, 
    function () 
        if (source == search) then 
            guiGridListClear (playerlist) 
            local name = guiGetText (search) 
            if (name == "") then 
                for _,v in ipairs (getElementsByType ("player")) do 
                    local row = guiGridListAddRow (playerlist) 
                    guiGridListSetItemText (playerlist, row, 1, getPlayerName (v), false, false) 
                end 
            else 
                for _,v in ipairs (getElementsByType ("player")) do 
                    if string.find (getPlayerName (v):lower (), name:lower ()) then 
                        local row = guiGridListAddRow (playerlist) 
                        guiGridListSetItemText (playerlist, row, 1, getPlayerName (v), false, false) 
                    end 
                end 
            end 
        end 
    end 
) 
  
function warpTo(leaf) 
    if not leaf then 
        leaf = getSelectedGridListLeaf(wndWarp, 'playerlist') 
        if not leaf then 
            return 
        end 
    end 
    local player = getPlayerFromNick(leaf.name) 
    if player then 
        server.warpMe(player) 
    end 
    closeWindow(wndWarp) 
end 
  
wndWarp = { 
    'wnd', 
    text = 'انتقال الى لاعب', 
    width = 300, 
    controls = { 
        {'lbl', id='البحث', text='البحث عن اللاعبين', width='96'}, 
        {'txt', id='search', text='', width=280}, 
        { 
            'lst', 
            id='playerlist', 
            width=280, 
            height=310, 
            columns={ 
                {text='الاعبين', attr='name'} 
            }, 
            onitemdoubleclick=warpTo 
        }, 
        {'btn', id='انتقال', onclick=warpTo}, 
        {'btn', id='اغلاق', closeswindow=true} 
    }, 
    oncreate = warpInit 
} 
  
function warpToCommand(cmd, player) 
    if player then 
        player = getPlayerFromNick(player) 
        if player then 
            server.warpMe(player) 
        end 
    else 
        createWindow(wndWarp) 
        showCursor(true) 
    end 
end 
  
addCommandHandler('warpto', warpToCommand) 
addCommandHandler('wt', warpToCommand) 
  

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...