Ir para conteúdo
  • Cadastre-se

[PEDIDO] NPC Que Muda Vocação 8.54


Posts Recomendados

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 por vitinho2300 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites
  • 3 years later...

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>

 

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo