Postado Fevereiro 7, 2015 10 anos Olá estou pedindo um npc que da mais de uma vocaçõa e quando o pleyer pega a vocação aparece para o server um brodcast mensager falando fulando virou tal. Editado Fevereiro 7, 2015 10 anos por vitinho2300 (veja o histórico de edições)
Postado Fevereiro 7, 2015 10 anos Aqui, vá em npcs/script e crie um arquivo chamado vocacao.lua e coloque isso dentro 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 local choose = {} local cancel = {} local available = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if(msgcontains(msg, "info")) then selfSay("Olá "..getCreatureName(cid)..", Você quer trocar de vocação, digite o nome da sua proxima vocação. Temos Sorcerer, Druid, Knight e Paladin.", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "sorcerer") or msgcontains(msg, "SORCERER") and talk_state == 1 then doPlayerSetVocation(cid, 1) selfSay("Parabéns, você virou um Sorcerer", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Sorcerer") elseif msgcontains(msg, "druid") or msgcontains(msg, "DRUID") and talk_state == 1 then doPlayerSetVocation(cid, 2) selfSay("Parabéns, você virou um Druid", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Druid") elseif msgcontains(msg, "paladin") or msgcontains(msg, "PALADIN") and talk_state == 1 then doPlayerSetVocation(cid, 3) selfSay("Parabéns, você virou um Paladin", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Paladin") elseif msgcontains(msg, "KNIGHT") or msgcontains(msg, "KNIGHT") and talk_state == 1 then doPlayerSetVocation(cid, 4) selfSay("Parabéns, você virou um Knight", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Knight") elseif(msgcontains(msg, "bye") or msgcontains(msg, "goodbye") or msgcontains(msg, "cya")) then selfSay("cya!", cid, TRUE) closeShopWindow(cid) removeFocus(cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) e depois volte uma pasta, onde fica os xmls dos npc e crie um novo arquivo chamado vocacao.xml e coloque isso dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="Vocation Changer" script="data/npc/scripts/vocacao.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="131" head="95" body="95" legs="95" feet="95" corpse="6080"/> </npc> Editado Fevereiro 7, 2015 10 anos por joadson (veja o histórico de edições) Te ajudei? Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta" Skype: JoadsonAion
Postado Janeiro 24, 2019 6 anos curtir o scrip, mais quando desloga, perde a vocação... Em 07/02/2015 em 00:29, joadson disse: Aqui, vá em npcs/script e crie um arquivo chamado vocacao.lua e coloque isso dentro 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 local choose = {} local cancel = {} local available = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if(msgcontains(msg, "info")) then selfSay("Olá "..getCreatureName(cid)..", Você quer trocar de vocação, digite o nome da sua proxima vocação. Temos Sorcerer, Druid, Knight e Paladin.", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "sorcerer") or msgcontains(msg, "SORCERER") and talk_state == 1 then doPlayerSetVocation(cid, 1) selfSay("Parabéns, você virou um Sorcerer", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Sorcerer") elseif msgcontains(msg, "druid") or msgcontains(msg, "DRUID") and talk_state == 1 then doPlayerSetVocation(cid, 2) selfSay("Parabéns, você virou um Druid", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Druid") elseif msgcontains(msg, "paladin") or msgcontains(msg, "PALADIN") and talk_state == 1 then doPlayerSetVocation(cid, 3) selfSay("Parabéns, você virou um Paladin", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Paladin") elseif msgcontains(msg, "KNIGHT") or msgcontains(msg, "KNIGHT") and talk_state == 1 then doPlayerSetVocation(cid, 4) selfSay("Parabéns, você virou um Knight", cid) broadcastMessage("O jogador "..getCreatureName(cid).." virou um Knight") elseif(msgcontains(msg, "bye") or msgcontains(msg, "goodbye") or msgcontains(msg, "cya")) then selfSay("cya!", cid, TRUE) closeShopWindow(cid) removeFocus(cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) e depois volte uma pasta, onde fica os xmls dos npc e crie um novo arquivo chamado vocacao.xml e coloque isso dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="Vocation Changer" script="data/npc/scripts/vocacao.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="131" head="95" body="95" legs="95" feet="95" corpse="6080"/> </npc>
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.