Cristtk Posted October 2, 2019 Share Posted October 2, 2019 Ola, vocês poderiam me ajudar a fazer um sistema de payday que paga somente as pessoas que estão no grupo(Utilizo banco da dados MYSQL). Segui abaixo o script function Funcionar (source) local Money_Pagamento = 1000 outputChatBox ('#FF6565 -------- Pagamento do Banco --------',getRootElement(),255,255,255,true) outputChatBox (' ',getRootElement(),255,255,255,true) outputChatBox ('#80FF00 O Banco Lhe Pagou: #FFFFFF'..Money_Pagamento,getRootElement(),255,255,255,true) outputChatBox (' ',getRootElement(),255,255,255,true) givePlayerMoney (getRootElement(),Money_Pagamento) end setTimer (Funcionar,5000,0) Eu tinha feito um script de abrir um portão e funcionou myGate1 = createObject ( 980, 1540.6999511719,-1625.9000244141 ,15.10000038147,360, 360, 90 ) Zona = createColCircle ( 1540.303, -1626.207, 6, 6 ) function Portao1(thePlayer) if getElementData(thePlayer, "char.factionID") == 190 then moveObject (myGate1, 3000, 1540.7001953125,-1625.900390625,20.39999961853 ) end end addEventHandler ( "onColShapeHit", Zona, Portao1 ) function Portao2(thePlayer) if getElementData(thePlayer, "char.factionID") == 190 then moveObject (myGate1, 3000, 1540.6999511719,-1625.9000244141 ,15.10000038147 ) end end addEventHandler ( "onColShapeLeave", Zona, Portao2 ) Preciso que só as pessoas que estajam no "(cha.factionID) == 190 " recebam o pagamento. No script do portão foi facil fazer, mas o payday ta complicado. Link to comment
DNL291 Posted October 3, 2019 Share Posted October 3, 2019 Tem esta função útil: getPlayersByData Faça um loop nela depois givePlayerMoney Link to comment
VictorScripting Posted October 3, 2019 Share Posted October 3, 2019 AMIGO PARA FACILITAR FIZ ISSO: function Funcionar (source) local Money_Pagamento = 1000 local Money_Pagamento190 = 5000 -- pagamento do grupo 190, só editar o valor !!! local Money_Pagamento191 = 8000 -- mesma coisa de cima só mudei pra 191 pra vc saber de qual grupo é !!! if getElementData(thePlayer, "char.factionID") == 0 then -- se o player não for de nenhuma facção no caso = 0 Então vai aconetecer a linha de comandos abaixo: outputChatBox ('#FF6565 -------- Pagamento do Banco --------',getRootElement(),255,255,255,true) outputChatBox (' ',getRootElement(),255,255,255,true) outputChatBox ('#80FF00 O Banco Lhe Pagou: #FFFFFF'..Money_Pagamento,getRootElement(),255,255,255,true) outputChatBox (' ',getRootElement(),255,255,255,true) givePlayerMoney (getRootElement(),Money_Pagamento) elseif getElementData(thePlayer, "char.factionID") == 190 then outputChatBox ('#FF6565 -------- Pagamento do Banco --------',getRootElement(),255,255,255,true) outputChatBox (' ',getRootElement(),255,255,255,true) outputChatBox ('#80FF00 O Banco Lhe Pagou: #FFFFFF'..Money_Pagamento,getRootElement(),255,255,255,true) outputChatBox (' ',getRootElement(),255,255,255,true) outputChatBox ('#80FF00 Seu grupo lhe pagou: #FFFFFF'..Money_Pagamento190,getRootElement(),255,255,255,true) -- no caso alir, irá aparecer a mesagem mostrando o valor da variável: local Money_Pagamento190 = 5000 givePlayerMoney (getRootElement(),Money_Pagamento190 + Money_Pagamento) -- irá dar o dinheiro para o player, ele vai dar o salário normal + o dinheiro do grupo !!!! end setTimer (Funcionar,5000,0) -- caso for usar mais grupo é so adicionar um nova variavel e criar a elseif !!!!! ESTÁ TUDO EXPLICANDO AEW (NÃO TESTEI) ESPERO TER LHE AJUDADO Link to comment
DNL291 Posted October 3, 2019 Share Posted October 3, 2019 debugscript: - Falta um end - A função 'Funcionar' não terá parâmetros, pois nada foi passado em setTimer - thePlayer vai retornar nil - givePlayerMoney deve ter um player especificado, não vai funcionar com root. Conselho para melhorar o código: Deixe as variáveis local fora da função, assim ela já estará definida quando iniciar o script, sem precisar recriá-la no timer. Evitar aviso no debug: verifique se tem a element-data antes de comparar com o valor. Eu também evitaria esse excesso de outputs, o ideal é usar um log para o pagamento do player, poderia ser no painel do jogador, celular, etc. Pode ser irritante para alguns, a cada intervalo ficar sempre essas outputs. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now