-
Posts
4,008 -
Joined
-
Last visited
-
Days Won
184
Everything posted by Lord Henry
-
Ele está dizendo que tentou chamar uma função de um resource que não está ativo no servidor (scr-Lib). Para corrigir esse problema, baixe, instale e ative o resource scr-Lib. Mesmo problema que o anterior, mas este está pedindo o resource msgdx. Sobre o seu terceiro problema, o resource funciona, mas não de maneira fixa. Você pode facilmente construir um resource com ID fixo usando a função getAccountID. Este ID é fixo na conta do jogador, mesmo que ele relogue, a conta vai permanecer com este mesmo ID.
-
Exemplo maroto pra vc: server-side: function loadCarMod (prevAcc, currAcc) if (getAccountData (currAcc, "vehMod.490")) then -- Exemplo de nome de data, no caso se o veículo 490 estiver salvo como modificado na conta, então: triggerClientEvent (source, "enableVehMod.490", source, true) -- Ativa o evento no cliente do jogador que logou. (não afeta outros jogadores) e também envia o valor true como primeiro parâmetro de função. end end addEventHandler ("onPlayerLogin", root, loadCarMod) function saveCarMod (status) -- Parâmetro de função que foi passado pelo triggerServerEvent lá no client-side. local acc = getPlayerAccount (client) -- client = Variável nativa que significa: localPlayer do client-side que ativou este evento. if (not isGuestAccount (acc)) then -- Se o jogador está logado, então: (a conta não é guest) setAccountData (acc, "vehMod.490", status) -- Salva a data do veículo como true ou como false na conta do jogador. end end addEvent ("saveVehMod.490", true) addEventHandler ("saveVehMod.490", root, saveCarMod) client-side: local txd = engineLoadTXD ("fbiranch.txd") local dff = engineLoadDFF ("fbiranch.dff", 490) -- 490 é o ID do veículo a ser modificado, no caso o FBI Rancher. function startVehMod (state) -- state é o primeiro parâmetro de função, seu valor foi enviado pelo server-side no triggerClientEvent. if (state) then -- Se state for igual a true (ou qualquer valor que não seja false nem nil), então: engineImportTXD (txd, 490) engineReplaceModel (dff, 490) -- Em vez de colocar isso em uma função com evento "onClientResourceStart" pra ativar pra todo mundo, ativa somente pelo trigger do server-side no cliente específico. else -- Se state não for true, então: engineRestoreModel (490) -- Desativa a modificação no veículo, voltando para o modelo original. end end addEvent ("enableVehMod.490", true) addEventHandler ("enableVehMod.490", root, startVehMod) function vehManagement (cmd, parameter) -- Aqui eu vou fazer por comando no exemplo, mas vc pode fazer por painel. if (parameter) then -- Se parameter == true ou qualquer coisa que não seja false nem nil, então: outputChatBox ("Modificação do veículo 490 ativada.") startVehMod (parameter) -- Ativa o mod do veículo. triggerServerEvent ("saveVehMod.490", localPlayer, true) -- Manda o true para o server-side, que irá salvar o novo status do veículo na conta do jogador como ativado. else outputChatBox ("Modificação do veículo 490 desativada.") startVehMod (parameter) -- Desativa o mod do veículo. triggerServerEvent ("saveVehMod.490", localPlayer, false) -- Manda o false para o server-side, que irá salvar o status do veículo na conta do jogador como desativado. end end addCommandHandler ("veh490", vehManagement) -- Como funciona: /veh490 true ou então /veh490 false Obs: Não testado, fiz de cabeça e serve apenas como exemplo. Edit: Obrigado.
-
tonumber é uma função que precisa de argumentos pra funcionar. Não tem como usá-la sozinha sem nada.
-
Está com erro no resto do seu script. Na parte que vc está dando algum valor pra variável weapon.
-
weapon está com valor nil (nulo)
-
É mais fácil vc simplesmente fazer a imagem com dxDrawImage. Assim, ela só aparece nos frames que o jogador estiver com mais de 180 de ping. local x, y = guiGetScreenSize() function teste () if (getPlayerPing (localPlayer) > 180) then dxDrawImage (x*0.85, y*0.85, x*0.03, y*0.05, "net.png") end end addEventHandler ("onClientRender", root, teste)
-
Vc colocou thePed no lugar de testPed
-
GivePedWeapon
-
Por isso vc faz com accountData em vez de elementData. Pois dai vc salva os dados entre as sessões de jogo.
-
No notepad++ também dá pra configurar o TAB pra ser espaços em vez de tabulação. Se não me engano, fica em Preferences >> Language.
-
Sim, use o Resource:Bone_attach
-
Não entendi direito o que vc quer fazer. É pra destruir o guiCreateStaticImage?
-
Só dá pra fazer com animações específicas. Não são todas.
-
Sendo mais claro, por ser uma função client-side, você pode simplesmente determinar qual client vai executar ela em vez de anexar a função no onClientResourceStart. Daria pra você fazer server-side uma função com onPlayerLogin, se a conta do jogador que logou tiver tal data, faz um triggerClientEvent pra ativar o veículo pra ele. Isso iria ativar somente no cliente desse determinado jogador que logou. Os demais jogadores continuariam vendo o veículo original.
-
Indentação faz parte da programação. Se você já passou pelo trabalho de programar (o que já deveria ter feito indentando em vez de fazer depois), a parte de indentar é tranquila. Tenho uma pergunta pra vc: Indentação com espaços ou com tabulações? Qual deles vc usa?
-
Indentação manual no notepad++. Seleciona as linhas e aperta TAB pra adicionar 1 nível de indentação. Pra recuar um nível de indentação, usa Shift+TAB.
-
Não seria time no lugar dos "day."?
-
Introdução ao Scripting Introdução a Recursos
-
Você pode usar bindKey na tecla X e cada vez que apertar, faz um setElementData no jogador. Dependendo dessa data, vai usar automaticamente determinado chat.
-
addBan para banir um IP, serial ou nick sem precisar do jogador online. Sobre o getAccountID, vc precisa de uma conta como argumento. Eu usaria em vez disso o getAccountByID que usa o ID como argumento.
-
Na linha 31 você está usando a variável MensagemFalandoRapidoDemaisLocal que não foi declarada em lugar nenhum. Mesma coisa nos outros chats.
-
Qual erro aparece no /debugscript 3?
-
Pegou símbolo invisível do fórum. Reescreva as funções que passei em vez de copiar direto.
-
@MatheusKJ Utilize o botão <> do fórum para postar códigos.
