Ir para conteúdo

Featured Replies

Postado

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 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

  • 3 years later...
Postado

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo