Jump to content

n3wage

Members
  • Posts

    290
  • Joined

Everything posted by n3wage

  1. Tanto faz, mais se você usar senha (igual no meu exemplo) você terá que fazer a checagem dessa forma: if (SenhaDoGerenciador == senha) then
  2. Complicar a vida ? acho que não, dar codigo pronto toda hora não ajuda em nada já que não é ele que está fazendo, e sim você, Tambem falei que DAVA PRA USAR o lado do servidor, não que era necessario
  3. É só você passar senhausada (tenha certeza que isso retorna o valor correto) no triggerServerEvent, assim: --Client: triggerServerEvent("testedogerenciador", getLocalPlayer(), senhausada) -- Server: function teste(senha) -- o parâmetro é passado para a função definida no addEventHandler.
  4. Or setServerConfigSetting ( "fpslimit", "60", true )
  5. Você só pegou alguns exemplos da wiki (que por sinal não tem nada a ver com oque você quer fazer), Você terá que usar a seguinte lógica: 1- Um Jogador entra no servidor (onClientPlayerJoin ou onPlayerJoincom triggerClientEvent). 2- Você começa a renderizar a imagem (ou um retângulo) e o texto (dxDrawImage/dxDrawRectangle, dxDrawText) 3- Você usa um timer (ou manipula variáveis) para parar de renderizar as dxs. obs: Essa mesma lógica se aplica a quando um jogador sair do servidor ou trocar seu nick (claro que você vai mudar os textos e etc)
  6. Poste seu código para podermos ver qual é o problema.
  7. Aí você vai ter que mudar o botão no parâmetro da função bindKey Você usou 2 e 3, os 'numeros da direita' (numpad) seriam num_2 e num_3.
  8. O script que você passou funciona sim porem ele só abre se você estiver na ACL Admin, Veja se você está nela
  9. Tente fazer e poste o script aqui (mesmo se não funcionar, pois ai vou dizer qual é o erro e como corrigir), Todo dia dar código pronto pra você não dá, Não é assim que se aprende.
  10. bindKey ( JOGADOR_AQUI, BOTAO, "down", openMyGate ) Você terá que fazer isso (↑) com todos os jogadores (substituindo JOGADOR_AQUI pela variável do player e BOTAO pelo botão desejado) quando o script iniciar e também quando um jogador entrar no servidor (pois ele não terá a key bindada, sendo necessario usar a função novamente ). Veja os exemplos da wiki, deve lhe ajudar
  11. Você deveria fornecer algumas imagens dos seus trabalhos já feitos, Com certeza isso iria atrair mais pessoas, deixar seus contatos no post também é uma boa, Pois acho meio incômodo falar sobre preços e etc diretamente no fórum. Eu não acho que terá grande procura pois a maioria não vai querer pagar mas enfim, Boa sorte
  12. data = { -- { "name", "rank" }, { "Ali", "Admin" }, { "Arman", "Moderator " } } r_w = guiCreateWindow(322, 150, 565, 540, "Staff Ranks", false) guiWindowSetSizable(r_w, false) guiSetAlpha(r_w, 1.00) ggrid1 = guiCreateGridList(10, 54, 545, 377, false, r_w) namess = guiGridListAddColumn(ggrid1, "Name", 0.5) rankss = guiGridListAddColumn(ggrid1, "Ranks", 0.5) butt1 = guiCreateButton(48, 446, 459, 84, "Close", false, r_w) guiSetFont(butt1, "sa-header") guiSetVisible(r_w,false) addCommandHandler( "ranks", function () guiSetVisible(r_w,true) showCursor(true) for i, v in ipairs (data) do local row = guiGridListAddRow(ggrid1); guiGridListSetItemText ( ggrid1, row, 1, v[1], false, false ); guiGridListSetItemText ( ggrid1, row, 2, v[2], false, false ); end end )
  13. Funções: createMarker createVehicle getElementHealth Eventos: onMarkerHit Como eu lhe disse, Se tivesse ido nos links que lhe passei e pesquisasse marker e vehicle ia encontrar tudo
  14. Por que você não usa o evento onPedWasted ? Provavelmente a função que chama o evento onZombieGetsKilled checa a skin do ped, element data etc
  15. Como eu já disse não é esse script que faz isso, Provavelmente outro que use o evento onColShapeHit e bloqueie o spawn de zumbis
  16. Tudo que você precisa está na wiki e tutorial de Lua é oque não falta, Até aqui no fórum tem. Primeiro você deve ir pensando o quê exatamente você quer, depois vá procurando as funções do lado do servidor ou do lado do cliente que você acha que sejam necessarias. Acho mais difícil começar logo com um sistema mais complexo como este, recomendo você ir tentando coisas mais fáceis para depois pensar nisso.
  17. O "Elevador" em si é basicamente um colshape (?) que aciona a função moveObject.
  18. -- Se for um grupo na acl isObjectInACLGroup -- Se for uma team getPlayerTeam == getTeamFromName
  19. Não entendi muito bem a pergunta mas enfim, 'bots' (peds) não podem ter uma team, Você pode identificar eles usando element data, Salvando os elementos em uma tabela ou algo assim.
  20. Configuring an external web server
  21. Testei o primeiro código que você passou e ele está funcionando, só mata peds dentro do colshape, tem certeza que é esse script que não deixa eles nascerem em outro lugar ?
  22. Não olhei muito o código mas aparentemente o único problema é que RestricLocation não estava definido, basta usar: RestricLocation = {} Na linha 6~7.
  23. Qual é o problema ? o codigo que você passou funciona perfeitamente aqui, porem, como você só passou um trecho presumo que local oxygen = getPedOxygenLevel ( player ) esteja solto no código, quando necessita estar em um evento render. function drawOxygenBar ( x, y, oxigenio, d ) dxDrawRectangle(x - 21, y, 42, 5, tocolor ( 0, 0, 0, 255-d )) dxDrawRectangle(x - 20, y + 1, 40/1000*oxigenio, 3, tocolor ( 95, 165, 206, 255-d )) end addEventHandler ( "onClientRender", root, function ( ) local oxygen = getPedOxygenLevel ( localPlayer ) -- troquei por localplayer só para testar ;p if oxygen < 1000 or isElementInWater (localPlayer) then -- localplayer again drawOxygenBar ( x, y-0.0, oxygen, dist ) end end )
  24. Deixei ~alguns~ comentários no código, espero que você entenda, e como já dito pelo DNL é melhor você usar a conta do jogador para salvar dados pois se ele entrar com outro nick o código abaixo já vai falhar.. db = dbConnect( "sqlite","bancodedados.db" ) dbExec ( db, "CREATE TABLE IF NOT EXISTS dadoplayer ( id INT, nomejogador TEXT, dinheiro INT )" ) --[[ ↑ você não precisa criar a tabela toda vez que for inserir dados, uma vez ja basta tambem não é necessario usar dbQuery, ja que você não quer o resultado da ação de criar a tabela --]] DadosT = {} -- Explicação na linha 27~29 function inserirdados (source,q) --[[ ↑ vale lembrar que 'q' será sempre 'salvar' (o comando digitado pelo jogador) não o use como uma query --]] local name = getPlayerName(source) local dinheiro = getPlayerMoney(source) local id = math.random(1,9999) --novamente, não acho necessario saber o resultado da query, entao vamos usar dbExec ;p --local db2 = dbQuery(db, "INSERT INTO dadoplayer (id,nomejogador,dinheiro) VALUES(?,?,?)",id,name,dinheiro ) dbExec ( db, "INSERT INTO dadoplayer ( id, nomejogador, dinheiro ) VALUES ( ?, ?, ? )", id, name, dinheiro ) --[[ você tambem tem que saber se o nick ja esta salvo no database para não ficar inserindo varias vezes o mesmo nick se ele já tiver salvo você tera que usar a query UPDATE: [url=http://www.w3schools.com/sql/sql_update.asp]http://www.w3schools.com/sql/sql_update.asp[/url] --]] end addCommandHandler( "salvar", inserirdados) function loaddinheiro (id,nomejogador,dinheiro) --[[ aqui um problema, nomejogador é uma string (o nick do player) o melhor é você salvar os dados em uma tabela e dar o dinheiro quando o jogador logar, claro, antes checando se ele já esta no servidor --]] if getPlayerFromName ( nomejogador ) then local jogador = getPlayerFromName ( nomejogador ) givePlayerMoney(jogador, dinheiro ) outputChatBox( "SEU DINHEIRO FOI CARREGADO !!", jogador ) else DadosT[nomejogador] = dinheiro end end addEventHandler ( "onPlayerLogin", root, function ( ) local nomejogador = getPlayerName ( source ) if DadosT[nomejogador] then givePlayerMoney ( source, DadosT[nomejogador] ) outputChatBox( "SEU DINHEIRO FOI CARREGADO !!", source ) end end ) function carregar (q) if (q) then local p = dbPoll( q, 0 ) -- não é recomendado usar 0 para um resultado instantaneo ja que a função pode falhar.. if ( p ) then for i, dados in pairs( p ) do loaddinheiro( dados["id"] ,dados["nomejogador"],dados["dinheiro"] ); print ( dados["nomejogador"].." Carregado.." ) end else print ( "database não foi carregado !" ) end end end function carregar1 () dbQuery ( carregar, db, "SELECT * FROM dadoplayer" ) outputChatBox ( "carregando..." ) end addCommandHandler( "carrega", carregar1)
  25. 1 - Na maioria das funções server side é assim, o player que entrou por exemplo é passado nos parâmetros do evento onVehicleEnter/Exit (Você sempre pode ver isso na wiki...). 2 - Ele não seta todos pois definimos o primeiro parâmetro da função setVehicleDamageProof, Que diz qual veiculo ficará in/destrutível.
×
×
  • Create New...