Postado Maio 7, 2013 12 anos Este é um post popular. Olá King Tibianos, A pedido da usuária TathiiCarvalho criei um script que troca de vocação, mas ele apenas não troca de vocação como também adiciona health e mana de acordo com o level e reseta skills. Eu já havia feito o script de trocar de vocação, mas quando um Sorcerer ou Druid com ML 80 trocava para vocação Knight ele ficava com ML 80. Imagina um Knight ML 80, não da né. Tinha outro problema, um Sorcerer ou Druid Level 150 com HP 895 e MP 4225, ele muda para vocação Knight e fica com o mesmo HP e MP, como seria um Knight Level 150 com HP 895 e MP 4225? Também não da né. Então modifiquei o script para fixar esses "erros". Crie um arquivo chamado changevoc.lua na pasta data/actions/scripts e cole isso function onUse(cid, item, frompos, item2, topos) level = getPlayerLevel(cid)-8 pid = getPlayerGUID(cid) magehealth = level*5 -- Quantidade de vida que o Sorcerer e Druid ganha a cada level(mude apenas os numeros) magemana = level*30 -- Quantidade de mana que o Sorcerer e Druid ganha a cada level(mude apenas os numeros) paladinhealth = level*10 -- Quantidade de vida que o Paladin ganha a cada level(mude apenas os numeros) paladinmana = level*15 -- Quantidade de mana que o Paladin ganha a cada level(mude apenas os numeros) knighthealth = level*15 -- Quantidade de vida que o Knight ganha a cada level(mude apenas os numeros) knightmana = level*5 -- Quantidade de mana que o Knight ganha a cada level(mude apenas os numeros) if item.uid == 30000 then doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to sorcerer.') doPlayerSetVocation(cid, 1) setCreatureMaxHealth(cid, magehealth) setCreatureMaxMana(cid, magemana) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end if item.uid == 30001 then doPlayerSetVocation(cid, 2) setCreatureMaxHealth(cid, magehealth) setCreatureMaxMana(cid, magemana) doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to druid.') doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end if item.uid == 30002 then doPlayerSetVocation(cid, 3) setCreatureMaxHealth(cid, paladinhealth) setCreatureMaxMana(cid, paladinmana) doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to paladin.') doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end if item.uid == 30003 then doPlayerSetVocation(cid, 4) setCreatureMaxHealth(cid, knighthealth) setCreatureMaxMana(cid, knightmana) doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to knight.') doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end end Adicione as seguintes linhas no arquivo actions.xml que se encontra na pasta data/actions <action uniqueid="30000" event="script" value="changevoc.lua" /> <action uniqueid="30001" event="script" value="changevoc.lua" /> <action uniqueid="30002" event="script" value="changevoc.lua" /> <action uniqueid="30003" event="script" value="changevoc.lua" /> Testado e está 100% funcional. Dúvidas? Me avise. Att. Giovani Rodrigo Editado Maio 7, 2013 12 anos por GiovaniRodrigo (veja o histórico de edições) Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Maio 7, 2013 12 anos Autor Muito obrigada GiovaniRodrigo, ficou perfeito!! +REP De nada, é um prazer enorme ajudar os usuários do fórum. Muito obrigado pelo REP+ Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Postado Julho 7, 2014 10 anos Desculpa reviver o topico mas, os skills também resetam ? Por exemplo, eu to de knight com skills 100, vou pra druid, fico com ml 0, dai eu upo pra ml 50 Dai se eu voltar pra knight terei meus skills 100 dnv? E se logo apos isso eu voltar dnv pra Druid, terei o ml 50?
Postado Agosto 18, 2014 10 anos Autor Sim, todos os skills e magic level. Spoiler local config = { delrey = getPlayerCarValue(cid, DELREY), cigarro = getPlayerCancer(cid, DERBY), prostituta = getPlayerAIDS(cid, cracuda), tresOitao = getPlayerRevorvi(cid, 38) } if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS") end
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.