MrDante Posted August 27, 2015 Share Posted August 27, 2015 (edited) function getPlayerFromNamePart( string ) if( string and type( string ) == 'string' ) then local matches = { } for k,v in ipairs( getElementsByType'player' ) do if( string.find( getPlayerName( v ), tostring( string ), 0 ) ) then table.insert ( matches, v ); if( #matches == 1 ) then return matches[1]; end end return false; end Esse codigo só faz que da pra digitar uma cor do player, tem como me ajudar a poder a coloca mas de outra cor ? Edited August 27, 2015 by Guest Link to comment
Stanley Sathler Posted August 27, 2015 Share Posted August 27, 2015 O que quer dizer com "cor", DanteTV? O que vejo é um código que pega parte de um nome (por exemplo, Stan) e retorna todos os players que possuem "Stan" no nome. Link to comment
MrDante Posted August 27, 2015 Author Share Posted August 27, 2015 tipo, esse mod, quando coloca o nome da pessoa, e ela estiver com 2 cores no nome, não funciona e não funciona o comando, só pode colocar uma cor, entendeu? Link to comment
n3wage Posted August 27, 2015 Share Posted August 27, 2015 tipo, esse mod, quando coloca o nome da pessoa, e ela estiver com 2 cores no nome, não funciona e não funciona o comando, só pode colocar uma cor, entendeu? Porque você não usa a função que está na wiki ? function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end Assim se seu nick for, por exemplo, #00ff00Tes#ff0000te você pode 'procurar' por teste, tes, #00ff00tes#ff0000t etc que tudo irá funcionar. Link to comment
MrDante Posted August 27, 2015 Author Share Posted August 27, 2015 Eu já tentei, mas n deu para usar Link to comment
Tremidinha Posted August 28, 2015 Share Posted August 28, 2015 function removeHex(name) return type(name)=="string" and string.gsub(name, "#%x%x%x%x%x%x", "") or name; end function getPlayerByCurtName(playerName) for i,player in ipairs (getElementsByType("player")) do if string.find(string.lower(removeHex(getPlayerName(player))),string.lower(playerName)) then return player end end return false end Se não funcionar cola aqui em casa que nois conversa. Link to comment
MrDante Posted August 28, 2015 Author Share Posted August 28, 2015 Nao funcionou, nao deu erro nenhum só apenas n funciona o comando Link to comment
n3wage Posted August 28, 2015 Share Posted August 28, 2015 Nao funcionou, nao deu erro nenhum só apenas n funciona o comando Manda o comando, certeza que o problema está nele. Link to comment
MrDante Posted August 28, 2015 Author Share Posted August 28, 2015 function JanelaCapitura() wantedJanela = guiCreateWindow(260,180,250,250,"",false) guiWindowSetSizable(wantedJanela,false) guiSetVisible ( wantedJanela, false ) labelJanela = guiCreateLabel(20,20,210,20,"Janela de Alteração de Wanted Level",false,wantedJanela) labelNome = guiCreateLabel(10,55,105,20,"Nome do Jogador :",false,wantedJanela) labelWanted = guiCreateLabel(30,90,85,60,"Wanted Level :",false,wantedJanela) editWanted1 = guiCreateEdit(120,50,120,25,"",false,wantedJanela) editWanted2 = guiCreateEdit(160,85,80,25,"",false,wantedJanela) memoEdit = guiCreateMemo(10,120,230,80,"Identifique o jogador e selecione o nivel de procurado para a alteração, os niveis podem ser de 0-6 .",false,wantedJanela) guiMemoSetReadOnly(memoEdit,true) buttonAlterar = guiCreateButton(0,210,120,30,"Alterar Nivel",false,wantedJanela) buttonFechar = guiCreateButton(130,210,120,30,"Fechar",false,wantedJanela) end addEventHandler( "onClientResourceStart", resourceRoot, JanelaCapitura) function Janelainfo() JanelaSec = guiCreateWindow(285,200,200,120,"",false) LabelSec = guiCreateLabel(10,20,200,45," Você deseja relamente \n alterar o nivel de procurado \n deste jogador?",false,JanelaSec) ButtonSec1 = guiCreateButton(10,70,180,20,"Confirmar",false,JanelaSec) ButtonSec2 = guiCreateButton(10,90,180,20,"Cancelar",false,JanelaSec) guiWindowSetSizable(JanelaSec,false) guiSetVisible(JanelaSec,false) end addEventHandler( "onClientResourceStart", resourceRoot, Janelainfo) ----------------------- Funções ----------------------- addEvent( 'g_OnServerCallGUI', true ); addEventHandler( 'g_OnServerCallGUI', root, function( ) guiSetVisible( wantedJanela, true ); showCursor( true ); guiSetInputMode( 'no_binds_when_editing' ); end ) addEventHandler('onClientGUIClick', root, function () if (source == buttonFechar) then guiSetVisible ( wantedJanela, false ) guiSetVisible ( JanelaSec, false ) showCursor ( false ) elseif (source == buttonAlterar) then guiSetVisible ( JanelaSec, true ) guiBringToFront ( JanelaSec ) elseif (source == ButtonSec2) then guiSetVisible ( JanelaSec, false ) elseif (source == ButtonSec1) then guiSetVisible ( JanelaSec, false ) gethename = getPlayerFromNamePart( tostring( guiGetText( editWanted1 ) ) ) getlevel = guiGetText(editWanted2) triggerServerEvent("onStupidStar", localPlayer, getlevel, gethename) end end) function removeHex(name) return type(name)=="string" and string.gsub(name, "#%x%x%x%x%x%x", "") or name; end function getPlayerByCurtName(playerName) for i,player in ipairs (getElementsByType("player")) do if string.find(string.lower(removeHex(getPlayerName(player))),string.lower(playerName)) then return player end end return false end Link to comment
n3wage Posted August 29, 2015 Share Posted August 29, 2015 elseif (source == ButtonSec1) then guiSetVisible ( JanelaSec, false ) if getPlayerFromPartialName ( guiGetText ( editWanted1 ) ) then -- não é necessario usar tostring em guiGetText pois a função já retorna uma string local jogador_selecionado = getPlayerFromPartialName ( guiGetText ( editWanted1 ) ) local getlevel = tonumber ( guiGetText(editWanted2) ) -- converter o texto digitado para numeros triggerServerEvent("onStupidStar", localPlayer, getlevel, jogador_selecionado) else outputChatBox ( "nenhum jogador encontrado" ) end end Lembre-se de colocar essa função no seu código: function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now