gorz 1 Postado Fevereiro 21, 2011 Share Postado Fevereiro 21, 2011 (editado) Gente,quando eu uso o reset aparece na tela escrito: you now was reset, you have 1 reset.you now was reset, you have 2 reset.you now was reset, you have 3 reset e assim por diante,sendo que o cara tinha que voltar pro templo,ficar lvl 8 denovo e mudar a vocation,so q nada disso aconteceu.Me ajudem ae plz. function onSay(cid, words, param) config = { level= 1000, -- level para resetar RemainingLvl=8, -- level que ficara depois do reset exper=4200, -- Experiência que ficara depois do Reset pid=getPlayerGUID(cid), -- Não Mecha skull="yes", -- Players com Skull podem resetar "yes" para sim e "no" para não redskull="yes",-- Players com Red Skull podem resetar "yes" para sim e "no" para não prot="yes", -- precisa estar em area pz para resetar "yes" para sim e "no" para não bat="yes", -- player com fight pode resetar "yes para sim e "no" para não voc = getPlayerVocation(cid), -- Não mecha mana = 35, -- mana que ficara após o reset health = 185 -- Health que ficara após o reset } function getResets(cid) reset = getPlayerStorageValue(cid,1020) if reset < 0 then reset = 0 end return reset end if(config.skull == "no") and (getCreatureSkullType(cid) == 3) then doPlayerSendTextMessage(cid, 24, "apenas players sem white skull podem resetar.") return TRUE end if(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"apenas player sem red skull podem resetar.") return TRUE end if(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder resetar.") return TRUE end if(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder resetar.") return TRUE end if getPlayerLevel(cid) >= config.level then setPlayerStorageValue(cid,1020,getResets(cid)+1) doPlayerPopupFYI(cid,"you now was reset, you have "..getResets(cid)+(1).." reset\'s.") doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter doPlayerSetVocation(cid, 6) -- Vocação que o player ficara após o reset doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana.." WHERE `id` = "..config.pid) else doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end end Editado Fevereiro 21, 2011 por GbLord Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 21, 2011 Share Postado Fevereiro 21, 2011 claro,está para executar o script só se o jogador tiver a vocation 2 =X Link para o comentário Compartilhar em outros sites More sharing options...
gorz 1 Postado Fevereiro 21, 2011 Autor Share Postado Fevereiro 21, 2011 mano se n itendeu...quando eu uso o !reset n importa a vocation,nao acontece nada,a unica coisa q aparece e a mensagem ''you now have x resets'' Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 21, 2011 Share Postado Fevereiro 21, 2011 (editado) quer ensinar padre a rezar missa agora? vo te explicar então sabidão if getPlayerLevel(cid) >= config.level then setPlayerStorageValue(cid,1020,getResets(cid)+1) doPlayerPopupFYI(cid,"you now was reset, you have "..getResets(cid)+(1).." reset\'s.") doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) se o jogador tiver o level e não tiver a vocação será executado só até ai. if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter doPlayerSetVocation(cid, 6) -- Vocação que o player ficara após o reset doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana.." WHERE `id` = "..config.pid) else doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end agora presta bem a atenção se o jogador tiver a vocação 2 o script vai ser executado caso ele não tiver olha a mensagem que vai mandar "Você precisa do level "..config.level.." ou mais para resetar." agora me diz... oque tem a ver a vocation do player com o level para resetar? me diz oque você quer que seu script faça que eu poderei te ajudar,por exemplo a vocation 1 vai pra 5 a vocation 2 vai pra 6 e assim por diante... é isso? Editado Fevereiro 21, 2011 por Vodkart Link para o comentário Compartilhar em outros sites More sharing options...
gorz 1 Postado Fevereiro 21, 2011 Autor Share Postado Fevereiro 21, 2011 Vocacao 2 = druid. Olha na print oq acontece quando eu uso o reset: http://img232.imageshack.us/f/bugak.png/ Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 21, 2011 Share Postado Fevereiro 21, 2011 function onSay(cid, words, param) config = { level= 1000, -- level para resetar RemainingLvl=8, -- level que ficara depois do reset exper=4200, -- Experiência que ficara depois do Reset pid=getPlayerGUID(cid), -- Não Mecha skull="yes", -- Players com Skull podem resetar "yes" para sim e "no" para não redskull="yes",-- Players com Red Skull podem resetar "yes" para sim e "no" para não prot="yes", -- precisa estar em area pz para resetar "yes" para sim e "no" para não bat="yes", -- player com fight pode resetar "yes para sim e "no" para não mana = 35, -- mana que ficara após o reset health = 185 -- Health que ficara após o reset } function getResets(cid) reset = getPlayerStorageValue(cid,1020) if reset < 0 then reset = 0 end return reset end if(config.skull == "no") and (getCreatureSkullType(cid) == 3) then doPlayerSendTextMessage(cid, 24, "apenas players sem white skull podem resetar.") return TRUE elseif(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"apenas player sem red skull podem resetar.") return TRUE elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder resetar.") return TRUE elseif(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder resetar.") return TRUE end if getPlayerLevel(cid) >= config.level then if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter setPlayerStorageValue(cid,1020,getResets(cid)+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) setPlayerPromotionLevel(cid, 1) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana.." WHERE `id` = "..config.pid) else doPlayerSendCancel(cid, "Você precisa ser druid para resetar.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end Link para o comentário Compartilhar em outros sites More sharing options...
gorz 1 Postado Fevereiro 22, 2011 Autor Share Postado Fevereiro 22, 2011 Ae,parece ta funcionando esse,so deu esse probleminha aki: [21/02/2011 21:43:52] Lua Script Error: [TalkAction Interface] [21/02/2011 21:43:52] data/talkactions/scripts/reset.lua:onSay [21/02/2011 21:43:52] data/talkactions/scripts/reset.lua:40: attempt to call global 'getTownTemplePosition' (a nil value) [21/02/2011 21:43:52] stack traceback: [21/02/2011 21:43:52] [C]: in function 'getTownTemplePosition' [21/02/2011 21:43:52] data/talkactions/scripts/reset.lua:40: in function <data/talkactions/scripts/reset.lua:1> Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 22, 2011 Share Postado Fevereiro 22, 2011 está dizendo que não possui essa função coloca então de vez de: doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) põe: doTeleportThing(cid, {x = 157, y = 50, z = 7}) ai vc coloca a coordenada certa do seu templo. Link para o comentário Compartilhar em outros sites More sharing options...
gorz 1 Postado Fevereiro 22, 2011 Autor Share Postado Fevereiro 22, 2011 (editado) O player esta indo para o templo,porem ainda nao esta sendo resetado e aparece o seguinte erro: Sera que e porque o ot e vercao 8.7 ou sera q da pra resolve isso? [21/02/2011 22:24:51] Lua Script Error: [TalkAction Interface] [21/02/2011 22:24:51] data/talkactions/scripts/reset.lua:onSay [21/02/2011 22:24:51] data/talkactions/scripts/reset.lua:41: attempt to call global 'setPlayerPromotionLevel' (a nil value) [21/02/2011 22:24:51] stack traceback: [21/02/2011 22:24:51] [C]: in function 'setPlayerPromotionLevel' [21/02/2011 22:24:51] data/talkactions/scripts/reset.lua:41: in function <data/talkactions/scripts/reset.lua:1> Editado Fevereiro 22, 2011 por GbLord Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 22, 2011 Share Postado Fevereiro 22, 2011 Versão 8.7? ta explicado,nos distros estão faltando muita função,nem vale a pena perde tempo vei. Link para o comentário Compartilhar em outros sites More sharing options...
gorz 1 Postado Fevereiro 22, 2011 Autor Share Postado Fevereiro 22, 2011 acho q ta quase conseguindo,pq ta tudo funcionando.So falta mesmo o player volta pro lvl 8 e evoluir de classe Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 22, 2011 Share Postado Fevereiro 22, 2011 Faz tudo pela database então,ve se da certo. function onSay(cid, words, param) config = { level= 1000, -- level para resetar RemainingLvl=8, -- level que ficara depois do reset exper=4200, -- Experiência que ficara depois do Reset pid=getPlayerGUID(cid), -- Não Mecha skull="yes", -- Players com Skull podem resetar "yes" para sim e "no" para não redskull="yes",-- Players com Red Skull podem resetar "yes" para sim e "no" para não prot="yes", -- precisa estar em area pz para resetar "yes" para sim e "no" para não bat="yes", -- player com fight pode resetar "yes para sim e "no" para não mana = 35, -- mana que ficara após o reset health = 185, -- Health que ficara após o reset new_voc = 6 } function getResets(cid) reset = getPlayerStorageValue(cid,1020) if reset < 0 then reset = 0 end return reset end if(config.skull == "no") and (getCreatureSkullType(cid) == 3) then doPlayerSendTextMessage(cid, 24, "apenas players sem white skull podem resetar.") return TRUE elseif(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"apenas player sem red skull podem resetar.") return TRUE elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder resetar.") return TRUE elseif(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder resetar.") return TRUE end if getPlayerLevel(cid) >= config.level then if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter setPlayerStorageValue(cid,1020,getResets(cid)+1) doTeleportThing(cid, {x = 160, y = 54, z = 7}) -- pos do seu templo doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana..",`vocation` = ".. new_voc .." WHERE `id` = "..config.pid) else doPlayerSendCancel(cid, "Você precisa ser druid para resetar.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) end return TRUE end Link para o comentário Compartilhar em outros sites More sharing options...
gorz 1 Postado Fevereiro 22, 2011 Autor Share Postado Fevereiro 22, 2011 Aff,apareceu erro denovo.Se esse erro for dificil de corrigi sera q da pra faze em npc sem ser talkaction? [22/02/2011 13:10:56] Lua Script Error: [TalkAction Interface] [22/02/2011 13:10:56] data/talkactions/scripts/reset.lua:onSay [22/02/2011 13:10:56] data/talkactions/scripts/reset.lua:42: attempt to index global 'db' (a nil value) [22/02/2011 13:10:56] stack traceback: [22/02/2011 13:10:56] [C]: in function '__index' [22/02/2011 13:10:57] data/talkactions/scripts/reset.lua:42: in function <data/talkactions/scripts/reset.lua:1> Link para o comentário Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Fevereiro 22, 2011 Share Postado Fevereiro 22, 2011 (editado) rairairairai falei cara,deixa pra próxima,os distros tão um lixo mesmo. e não adianta fazer pelo npc,porque se usa as mesmas funções. Editado Fevereiro 22, 2011 por Vodkart Link para o comentário Compartilhar em outros sites More sharing options...
gorz 1 Postado Fevereiro 22, 2011 Autor Share Postado Fevereiro 22, 2011 ixi,ok intao =/ ow mais se pode edita um npc pramim que faz o cara ir evoluido tipo,comeca na vocation 1,dps no lvl 1000 vai pra a vocation 2,no lvl 3000 vai pra a 3,no lvl 6000 vai pra a 4,no lvl 12000 vai pra a 5,no lvl 24000 vai pra a 6,no lvl 48000 vai para a 7 e no lvl 960000 vai pra a vocation numero 8? Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados