Nadion Posted May 12, 2020 Share Posted May 12, 2020 Estou usando um script para dar dinheiro ao jogador que matar outro player que tenha dinheiro em mãos, a parte do dinheiro está certa, porém quando um jogador morre de fome ou possui uma morte não causada por outros players, ele ainda assim perde dinheiro, tentei usar um getElementType pro killer mas não está dando certo. function setMoneyOnWasted ( killer ) local money = getPlayerMoney(source) local perde = money/10 if getElementType( killer ) ~= "player" then cancelEvent() else if (money <=0) then cancelEvent() else takePlayerMoney ( source, perde ) end end end Link to comment
_Ace Posted May 12, 2020 Share Posted May 12, 2020 use onPlayerWasted (serverside) ja que ta alterando o dinheiro, pro evento onplayerwasted o killer é o segundo parametro: --server function setMoneyOnWasted (_, killer ) local money = getPlayerMoney(source) local perde = money/10 if getElementType( killer ) ~= "player" then cancelEvent() else if (money <=0) then cancelEvent() else takePlayerMoney ( source, perde ) end end end addEventHandler ( "onPlayerWasted", getRootElement(), setMoneyOnWasted ) testado e funcionando Link to comment
Nadion Posted May 12, 2020 Author Share Posted May 12, 2020 1 hour ago, _Ace said: use onPlayerWasted (serverside) ja que ta alterando o dinheiro, pro evento onplayerwasted o killer é o segundo parametro: --server function setMoneyOnWasted (_, killer ) local money = getPlayerMoney(source) local perde = money/10 if getElementType( killer ) ~= "player" then cancelEvent() else if (money <=0) then cancelEvent() else takePlayerMoney ( source, perde ) end end end addEventHandler ( "onPlayerWasted", getRootElement(), setMoneyOnWasted ) testado e funcionando Realmente funcionou, coloquei um "or" pra não perder quando o player comete suicídio também e funcionou, porém agora estou com outro problema, o jogador que mata não está recebendo dinheiro, vou mandar o código completo: function setMoneyOnWasted (_, killer ) local money = getPlayerMoney(source) local perde = money/10 if getElementType( killer ) ~= "player" or ( killer == source ) then cancelEvent() else if (money <=0) then cancelEvent() else takePlayerMoney ( source, perde ) end end end addEventHandler ( "onPlayerWasted", getRootElement(), setMoneyOnWasted ) function rewardOnWasted ( ammo, killer, killerweapon, bodypart ) if ( killer ) and ( killer ~= source ) then givePlayerMoney ( killer, perde ) end end addEventHandler ( "onPlayerWasted", getRootElement(), rewardOnWasted ) Link to comment
_Ace Posted May 12, 2020 Share Posted May 12, 2020 (edited) 20 minutes ago, Nadion said: Realmente funcionou, coloquei um "or" pra não perder quando o player comete suicídio também e funcionou, porém agora estou com outro problema, o jogador que mata não está recebendo dinheiro, vou mandar o código completo no mesmo momento que tira o dinheiro, ja pode fazer o pagamento: function setMoneyOnWasted (_, killer ) local money = getPlayerMoney(source) local perde = money/10 if getElementType( killer ) ~= "player" or ( killer == source ) then cancelEvent() else if (money <=0) then cancelEvent() else takePlayerMoney ( source, perde ) if killer~=source then givePlayerMoney ( killer, perde ) end end end end addEventHandler ( "onPlayerWasted", getRootElement(), setMoneyOnWasted ) Edited May 12, 2020 by _Ace 1 Link to comment
Nadion Posted May 12, 2020 Author Share Posted May 12, 2020 Agora foi, deveria ter feito isso mesmo, vacilei hahahaha, muito obrigado pela ajuda Ace! 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