Ir para conteúdo

Featured Replies

Postado
  • Solução

@ScreMMo desculpe a demora, passei a manhã busy all time, não testei, teste ae:

 

Spoiler

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local Topic, vocation, town, destination = {}, {}, {}, {}
local TOWN_ISLANDOFDESTINY = 16
local islandOfDestinyEnabled = false

        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 greetCallback(cid)
if(getPlayerLevel(cid) < 8) then
npcHandler:say("CHILD! COME BACK WHEN YOU HAVE GROWN UP!", cid)
return  false
elseif(getPlayerLevel(cid) > 9) then
npcHandler:say(getCreatureName(cid) .. ", I CAN'T LET YOU LEAVE - YOU ARE TOO STRONG ALREADY! YOU CAN ONLY LEAVE WITH LEVEL 9 OR LOWER.", cid)
return false
else
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
Topic[talkUser], vocation[talkUser], town[talkUser], destination[talkUser] = 0, 0, 0, 0
return true
end
end

function creatureSayCallback(cid, type, msg)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if(not npcHandler:isFocused(cid)) then
return false
elseif msgcontains(msg, "yes") and Topic[talkUser] == 0 then
npcHandler:say(islandOfDestinyEnabled and "I WILL BRING YOU TO THE ISLAND OF DESTINY AND YOU WILL BE UNABLE TO RETURN HERE! ARE YOU SURE?" or "IN WHICH TOWN DO YOU WANT TO LIVE: {CARLIN}, {VENORE} " .. (isPremium(cid) == TRUE and ", {THAIS}, {DARASHIA}, {ANKRAHMUN} OR {EDRON}?" or " OR {THAIS}?"), cid)
Topic[talkUser] = islandOfDestinyEnabled and 4 or 1
elseif Topic[talkUser] == 0 then
npcHandler:unGreet(cid)
elseif msgcontains(msg, "carlin") and Topic[talkUser] == 1 then
npcHandler:say("IN CARLIN! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 5
destination[talkUser] = {x=32360, y=31782, z=7}
elseif msgcontains(msg, "ab'dendriel") and Topic[talkUser] == 1 then
npcHandler:say("IN AB'DENDRIEL! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 1
destination[talkUser] = {x=32732, y=31634, z=7}
elseif msgcontains(msg, "kazordoon") and Topic[talkUser] == 1 then
npcHandler:say("IN KAZORDOON! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 2
destination[talkUser] = {x=32649, y=31925, z=11}
elseif msgcontains(msg, "thais") and Topic[talkUser] == 1 then
npcHandler:say("IN THAIS! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 3
destination[talkUser] = {x=32369, y=32241, z=7}
elseif msgcontains(msg, "venore") and Topic[talkUser] == 1 then
npcHandler:say("IN VENORE! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 4
destination[talkUser] = {x=32957, y=32076, z=7}
elseif msgcontains(msg, "darashia") and Topic[talkUser] == 1 then
if isPremium(cid) == TRUE then
npcHandler:say("IN DARASHIA! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 7
destination[talkUser] = {x=33213, y=32454, z=1}
else
npcHandler:say("YOU NEED A PREMIUM ACCOUNT IN ORDER TO GO THERE!", cid)
Topic[talkUser] = 1
end
elseif msgcontains(msg, "ankrahmun") and Topic[talkUser] == 1 then
if isPremium(cid) == TRUE then
npcHandler:say("IN ANKRAHMUN! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 6
destination[talkUser] = {x=33194, y=32853, z=8}
else
npcHandler:say("YOU NEED A PREMIUM ACCOUNT IN ORDER TO GO THERE!", cid)
Topic[talkUser] = 1
end
elseif msgcontains(msg, "edron") and Topic[talkUser] == 1 then
if isPremium(cid) == TRUE then
npcHandler:say("IN EDRON! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 9
destination[talkUser] = {x=33217, y=31814, z=8}
else
npcHandler:say("YOU NEED A PREMIUM ACCOUNT IN ORDER TO GO THERE!", cid)
Topic[talkUser] = 1
end
elseif msgcontains(msg, "portaa11") and msgcontains(msg, "hopaa11e") and Topic[talkUser] == 1 then
if isPremium(cid) == TRUE then
npcHandler:say("IN PORT HOPE! AND WHAT PROFESSION HAVE YOU CHOSEN: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
town[talkUser] = 10
destination[talkUser] = {x=32595, y=32744, z=6}
else
npcHandler:say("YOU NEED A PREMIUM ACCOUNT IN ORDER TO GO THERE!", cid)
Topic[talkUser] = 1
end
elseif Topic[talkUser] == 1 then
npcHandler:say("{CARLIN}, {VENORE}" .. (isPremium(cid) == TRUE and ", {THAIS}, {DARASHIA}, {ANKRAHMUN} OR {EDRON}?" or " OR {THAIS}?"), cid)
Topic[talkUser] = 1
elseif msgcontains(msg, "sorcerer") and Topic[talkUser] == 2 then
npcHandler:say("A SORCERER! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
Topic[talkUser] = 3
vocation[talkUser] = 1
elseif msgcontains(msg, "druid") and Topic[talkUser] == 2 then
npcHandler:say("A DRUID! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
Topic[talkUser] = 3
vocation[talkUser] = 2
elseif msgcontains(msg, "paladin") and Topic[talkUser] == 2 then
npcHandler:say("A PALADIN! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
Topic[talkUser] = 3
vocation[talkUser] = 3
elseif msgcontains(msg, "knight") and Topic[talkUser] == 2 then
npcHandler:say("A KNIGHT! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
Topic[talkUser] = 3
vocation[talkUser] = 4
elseif Topic[talkUser] == 2 then
npcHandler:say("{KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
Topic[talkUser] = 2
elseif msgcontains(msg, "yes") and Topic[talkUser] == 3 then
npcHandler:say("SO BE IT!", cid)
Topic[talkUser] = 0
doPlayerSetVocation(cid, vocation[talkUser])
doPlayerSetTown(cid, town[talkUser])
npcHandler:releaseFocus(cid)
npcHandler:resetNpc(cid)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
doTeleportThing(cid, destination[talkUser])
npcHandlerfocus = 0
doSendMagicEffect(destination[talkUser], CONST_ME_TELEPORT)
		if isSorcerer(cid) then
			local bag = doPlayerAddItem(cid, 1988, 1)
			local outfit = { -- Outfit Sorcerer
			[0] = 139, -- Outfit id do sexo feminino
			[1] = 138 -- Outfit id do sexo masculino
			}
			local lok = {lookType = outfit[getPlayerSex(cid)]}
			doCreatureChangeOutfit(cid, lok)
			doAddContainerItem(bag, 2789, 5)
			doAddContainerItem(bag, 2175, 1)
	        doAddContainerItem(bag, 2460, 1)
			doAddContainerItem(bag, 2465, 1)
			doAddContainerItem(bag, 2478, 1)
			doAddContainerItem(bag, 2643, 1)
			doAddContainerItem(bag, 2525, 1)
			doPlayerAddItem(cid, 2190, 1)
			setPlayerStorageValue(cid, 50000, 1)
		elseif isDruid(cid) then
			local bag = doPlayerAddItem(cid, 1988, 1)
			local outfit = { -- Outfit  Druid
			[0] = 300, -- Outfit id do sexo feminino
			[1] = 300 -- Outfit id do sexo masculino
			}
			local lok = {lookType = outfit[getPlayerSex(cid)]}
			doCreatureChangeOutfit(cid, lok)
			doAddContainerItem(bag, 2789, 5)
			doAddContainerItem(bag, 2175, 1)
	        doAddContainerItem(bag, 2460, 1)
			doAddContainerItem(bag, 2465, 1)
			doAddContainerItem(bag, 2478, 1)
			doAddContainerItem(bag, 2643, 1)
			doAddContainerItem(bag, 2525, 1)
			doAddContainerItem(bag, 2191, 1)
			setPlayerStorageValue(cid, 50000, 1)
		elseif isPaladin(cid) then
			local bag = doPlayerAddItem(cid, 1988, 1)
			local outfit = { -- Outfit Paladin
			[0] = 300, -- Outfit id do sexo feminino
			[1] = 300 -- Outfit id do sexo masculino
			}
			local lok = {lookType = outfit[getPlayerSex(cid)]}
			doCreatureChangeOutfit(cid, lok)
			doAddContainerItem(bag, 2789, 5)
			doAddContainerItem(bag, 2175, 1)
	        doAddContainerItem(bag, 2460, 1)
			doAddContainerItem(bag, 2465, 1)
			doAddContainerItem(bag, 2478, 1)
			doAddContainerItem(bag, 2643, 1)
			doAddContainerItem(bag, 2525, 1)
			doAddContainerItem(bag, 2389, 5)
			setPlayerStorageValue(cid, 50000, 1)
		elseif isKnight(cid) then
			local bag = doPlayerAddItem(cid, 1988, 1)
			local outfit = { -- Outfit Kinght
			[0] = 300, -- Outfit id do sexo feminino
			[1] = 300 -- Outfit id do sexo masculino
			}
			local lok = {lookType = outfit[getPlayerSex(cid)]}
			doCreatureChangeOutfit(cid, lok)
			doAddContainerItem(bag, 2789, 5)
			doAddContainerItem(bag, 2175, 1)
			doAddContainerItem(bag, 2428, 1)		
	        doAddContainerItem(bag, 2460, 1)
			doAddContainerItem(bag, 2465, 1)
			doAddContainerItem(bag, 2478, 1)
			doAddContainerItem(bag, 2643, 1)
			doAddContainerItem(bag, 2525, 1)
			doAddContainerItem(bag, 2419, 1)
			setPlayerStorageValue(cid, 50000, 1)
		end
elseif Topic[talkUser] == 3 then
npcHandler:unGreet(cid)
elseif Topic[talkUser] == 4 then
if msgcontains(msg, "yes") then
npcHandler:say("SO BE IT!", cid)
Topic[talkUser] = 0
doPlayerSetTown(cid, TOWN_ISLANDOFDESTINY)
npcHandler:releaseFocus(cid)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
doTeleportThing(cid, {x=32091,y=32027,z=7})
npcHandlerfocus = 0
doSendMagicEffect({x=32091,y=32027,z=7}, CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Welcome to the Island of Destiny. Walk north to find trainers who will help you find a suitable vocation.")
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "The surface of this island is a protection zone. You can't attack or regain health here. If you need healing, talk to Yandur.")
doAddMapMark(cid, {x=32099,y=31996,z=7}, MAPMARK_EXCLAMATION, "Island of Destiny - Training Centre")
doAddMapMark(cid, {x=32098,y=31986,z=7}, MAPMARK_GREENNORTH, "Ship to Mainland")
else
npcHandler:unGreet(cid)
end
end
return TRUE
end

npcHandler:setMessage(MESSAGE_GREET, "|PLAYERNAME|, ARE YOU PREPARED TO FACE YOUR DESTINY?")
npcHandler:setMessage(MESSAGE_WALKAWAY, "COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!")
npcHandler:setMessage(MESSAGE_FAREWELL, "COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!")

npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

  • Respostas 6
  • Visualizações 426
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @ScreMMo desculpe a demora, passei a manhã busy all time, não testei, teste ae:    

  • opaaaa vou testar amigão! Perfeito cara, nossa, muito bom, quando eu crescer vou ser igual a você hahahahahah !

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

Informação Importante

Confirmação de Termo