-
Posts
3,983 -
Joined
-
Last visited
-
Days Won
181
Everything posted by Lord Henry
-
Eu faria no onPlayerJoin.
-
Mais ou menos isso. Só testando pra saber.
-
setVehicleLocked apenas tranca portas dos veículos. Ela não impede de entrar nos veículos que não usam portas ou que as portas estejam abertas/arrancadas. Da mesma forma que os alarmes dos veículos na vida real. Warning: This function only prevents the player from opening the vehicle doors. It means that a player can still access a locked vehicle if there's an opened door. Also, vehicles that doesn't have doors can still be accessed aswell. Aviso: Esta função apenas impede que o jogador abra as portas do veículo. Isso significa que um jogador ainda pode acessar um veículo trancado se houver uma porta aberta. Além disso, veículos que não possuem portas ainda podem ser acessados também.
-
Então vc está fazendo algo errado. Pois o setAccountData já atualiza o banco de dados. Posso até provar em vídeo: https://youtu.be/65iJnJLG0PI
-
Sim, ele atualiza na hora.
-
setAccountData e getAccountData já atualizam o banco de dados internal.db.
-
Em vez disso, use essa função: function getPlayerFromAccountID (id) if (tonumber (id)) then for i, player in ipairs (getElementsByType("player")) do if (getAccountID (getPlayerAccount(player)) == tonumber (id)) then return player end end end return false end É que está bem difícil entender sua lógica pois a indentação está terrível.
-
function getPlayersFromAccountData (data) if (not data) then return false end -- Se não tiver data no parâmetro, retorna false. local dataPlayers = {} -- Inicia uma table vazia. for i, player in ipairs (getElementsByType ("player")) do -- Para cada jogador conectado no servidor, faça: if (getAccountData (getPlayerAccount(player), data) > 0) then -- Se o jogador possui a accountData específica maior que 0, então: table.insert (dataPlayers, player) -- Adiciona esse jogador na table dataPlayers end end return dataPlayers -- Retorna uma lista de jogadores que possuem a accountData específica. Retornará uma lista vazia se ninguém possuir tal accountData. end
-
addEventHandler ("onVehicleEnter", root, function() for i=2, 5 do setVehicleDoorState (source, i, 0) end end) Tente usar server-side.
-
n Você não pode usar uma função como parâmetro de função.
-
Cara, se vc não sabe fazer painel em DX, faça em CEGUI pois é mais fácil.
-
Na função setPlayerhlpp, o parâmetro thePlayer agora é uma account. Pois você definiu lá em cima o receiver como sendo uma conta e não como um jogador.
-
Utilize essa função para obter jogadores que possuem determinada accountData. function getPlayersFromAccountData (data) if (not data) then return false end -- Se não tiver data no parâmetro, retorna false. local dataPlayers = {} -- Inicia uma table vazia. for i, player in ipairs (getElementsByType ("player")) do -- Para cada jogador conectado no servidor, faça: if (getAccountData (getPlayerAccount(player), data)) then -- Se o jogador possui a accountData específica, então: table.insert (dataPlayers, player) -- Adiciona esse jogador na table dataPlayers end end return dataPlayers -- Retorna uma lista de jogadores que possuem a accountData específica. Retornará uma lista vazia se ninguém possuir tal accountData. end E depois no seu script, passe um loop por essa tabela, mandando a mensagem pra cada jogador nela. local helpers = getPlayersFromAccountData ("Helper") if (#helpers > 0) then -- Se existe algum jogador com essa accountData, então: for i, player in ipairs (helpers) do -- Para cada jogador na lista, manda isso no chat dele: outputChatBox ("Mensagem exclusiva para helpers.", player) end end
-
Coloque isso no seu script, fora da função. function getAccountFromID (id) if (tonumber (id)) then for i, acc in ipairs (getAccounts()) do if (getAccountID (acc) == tonumber (id)) then return acc end end end return false end E depois lá na sua função, troque o getAccountID por getAccountFromID
-
addCommandHandler ("novasenha", function (theStaff, cmd, accname, pass) if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (theStaff)), aclGetGroup ("Console"))) then -- Se o jogador que executou o comando estiver na ACL Group Console, então: if (hasObjectPermissionTo (resource, "function.setAccountPassword", false)) then -- Se este resource possui permissão para alterar senhas de contas, então: if (accname and pass) then -- Se o jogador informou um login e uma senha após o comando, então: local acc = getAccount (accname) -- Obtém a conta com este login. if (acc) then -- Se existe uma conta com este login, então: if (setAccountPassword (acc, pass) then -- Se foi possível mudar a senha dessa conta, então: outputChatBox ("Senha da conta '"..accname.."' foi alterada para '"..pass.."' com sucesso.", theStaff, 0, 255, 0) -- Manda isso pro jogador que executou o comando. else -- Se não foi possível mudar a senha da conta, então: outputChatBox ("Não foi possível alterar a senha da conta especificada.", theStaff, 255, 0, 0) -- Manda isso. end else -- Se não existe uma conta com o login informado, então: outputChatBox ("Conta "..accname.." não existe.", theStaff, 255, 0, 0) end else -- Se o jogador não informou um login ou não informou uma senha após o comando, então: outputChatBox ("Erro de sintaxe: /novasenha <login> <senha>", theStaff, 255, 0, 0) end else -- Se este resource não tem permissão para mudar senhas de contas, então: (pode ser resolvido dando permissão Admin ao resource) outputChatBox ("ERRO: Resource "..getResourceName(resource).." precisa de acesso ao 'function.setAccountPassword' para funcionar.", theStaff, 255, 0, 0) end else -- Se o jogador que executou o comando não estiver na ACL Group Console, então: outputChatBox ("Acesso negado.", theStaff, 255, 0, 0) end end) Tá ae. De nada.
-
Sim, é possível. Mas quando você se refere a Console, você se refere ao Server Console (aquele prompt de comando)? Ou você se refere a alguém com permissão de Console (usuário que está na ACL Group Console)? Pois eles são tratados de maneiras diferentes. Um é um elemento console e o outro é um jogador com permissão de console. Ambos podem realizar comandos.
-
@AlvesMTA o código citado serve para fechar as portas de um veículo quando alguém entrar nele.
-
Antes não estava, o tópico foi movido para cá pois você havia postado no local incorreto. Ele quis dizer pra você postar nessa seção na próxima vez, para não precisar mover o tópico novamente. Sobre a sua pergunta em si, você precisa de um resource de superman no servidor.
-
Nesse caso abaixo, seu amigo que estava dirigindo viu a porta aberta também? Ou ela só fica aberta no seu cliente?
-
Um resource utilizado para anexar coisas nos ossos do personagem (por exemplo na mão, nas costas, na cabeça) é o Resource:Bone_attach.
-
setVehicleHandling
-
Crie a janela fora da função e logo em seguida torne ela invisível com guiSetVisible. Dai dentro da função vc apenas mostra/oculta essa janela com guiSetVisible também.
-
Não vai funcionar com ACL Group, pois é um script client-side.
-
Tópico movido para a seção OffTopic. Mesmo caso do tópico do outro membro: Solicitações de Staffs devem ser feitos na seção Offtopic e não na seção de Servidores para Jogar. Para postar na seção de Servidores para Jogar, é necessário que o servidor tenha um IP público e acessível para jogar.