MrDante Posted December 10, 2015 Share Posted December 10, 2015 ola galera, quanto tempo nao apareço na wiki, nao? bem, vamos direto ao ponto, estou querendo criar um painel pra quem for da staff ajudante dar tal coisa para um player servidor, por exemplo um carro, mas nao consegui acha uma forma para isso, eu fiz algumas gambiarras, e nada, pois quero selecionar alguem da gridlist ou seja os players que vai ganhar o tal carro, e tentei isso Server function spawnvehicle ( Ajudante, Jogador, vehID ) if Ajudante then local Ajudante = getPlayerName(Ajudante) local Jogador = triggerClientEvent(Ajudante, "jogadores", Ajudante) if isElement(vehicle[source]) then destroyElement(vehicle[source]) end local x, y, z = getElementPosition(Jogador) vehicle[source] = createVehicle(vehID , x, y, z) if vehID == 529 then else outputChatBox("#c1c1c1[#fff000ALERTA#c1c1c1] O ajudante #ffffff"..Ajudante.."#c1c1c1 te deu um carro de acordo com o seu pedido!", Jogador, 0, 255, 0, true) outputChatBox("#c1c1c1[#fff000ALERTA#c1c1c1] Voce deu o carro com sucesso1 ", Ajudante, 0, 255, 0, true) end warpPedIntoVehicle( Jogador, vehicle[source] ) end end addEvent( "carro", true ) addEventHandler( "carro", root, spawnvehicle ) Client function ObterJogador () guiGridListClear(Grid) for i, thePlayer in ipairs ( getElementsByType ( "player" ) ) do local row = guiGridListAddRow( Grid ) guiGridListSetItemText ( Grid, row, 1, getPlayerName( thePlayer ), false, false ) end end addEvent("jogadores", true) addEventHandler("jogadores", getRootElement(), ObterJogador) Link to comment
n3wage Posted December 10, 2015 Share Posted December 10, 2015 Complicado ajudar sem o código todo, btw você precisa de duas funções no lado do servidor: Uma que mostre os players para o ajudante Outra que dê o carro para o player Você esta misturando essas duas, não vai dar certo, Já no lado do cliente você pode checar da seguinte maneira qual jogador o ajudante escolheu: local row = guiGridListGetSelectedItem ( Grid ) if ( row ~= -1 ) then -- a função guiGridListGetSelectedItem retorna -1 se o jogador não escolheu nenhum item local playerNick = guiGridListGetItemText ( Grid, row, 1 ); local player = getPlayerFromName ( playerNick ); -- aqui voce usa o trigger para dar o veiculo para o jogador -- playerNick = nick do jogador -- player = jogador (elemento) -- ... else outputChatBox ( "Escolha um player", localPlayer, 255, 0, 0 ) end Link to comment
MrDante Posted December 11, 2015 Author Share Posted December 11, 2015 bom, o problema é outro, eu quero q ele de pra alguem da grid, mas ele esta dando para mim, funçoes: server Veiculo = {} function carro () if Veiculo[source] and isElement(Veiculo[source]) then destroyElement (Veiculo[source]) end local x, y, z = getElementPosition (source) Veiculo[source] = createVehicle (529, x, y, z) warpPedIntoVehicle (source, Veiculo[source]) outputChatBox("#C1C1C1[ #FFF000AJUDANTE #C1C1C1] Voce ganhou um carro, como pedido ao ajudantes", source, 0, 255, 0, true) end addEvent( "onSpawnVeh", true ) addEventHandler( "onSpawnVeh", root, carro ) client: PAINELAJUDANTE = guiCreateWindow(296, 142, 450, 434, "Painel Ajudante ", false) Carro = guiCreateButton(30, 152, 133, 27, "Dar Carro", false, PAINELAJUDANTE) Box = guiCreateEdit(328, 33, 108, 17, "", false, PAINELAJUDANTE) Grid = guiCreateGridList(301, 66, 139, 317, false, PAINELAJUDANTE) function ObterJogador () guiGridListClear(Grid) for i, thePlayer in ipairs ( getElementsByType ( "player" ) ) do local row = guiGridListAddRow( Grid ) guiGridListSetItemText ( Grid, row, 1, getPlayerName( thePlayer ), false, false ) end end function BuscarList() guiGridListClear( Grid ) local Nommbre = guiGetText( Box ) for i, thePlayer in ipairs ( getElementsByType ( "player" ) ) do if ( thePlayer ~= localPlayer ) then if ( string.find( getPlayerName( thePlayer ):lower(), Nommbre:lower() ) ) then local row = guiGridListAddRow ( Grid ) guiGridListSetItemText ( Grid, row, 1, getPlayerName ( thePlayer ), false, false ) end end end end addEventHandler ("onClientGUIClick", Box, BuscarList ,false) function carro () local local = getLocalPlayer() local x, y, z = getElementPosition ( local ) local vehicle = guiGridListGetItemText ( Grid, guiGridListGetSelectedItem(Grid), 1) if vehicle then triggerServerEvent("onSpawnVeh", localPlayer, tonumber(vehicle)) end end addEventHandler ("onClientGUIClick", Carro, carro, false) 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