MrDante Posted August 27, 2015 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
Stanley Sathler Posted August 27, 2015 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. Software Engineer & Entrepreneur • Running Lustrel and VilarikA • Highly engaged on open source community
MrDante Posted August 27, 2015 Author 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?
n3wage Posted August 27, 2015 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.
Tremidinha Posted August 28, 2015 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. Email - [email protected] Skype - mattheusxdx
MrDante Posted August 28, 2015 Author Posted August 28, 2015 Nao funcionou, nao deu erro nenhum só apenas n funciona o comando
n3wage Posted August 28, 2015 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.
MrDante Posted August 28, 2015 Author 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
n3wage Posted August 29, 2015 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
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