Darkwath 8 Postado Dezembro 23, 2011 Share Postado Dezembro 23, 2011 olá tenho um ot global mas tem um bug no banco q fica com os platinum coins infinitos alguem pode me falar que bug é esse e como arrumar ele? Link para o comentário Compartilhar em outros sites More sharing options...
dreigon67 16 Postado Dezembro 23, 2011 Share Postado Dezembro 23, 2011 explique como funciona o bug Link para o comentário Compartilhar em outros sites More sharing options...
uarisneiper 6 Postado Dezembro 23, 2011 Share Postado Dezembro 23, 2011 (editado) como funciona o seu sistema? se for !deposit e !withdraw !deposit all e !withdraw all eu tenho um aqui que funciona mais nao foi eu quem fiz. vai em data/talkactions/scripts e cria uma PASTA chamada bank e coloque 7 arquivos.lua dentro com o nome de: balance witdraw deposit deposit_all transfer transfer_all withdraw_all dentro do balance coloca: function onSay(cid, words, param) local config = { bankSystemEnabled = getBooleanFromString(getConfigInfo('bankSystem')), playerIsFighting = hasCondition(cid, CONDITION_INFIGHT) } if config.bankSystemEnabled == TRUE then if config.playerIsFighting == FALSE then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your account balance is " .. getPlayerBalance(cid) .. ".") return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bank can not be used in fight.") return TRUE end else return FALSE end end dentro do withdraw function onSay(cid, words, param) local config = { bankSystemEnabled = getBooleanFromString(getConfigInfo('bankSystem')), playerIsFighting = hasCondition(cid, CONDITION_INFIGHT) } if config.bankSystemEnabled == TRUE then if config.playerIsFighting == FALSE then local m = tonumber(param) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Command requires param.") return TRUE end if(not m) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Command requires numeric param.") return TRUE end m = math.abs(m) if m <= getPlayerBalance(cid) then doPlayerWithdrawMoney(cid, m) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Here you are, " .. m .. " gold. Your account balance is " .. getPlayerBalance(cid) .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "There is not enough gold on your account.") end return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bank can not be used in fight.") return TRUE end else return FALSE end end dentro do deposit: function onSay(cid, words, param) local config = { bankSystemEnabled = getBooleanFromString(getConfigInfo('bankSystem')), playerIsFighting = hasCondition(cid, CONDITION_INFIGHT) } if config.bankSystemEnabled == TRUE then if config.playerIsFighting == FALSE then if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Command requires param.") return TRUE end local m = tonumber(param) if(not m) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Command requires numeric param.") return TRUE end m = math.abs(m) if m <= getPlayerMoney(cid) then doPlayerDepositMoney(cid, m) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Alright, you have added the amount of " .. m .. " gold to your balance. You can withdraw your money anytime you want to. Your account balance is " .. getPlayerBalance(cid) .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You do not have enough money.") end return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bank can not be used in fight.") return TRUE end else return FALSE end end dentro do deposit_all function onSay(cid, words, param) local config = { bankSystemEnabled = getBooleanFromString(getConfigInfo('bankSystem')), playerIsFighting = hasCondition(cid, CONDITION_INFIGHT) } if config.bankSystemEnabled == TRUE then if config.playerIsFighting == FALSE then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Alright, you have added the amount of " .. getPlayerMoney(cid) .. " gold to your balance. You can withdraw your money anytime you want to.") doPlayerDepositAllMoney(cid) return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bank can not be used in fight.") return TRUE end else return FALSE end end dentro do transfer function onSay(cid, words, param) local config = { bankSystemEnabled = getBooleanFromString(getConfigInfo('bankSystem')), playerIsFighting = hasCondition(cid, CONDITION_INFIGHT) } if config.bankSystemEnabled == TRUE then if config.playerIsFighting == TRUE then if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Command requires param.") return TRUE end local t = string.explode(param, ",") local m = tonumber(t[2]) local tmp = string.explode(t[2], ",") if(not m) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "No money specified.") return TRUE end m = math.abs(m) if m <= getPlayerBalance(cid) then if playerExists(t[1]) then doPlayerTransferMoneyTo(cid, t[1], m) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have transferred " .. m .. " gold to " .. t[1] .. ". Your account balance is " .. getPlayerBalance(cid) .. " gold.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Player " .. t[1] .. " does not exist.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "There is not enough gold on your account. Your account balance is " .. getPlayerBalance(cid) .. ". Please tell the amount of gold coins you would like to transfer.") end return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bank can not be used in fight.") return TRUE end else return FALSE end end dentro do transfer_all function onSay(cid, words, param) local config = { bankSystemEnabled = getBooleanFromString(getConfigInfo('bankSystem')), playerIsFighting = hasCondition(cid, CONDITION_INFIGHT) } if config.bankSystemEnabled == TRUE then if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Command requires param.") return TRUE end local t = string.explode(param, ",") if playerExists(param) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You have transferred " .. getPlayerBalance(cid) .. " gold to " .. param .. ".") doPlayerTransferAllMoneyTo(cid, param) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Player " .. param .. " does not exist.") return TRUE end else return FALSE end end e finalmente dentro do withdraw_all function onSay(cid, words, param) local config = { bankSystemEnabled = getBooleanFromString(getConfigInfo('bankSystem')), playerIsFighting = hasCondition(cid, CONDITION_INFIGHT) } if config.bankSystemEnabled == TRUE then if config.playerIsFighting == FALSE then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Here you are, " .. getPlayerBalance(cid) .. " gold.") doPlayerWithdrawAllMoney(cid) return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bank can not be used in fight.") return TRUE end else return FALSE end end e em talkactions.xml adicione essa tag: <!--------------Bank------------!> <talkaction words="!balance" event="script" value="Bank/balance.lua" /> <talkaction words="!deposit" event="script" value="Bank/deposit.lua" /> <talkaction words="!withdraw" event="script" value="Bank/withdraw.lua" /> <talkaction words="!depositall" event="script" value="Bank/deposit_all.lua" /> <talkaction words="!withdrawall" event="script" value="Bank/withdraw_all.lua" /> Editado Dezembro 23, 2011 por Uarisneiper Link para o comentário Compartilhar em outros sites More sharing options...
Darkwath 8 Postado Dezembro 23, 2011 Autor Share Postado Dezembro 23, 2011 o bug eu nao como é mas é durante a convers com o npc aparece 100 platinum coins que nunca somen Link para o comentário Compartilhar em outros sites More sharing options...
uarisneiper 6 Postado Dezembro 23, 2011 Share Postado Dezembro 23, 2011 o bug eu nao como é mas é durante a convers com o npc aparece 100 platinum coins que nunca somen entao é no npc vai em data/npc/scripts e vai no script que seu npc usa, depois disso ve qual é o id desse coin e muda pra um coin que funciona normalmente. por exemplo: ele ta usando o id 2180, voce vai la e muda pra 2160 Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados