-
Posts
3,875 -
Joined
-
Days Won
67
Everything posted by DNL291
-
Troque por 'selectedPlayer'.
-
dxDrawText é separada do evento onClientGUIClick. Coloque ela em outra função com o evento onClientRender.
-
Sim, é só remover que também "reseta" criando outra nova.
-
Aquela variável era do código antigo, usando o meu último código não vai precisar dela.
-
Então você pode deixar mais simples: dxDrawText( (weapons[2] and "V" or "X"), screenW * 0.3750, screenH * 0.3167, screenW * 0.4336, screenH * 0.3583, tocolor(255, 255, 255, 255), 1.00, "clear", "center", "center", false, false, false, true, false)
-
A verificação não vai mudar muito, se o slot tiver vazio vai retornar nil. Mas ali no DX você pode deixar assim: local slot2Text = weapons[2] and "Com ".. getWeaponNameFromID(weapons[2]) or "Sem arma" if selectedPlayer then -- se Não quiser que mostre o dx apenas quando selecionar uma row remova essa verificação dxDrawText( slot2Text, screenW * 0.3750, screenH * 0.3167, screenW * 0.4336, screenH * 0.3583, tocolor(255, 255, 255, 255), 1.00, "clear", "center", "center", false, false, false, true, false) end
-
Nunca resetei a internal.db e verifiquei se remove tudo. Nesses casos te recomendo fazer pela própria internal, nela vai ter 3 tabelas: accounts, userdata e serialusage o que você deve se certificar é de que todas estejam vazias. Mas que bom que já conseguiu resolver.
-
function click (button, state, absoluteX, absoluteY) local sr = guiGridListGetSelectedItem (source) if sr and sr ~= -1 then local playerName = guiGridListGetItemText (source, sr, 1) local thePlayer = _getPlayerFromName (playerName) if isElement(thePlayer) then for i=1,12 do local w = getPedWeapon ( thePlayer, i ) if w and w ~= 0 then weapons[i] = { w } end end selectedPlayer = thePlayer end else selectedPlayer = nil weapons = {} end end Isso deve funcionar.
-
Sim, até onde sei, com shader dá pra mudar roupas de outro skin, mas é claro que não vai funcionar como o CJ.
-
Ah, é que retorna 0 se não tiver arma no slot, e no código não tem nenhuma verificação.
-
Armazena o jogador quando seleciona, e quando 'des-seleciona' remove o player da variável. A propósito, você já testou o código?
-
"Freeze" no ALT+TAB
DNL291 replied to PrisonSong's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Baixe e execute o Diagnóstico do MTA: https://nightly.multitheftauto.com/files/MTADiag.exe Após a verificação, cole aqui o link do log gerado (o link já estará copiado no seu clipboard ou Ctrl+c). -
He said "respawn cars every 10 minutes", so I understood that he wants to respawn even if the vehicle is not idle or blown. But for some reason, it looks like he just wants the resource to be restarted so ..
-
Digite /debugscript 3 sempre que testar um script. Sim, o código é server-side, tente isto: outputChatBox("Resource give money iniciado!",root) function giveMoney(thePlayer, cmd, amount) if (amount) then local amount = tonumber(amount) for index, player in ipairs(getElementsByType("player")) do if (player ~= thePlayer) then givePlayerMoney(player, amount) outputChatBox(getPlayerName(thePlayer) .." Lhe Enviou#00FF00 R$".. tostring(amount) .."!",player,0,255,0) end end else outputChatBox("Erro: digite a quantia a ser enviada!",thePlayer,255,0,0) end end addCommandHandler( "givecash", giveMoney) Se não funcionar provavelmente é o seu arquivo meta errado.
-
Se não funcionar, mostre aqui seu código por favor.
-
Tente assim: local weapons = {} local selectedPlayer function click (button, state, absoluteX, absoluteY) local sr = guiGridListGetSelectedItem (source) if sr and sr ~= -1 then local playerName = guiGridListGetItemText (source, sr, 1) local thePlayer = _getPlayerFromName (playerName) if isElement(thePlayer) then for i=1,12 do weapons[i] = { getPedWeapon ( thePlayer, i ) } end selectedPlayer = thePlayer end else selectedPlayer = nil weapons = {} end end if selectedPlayer and weapons[2] then dxDrawText("Pistola (#00FF00?#FFFFFF)", screenW * 0.3750, screenH * 0.3167, screenW * 0.4336, screenH * 0.3583, tocolor(255, 255, 255, 255), 1.00, "clear", "center", "center", false, false, false, true, false) else dxDrawText("Pistola (#FF0000?#FFFFFF)", screenW * 0.3750, screenH * 0.3167, screenW * 0.4336, screenH * 0.3583, tocolor(255, 255, 255, 255), 1.00, "clear", "center", "center", false, false, false, true, false) end
-
Já testou com uma textura diferente? Pode ser a textura bugada.
-
Você pode deletar com esse código: addEventHandler( "onResourceStart", resourceRoot, function() for _,a in pairs(getAccounts()) do if removeAccount(a) then outputChatBox( "conta: "..tostring(getAccountName(a)).." removida", root, 230,230,230 ) else outputChatBox( "Erro ao remover conta: "..tostring(getAccountName(a)), root, 230, 30, 30 ) end end outputChatBox( "Total de contas: "..tostring(#getAccounts()), root, 142, 255, 142 ) end ) meta.xml: <meta> <script src="server.lua" /> </meta> Crie o arquivo server.lua e coloque o código Lua dentro; o mesmo com o meta.xml. Deixe os 2 arquivos numa pasta, mova para a pasta dos resources e depois dê o comando refresh e ligue-o. Lembre-se de adicionar o resource na acl. Abra o painel Admin > aba 'Resource' > clique em 'Manage ACL' > clique no grupo Admin e adicione o resource: resource.nome_do_resource. Você também pode resetar abrindo a internal.db. Se tiver pouco conhecimento em criar um resource, ligar, etc, te recomendo fazer isso.
-
Se não estou enganado, essa função precisa de privilégios na ACL. E não, apenas com a função você não vai conseguir remover todas contas. Pra isso você vai precisar fazer um loop em todas contas com a função getAccounts.
-
Sim, com esta função: https://wiki.multitheftauto.com/wiki/RemoveAccount
-
Or maybe you just want to respawn vehicles with these functions: setVehicleRespawnPosition -- optional setTimer getElementsByType -- getElementsByType("vehicle", resourceRoot) : to retrieve all vehicles created on the same resource whose function is) respawnVehicle
-
Retorna a string ou texto da row selecionada.
-
Uma observação: no evento onClientResourceStart troque root por resourceRoot com root a janela será criada quando qualquer resource do server for iniciado.
-
1 - dentro do evento onClientGUIClick 2 - Como você removeu os códigos em hex. dos nicks na gridList, você vai precisar obter o jogador assim, por exemplo: function _getPlayerFromName( name ) if not (name) then return false end -- for i,p in pairs(getElementsByType("player")) do if getPlayerName(p):gsub("#%x%x%x%x%x%x", "") == name then return p end end return false end Feito isso só substituir o uso da função getPlayerFromName por essa. Para verificar element-data você vai usar o jogador obtido com a função acima, e para as armas faça um loop com a função getPedWeapon verificando o slot do jogador com os slots de 0 a 12.