Jump to content

#DeltaSCR

Members
  • Posts

    395
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by #DeltaSCR

  1. Consegue sim amigo, só acessar o meu perfil e enviar mensagem
  2. Como eu posso fazer a verificação das armas?
  3. Usei o conselho dos dois, deixei a guiEdit somente para números, mas tive que manter a transformação tonumber, pois se eu remover o mesmo, dará erro na minha aritmética mais a frente.
  4. Poste o código para te ajudarmos Tente verificar se tem o evento onPlayerWasted
  5. Ok, vou ajeitar essa questão da gambiarra... Mas quanto essa verificação da arma? Alguma solução?
  6. Porque a "gambiarra" funcionou tranquilo, mas pode influenciar nessa parte da verificação das armas?
  7. Ok, sei que é mais difícil, porém ainda sim desejo aprender com a database mesmo, sem ser a do próprio MTA...
  8. Nesse mesmo código eu executo uma verificação para ver se o Jogador que está com o Painel aberto tem uma arma de ID 25 no Slot 3, porém tenho certeza que esta verificação está incorreta, podem me ajudar a corrigi-lá? elseif cursorPosition(screenW * 0.5273, screenH * 0.3583, screenW * 0.0117, screenH * 0.0417) then --//VENDER-SHOTGUN if (tonumber(guiGetText(EditShotgun))) then if (getPedWeapon(localPlayer, 3) == 25) then outputChatBox("INFO: #FFFFFFVocê vendeu sua arma com sucesso", 200, 50, 0, true) else outputChatBox("ERRO: #FFFFFFVocê não possui uma Shotgun", 200, 50, 0, true) end else outputChatBox("ERRO: #FFFFFFPor favor, preencha o campo com um número válido", 200, 50, 0, true) end end
  9. O propósito é que vou precisar fazer alguns calculos, por isso vou precisar que o texto da guiEdit seja um número
  10. E como eu faço isso? Do jeito do @#DaNiLiN?
  11. Ah sim, editei o código sinalizando a linha com erro Tem ideia de como resolver?
  12. Tem sim, porém com nomes diferentes EditShotgun = guiCreateEdit(0.34, 0.34, 0.13, 0.04, "Munições Shotgun", true) guiSetAlpha(EditShotgun, 0.85) guiSetVisible (EditShotgun, false) --// MUNIÇOES AK-47 EditAK47 = guiCreateEdit(0.34, 0.40, 0.13, 0.04, "Munições AK-47", true) guiSetAlpha(EditAK47, 0.85) guiSetVisible (EditAK47, false) --// MUNIÇOES PISTOLA EditPistola = guiCreateEdit(0.34, 0.46, 0.13, 0.04, "Munições Pistola", true) guiSetAlpha(EditPistola, 0.85) guiSetVisible (EditPistola, false) textPistol = guiGetText(EditPistola) textAK47 = guiGetText(EditAK47) textShotgun = guiGetText(EditShotgun) function purchaseWeapons(button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedWorld) if DirectX == true then local playerMoney = getPlayerMoney(localPlayer) if state == "down" then if cursorPosition(screenW * 0.4609, screenH * 0.5500, screenW * 0.0117, screenH * 0.0417) then --//PISTOLA if (tonumber(guiGetText(EditPistola))) then weapon, ammo, price, weaponName = 22, tonumber(textPistol), 10000 + 150 * tonumber(textPistol), "Colt 45" -- Linha com erro triggerServerEvent("DeltaSCR:Buy", localPlayer, weapon, ammo, price, weaponName) DeltaAbrir() else outputChatBox("ERRO: #FFFFFFPor favor, preencha o campo com um número válido", 200, 50, 0, true) end elseif cursorPosition(screenW * 0.3438, screenH * 0.6667, screenW * 0.1172, screenH * 0.0417) then --//AK-47 weapon, ammo, price, weaponName = 20, 280, 18000, "AK-47" triggerServerEvent("DeltaSCR:Buy", localPlayer, weapon, ammo, price, weaponName) DeltaAbrir() elseif cursorPosition(screenW * 0.3438, screenH * 0.6083, screenW * 0.1172, screenH * 0.0417) then --//SHOTGUN weapon, ammo, price, weaponName = 25, 120, 25000, "Shotgun" triggerServerEvent("DeltaSCR:Buy", localPlayer, weapon, ammo, price, weaponName) DeltaAbrir() end end end end addEventHandler ("onClientClick", root, purchaseWeapons)
  13. Ta, agora surgiu um outro problema: if (tonumber(guiGetText(EditPistola))) then weapon, ammo, price, weaponName = 22, tonumber(textPistol), 10000 + 150 * tonumber(textPistol), "Colt 45" triggerServerEvent("DeltaSCR:Buy", localPlayer, weapon, ammo, price, weaponName) DeltaAbrir() else outputChatBox("ERRO: #FFFFFFPor favor, preencha o campo com um número válido", 200, 50, 0, true) end O que eu quero que aconteça: Primeiro eu quero que a função só continue a ser executada se o o texto obtido do da guiEdit seja um número Seja enviada ao triggerServerEvent os seguintes dados: munição(número obtido no guiEdit); se ele comprou mais de uma munição, então o preço enviado ao server será 10k mais 150 multiplicado pela quantidade de munições obtidas na guiEdit
  14. Aí eu devo fazer no guiGetText da outra função lá em cima também, correto?
  15. Olá, em um código em desenvolvimento, me deparei como a necessidade de converter e verificar Texto/Números; Como Assim? Primeiro eu criei uma guiEdit , porém tenho que obter o texto dela depois, só que, eu só quero que a função continue, se o texto dessa guiEdit for números, é possível fazer isso? Se sim, podem me ajudar? OBS: A função "DeltaPainel citada nas linhas 10 e 15, são referentes ao DX, Cujo não postei o mesmo" client-side DirectX = false --// MUNIÇOES PISTOLA EditPistola = guiCreateEdit(0.34, 0.46, 0.13, 0.04, "Munições Pistola", true) guiSetAlpha(EditPistola, 0.85) guiSetVisible (EditPistola, false) function DeltaAbrir() if DirectX == false then addEventHandler("onClientRender", root, DeltaPainel) guiSetVisible (EditPistola, true) showCursor(true) DirectX = true else removeEventHandler("onClientRender", root, DeltaPainel) guiSetVisible (EditPistola, false) showCursor(false) DirectX = false end end addCommandHandler("armas", DeltaAbrir) function ammoData() if DirectX == true then textPistol = guiGetText(EditPistola) end end function purchaseWeapons(button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedWorld) if DirectX == true then local playerMoney = getPlayerMoney(localPlayer) if state == "down" then if cursorPosition(screenW * 0.4609, screenH * 0.5500, screenW * 0.0117, screenH * 0.0417) then --//PISTOLA if guiGetText(editPistola) == "Munições Pistola" then return outputChatBox("ERRO: #FFFFFFPreencha o campo de munições com um número valido", 200, 50, 0, true) else weapon, ammo, price, weaponName = 22, textPistol, 10000 + (150 * textPistol), "Colt 45" triggerServerEvent("DeltaSCR:Buy", localPlayer, weapon, ammo, price, weaponName) DeltaAbrir() end end end end end addEventHandler ("onClientClick", root, purchaseWeapons) server-side function deltascrbuy(weapon, ammo, price, weaponName) local playerMoney = getPlayerMoney(source) if playerMoney >= price then takePlayerMoney(source, price) giveWeapon(source, weapon, ammo, true) outputChatBox("ERRO: #FFFFFFVocê comprou uma "..weaponName.." com um total de "..ammo.." munições por R$"..price.."", source, 200, 50, 0, true) else outputChatBox("ERRO: #FFFFFFVocê não possuí a quantia de R$"..price.." para comprar uma "..weaponName.."", source, 200, 50, 0, true) end end addEvent("DeltaSCR:Buy", true) addEventHandler("DeltaSCR:Buy", root, deltascrbuy)
  16. Tente assim: function curarPlayer(thePlayer, command, nameP) if nameP then if getPlayerFromPartialName(nameP) then local conta = getAccountName (getPlayerAccount(thePlayer)) if isObjectInACLGroup("user."..conta, aclGetGroup("SAMU")) then local namePlayer = getPlayerFromPartialName(nameP) local nameR = getPlayerName(namePlayer) local wanted = getPlayerWantedLevel(namePlayer) local px, py, pz = getElementPosition(thePlayer) local rx, ry, rz = getElementPosition(namePlayer) local distancia = getDistanceBetweenPoints3D(px, py, pz, rx, ry, rz) local medKit = getElementData(thePlayer, "KitMedico") if (distancia > 3) then outputDxBox(thePlayer, "Você precisa chegar mais perto do jogador para curá-lo.", "error") elseif (distancia < 2) then if getElementData(namePlayer, "playerFallen") then if medKit > 0 then setPedAnimation(thePlayer, "BOMBER", "BOM_Plant", 1000, false) destroyElement(blip[namePlayer]) setElementData(thePlayer, "KitMedico", medKit - 1) outputDxBox(thePlayer, "Curando jogador...", "info") setTimer(function() setPedAnimation(thePlayer, "ped", "facanger") setPedAnimation(namePlayer, "ped", "facanger") setElementFrozen(thePlayer, false) --// Aqui acrescentei a função de descongelar os players setElementFrozen(namePlayer, false) --// " " " end, 5000, 1) setTimer(outputDxBox, 5000, 1, thePlayer, "Você curou o jogador "..nameR, "success") setTimer(outputDxBox, 5000, 1, thePlayer, "Caso fique bugado use #00ff00/debug", "success") setTimer(outputDxBox, 5000, 1, namePlayer, "Você foi curado por um médico!", "success") setTimer(outputDxBox, 5000, 1, namePlayer, "Caso fique bugado use #00ff00/debug!", "success") setTimer(givePlayerMoney, 5000, 1, thePlayer, 3000) setTimer(setPlayerFallen, 5000, 1, namePlayer, false) else outputDxBox(thePlayer, "Você precisa de um Kit Médico.", "error") end else outputDxBox(thePlayer, "O jogador não precisa ser curado.", "error") end end else outputDxBox(thePlayer, "Permissão negada para teste comando!", "error") end end else outputDxBox(thePlayer, "Erro! O correto é /curar Nome", "error") end end addCommandHandler("curar", curarPlayer)
  17. Ta, mas agora fiquei em dúvida, setAccountData tem diferença com usar executeSQLQuery? Se sim, me explique pls
  18. Então se eu usar setAccountData, mesmo que o servidor reinicie eu não perco nada?
  19. Por que como eu te disse, quero produzir o código totalmente independente, pois exemplo, caso o servidor reinicie, se eu tiver o arquivo database, eu não perco nada
  20. @Tio.Andy Apresente o debugscript 3, é melhor para te ajudarmos.
  21. Tipo, o que vai acontecer é: O Player abre um painel de Skins, quando ele apertar no botão de usar, vai chegar a database; No caso só um arquivo mesmo de database, que vai ficar somente nos arquivos do Servidor
  22. Cara, use corretamente o fórum, desse jeito ninguém vai te ajudar, além do mais, você quer o código pronto?!
×
×
  • Create New...