Postado Março 16, 2018 7 anos Autor 8 minutos atrás, Rusherzin disse: Tenta assim: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local function getPlayerInfoByVocation(cid, vocation) local info = getVocationInfo(vocation) local level = getPlayerLevel(cid) return {health = (info.healthGain * level-1) + 150, mana = (info.manaGain * level-1) + 90, cap = (info.capacity) * level} end if(msgcontains(msg, 'sorcerer') or msgcontains(msg, 'sorc')) then selfSay('Deseja virar {Sorcerer} por 10 Lethal Orbs?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,1) local values = getPlayerInfoByVocation(cid, 1) setCreatureMaxHealth(cid, values.health) setCreatureMaxMana(cid, values.mana) doPlayerSetMaxCapacity(cid, values.cap) selfSay('Vocação trocada com sucesso , Agora você é um Sorcerer.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'druid') or msgcontains(msg, 'druida')) then selfSay('Deseja virar {Druid} por 10 Lethal Orbs?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,2) local values = getPlayerInfoByVocation(cid, 2) setCreatureMaxHealth(cid, values.health) setCreatureMaxMana(cid, values.mana) doPlayerSetMaxCapacity(cid, values.cap) selfSay('Vocação trocada com sucesso , Agora você é um Druid.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'Knight') or msgcontains(msg, 'kina')) then selfSay('Deseja virar {knight} por 10 Lethal Orbs?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,4) local values = getPlayerInfoByVocation(cid, 4) setCreatureMaxHealth(cid, values.health) setCreatureMaxMana(cid, values.mana) doPlayerSetMaxCapacity(cid, values.cap) selfSay('Vocação trocada com sucesso , Agora você é um Knight.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'paladin') or msgcontains(msg, 'pala')) then selfSay('Deseja virar {Paladin} por 10 Lethal Orbs?', cid) talkState[talkUser] = 4 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,3) local values = getPlayerInfoByVocation(cid, 3) setCreatureMaxHealth(cid, values.health) setCreatureMaxMana(cid, values.mana) doPlayerSetMaxCapacity(cid, values.cap) selfSay('Vocação trocada com sucesso , Agora você é um Paladin.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Funciounou caraaaaaaa, mas fui trocar de druid pra knight a ML não resetou, consegue por pra ML resetar?
Postado Março 16, 2018 7 anos Pode tentar com isso: local id = getPlayerGUID(cid) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `maglevel`=1, `manaspent` = 1 WHERE `id`="..id..";") Mas não tenho certeza se vai funcionar. Ajudei? De nada \o/ Att Rusherzin
Postado Março 16, 2018 7 anos Autor 6 minutos atrás, Rusherzin disse: Pode tentar com isso: local id = getPlayerGUID(cid) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `maglevel`=1, `manaspent` = 1 WHERE `id`="..id..";") Mas não tenho certeza se vai funcionar. não deu :\, knight com ml alta fica foda, tem algum outro jeito?
Postado Março 16, 2018 7 anos Solução local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid pid = getPlayerGUID(cid) //data/xml/vocations.xml -- gainhp HP e gainmana MP local mageMP = Valor local mageHP = Valor local kinaMP = Valor local kinaHP = Valor local palaMP = Valor local palaHP = Valor if(msgcontains(msg, 'sorcerer') or msgcontains(msg, 'sorc')) then selfSay('Deseja virar {Sorcerer} por 10 Lethal Orbs?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,1) setCreatureMaxHealth(cid, getPlayerLevel(cid)*mageHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*mageMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Sorcerer.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'druid') or msgcontains(msg, 'druida')) then selfSay('Deseja virar {Druid} por 10 Lethal Orbs?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,2) setCreatureMaxHealth(cid, getPlayerLevel(cid)*mageHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*mageMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Druid.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'Knight') or msgcontains(msg, 'kina')) then selfSay('Deseja virar {knight} por 10 Lethal Orbs?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,4) setCreatureMaxHealth(cid, getPlayerLevel(cid)*kinaHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*kinaMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Knight.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'paladin') or msgcontains(msg, 'pala')) then selfSay('Deseja virar {Paladin} por 10 Lethal Orbs?', cid) talkState[talkUser] = 4 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,3) setCreatureMaxHealth(cid, getPlayerLevel(cid)*palaHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*palaMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Paladin.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Março 16, 2018 7 anos Autor 2 minutos atrás, Qwizer disse: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid pid = getPlayerGUID(cid) //data/xml/vocations.xml -- gainhp HP e gainmana MP local mageMP = Valor local mageHP = Valor local kinaMP = Valor local kinaHP = Valor local palaMP = Valor local palaHP = Valor if(msgcontains(msg, 'sorcerer') or msgcontains(msg, 'sorc')) then selfSay('Deseja virar {Sorcerer} por 10 Lethal Orbs?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,1) setCreatureMaxHealth(cid, getPlayerLevel(cid)*mageHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*mageMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Sorcerer.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'druid') or msgcontains(msg, 'druida')) then selfSay('Deseja virar {Druid} por 10 Lethal Orbs?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,2) setCreatureMaxHealth(cid, getPlayerLevel(cid)*mageHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*mageMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Druid.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'Knight') or msgcontains(msg, 'kina')) then selfSay('Deseja virar {knight} por 10 Lethal Orbs?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,4) setCreatureMaxHealth(cid, getPlayerLevel(cid)*kinaHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*kinaMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Knight.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'paladin') or msgcontains(msg, 'pala')) then selfSay('Deseja virar {Paladin} por 10 Lethal Orbs?', cid) talkState[talkUser] = 4 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then if(getPlayerItemCount(cid, 7722) >= 10) then doPlayerRemoveItem(cid, 7722, 10) doPlayerSetVocation(cid,3) setCreatureMaxHealth(cid, getPlayerLevel(cid)*palaHP) setCreatureMaxMana(cid, getPlayerLevel(cid)*palaMP) 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 ..";") selfSay('Vocação trocada com sucesso , Agora você é um Paladin.', cid) else selfSay('Você não tem {Lethal Orbs} Suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Rodou 100% valeu Qwizer, ficou do jeito que queria ! REP+
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.