Postado Dezembro 24, 2016 8 anos Autor Agora, Gustavo Ntos disse: Se a Script funcionou marque como melhor resposta// Você quer como?? perder todos items e volta pro level 1? não entendi esse zerar a vocação Tipo minha vocação é 1 quero quando eu morre ela ir para 0 e ficar level 8 novamente. e tbm sera se tem como coloca no npc que a classe mago so poderia pega a vocação Mago master, porque se nao o player que cria um arqueiro ele vai poder pega classe mago master. fica estranho assim. (Mais preciso muito do pedido acima se vc puder me ajuda agradeço muito.)
Postado Dezembro 24, 2016 8 anos 46 minutos atrás, druste disse: Tipo minha vocação é 1 quero quando eu morre ela ir para 0 e ficar level 8 novamente. e tbm sera se tem como coloca no npc que a classe mago so poderia pega a vocação Mago master, porque se nao o player que cria um arqueiro ele vai poder pega classe mago master. fica estranho assim. (Mais preciso muito do pedido acima se vc puder me ajuda agradeço muito.) local item=2160 --ID do item necessario para trocar de vocaçao local newVoc=5 --ID da vocation local outfit=13 --LookType do outfit da vocation ---LINHA ADICINADA BY : GUSTAVO NTOS--- local level= 200 --Level pra pegar a vocaçãao local mago= x ---- id da vocação mago ---LINHA ADICINADA BY : GUSTAVO NTOS--- local stor = 437369 -- Storage pode ser qualquer numero, desde que não exista no servidor. 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 msgcontains(msg, 'yes') then if(doPlayerRemoveItem(cid, item, 1) == true) then if(getPlayerVocation(cid) == mago) then if getPlayerLevel(cid) >= level then if getPlayerStorageValue(cid, stor) < 1 then doPlayerSetVocation(cid, newVoc) setPlayerStorageValue(cid, stor, 1) doCreatureChangeOutfit(cid, {lookType=outfit}) else selfSay("Voce ja se Transformou em Mago Master.", cid) end else selfSay('Para virar um Mago master voce precisa do level '..level..'. ', cid) end else selfSay('Voce precisar ser uma mago para avançar de classe. ', cid) end else selfSay("Voce nao tem o item necessario para se transformar em Mago Master. Volte aqui quando tiver ele.", cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local antes=1 -----vocação antes de morrer local apos=0 ----- vocação apos a morte if isPlayer(cid) == true then if(getPlayerVocation(cid) == antes) then doPlayerSetVocation(cid, apos) end end creaturescripts.xml: <event type="preparedeath" name="mortevocacao" event="script" value="nomedoarquivo.lua"/> Se não pega faça isso: adiciona no login.lua registerCreatureEvent(cid, "mortevocacao")
Postado Dezembro 25, 2016 8 anos Autor 5 horas atrás, Gustavo Ntos disse: local item=2160 --ID do item necessario para trocar de vocaçao local newVoc=5 --ID da vocation local outfit=13 --LookType do outfit da vocation ---LINHA ADICINADA BY : GUSTAVO NTOS--- local level= 200 --Level pra pegar a vocaçãao local mago= x ---- id da vocação mago ---LINHA ADICINADA BY : GUSTAVO NTOS--- local stor = 437369 -- Storage pode ser qualquer numero, desde que não exista no servidor. 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 msgcontains(msg, 'yes') then if(doPlayerRemoveItem(cid, item, 1) == true) then if(getPlayerVocation(cid) == mago) then if getPlayerLevel(cid) >= level then if getPlayerStorageValue(cid, stor) < 1 then doPlayerSetVocation(cid, newVoc) setPlayerStorageValue(cid, stor, 1) doCreatureChangeOutfit(cid, {lookType=outfit}) else selfSay("Voce ja se Transformou em Mago Master.", cid) end else selfSay('Para virar um Mago master voce precisa do level '..level..'. ', cid) end else selfSay('Voce precisar ser uma mago para avançar de classe. ', cid) end else selfSay("Voce nao tem o item necessario para se transformar em Mago Master. Volte aqui quando tiver ele.", cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local antes=1 -----vocação antes de morrer local apos=0 ----- vocação apos a morte if isPlayer(cid) == true then if(getPlayerVocation(cid) == antes) then doPlayerSetVocation(cid, apos) end end creaturescripts.xml: <event type="preparedeath" name="mortevocacao" event="script" value="nomedoarquivo.lua"/> Se não pega faça isso: adiciona no login.lua registerCreatureEvent(cid, "mortevocacao") Deu tudo certo no NPC so falta agora na parte da morte do player pelo que eu entendi voce coloco que o player precisa ser da vocação 1 para quando ele morre ficar zero e a vocações em diante, deu erro segue em anexo o erro que esta ocorrendo.
Postado Dezembro 25, 2016 8 anos 21 minutos atrás, druste disse: Deu tudo certo no NPC so falta agora na parte da morte do player pelo que eu entendi voce coloco que o player precisa ser da vocação 1 para quando ele morre ficar zero e a vocações em diante, deu erro segue em anexo o erro que esta ocorrendo. Testei a script aqui , o erro é seu na hora de colocá-la na script . Copie o código do jeito certo cara , se não vai da erro mesmo .
Postado Dezembro 25, 2016 8 anos Autor 5 minutos atrás, PedroSTT disse: Testei a script aqui , o erro é seu na hora de colocá-la na script . Copie o código do jeito certo cara , se não vai da erro mesmo . Foi isso que Coloquei , Mais estou com uma duvida meu ot vai ter varias classe pelo que entendi eu preciso ser vocação 1 para quando eu morre ela voltar para zero? function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local antes=1 -----vocação antes de morrer local apos=0 ----- vocação apos a morte if isPlayer(cid) == true then if(getPlayerVocation(cid) == antes) then doPlayerSetVocation(cid, apos) end 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.