VO

[npc] Lucefer ... Npc Para Quest ...

Por voodo, 27 de jun. de 2009 em NPCs, monsters e raids

otserv
tibia
script
11
2.8k
voodoV
27 de junho de 2009 às 12:31

Olá ...

 

Trago um npc que so dexa voce passa numa porta depois que voce falar com ele ....

 

Vomos la ...

1º Passo - Copie qualquer arquivo de data\npc ... Renomeie para Lucefer ... Exlua oque tiver dentro e substitua pelo que vem abaixo :

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Lucefer" script="data/npc/scripts/inquisa.lua" walkinterval="2000" floorchange="0">

<health now="100" max="100"/>

<look type="265" head="114" body="94" legs="114" feet="0" addons="3"/>

<parameters>

<parameter key="message_greet" value="Hello! Do you want to {fight} in the inquisition or shall I explain the {rules} first "/>

</parameters></npc>

 

2º Passo - Vá em data\npc\scripts copie um arquivo .. renomeie para inquisa ... Exlua tudo e substitua por ...

 

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(not npcHandler:isFocused(cid)) then

return false

end

 

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

 

if msgcontains(msg, 'fight') then

selfSay('So you agree to the rules and want to participate in the challenge? Which difficulty do you choose, {Inquisition}?', cid)

talkState[talkUser] = 2

 

elseif msgcontains(msg, 'rules') then

selfSay('What do you want to know? Something about the three different {GENERAL} rules or the {PRICES}? Maybe you also want to know what happens when you die?', cid)

talkState[talkUser] = 1

 

elseif talkState[talkUser] == 1 then

if msgcontains(msg, 'çopopo') then

selfSay('We have three difficulty. The hardest are warlord.', cid)

talkState[talkUser] = 0

 

 

elseif msgcontains(msg, 'general') then

selfSay('Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack.If you enter in inquisition or you win or you go to temple.', cid)

talkState[talkUser] = 0

 

 

elseif msgcontains(msg, 'prices') then

selfSay('A great Inquisition cost 400000 golds.', cid)

talkState[talkUser] = 0

end

 

 

 

 

elseif talkState[talkUser] == 2 then

if msgcontains(msg, 'kiukiukiu') then

selfSay('The fee is 1000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse andyour backpack. Do you really want to participate in the arena in the easiest difficulty?', cid)

talkState[talkUser] = 3

 

 

elseif msgcontains(msg, 'koikoikoi') then

selfSay('The fee is 5000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack. Do you really want to participate in the arena in the medium difficulty?', cid)

talkState[talkUser] = 4

 

 

elseif msgcontains(msg, 'inquisition') then

selfSay('The fee is 400000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack. Do you really want to participate in the Inquisition?', cid)

talkState[talkUser] = 5

end

 

 

elseif talkState[talkUser] == 3 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,50066) == -1 then

if(doPlayerRemoveMoney(cid, 1000) == TRUE) then

setPlayerStorageValue(cid,5066,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

elseif talkState[talkUser] == 4 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,500677) == -1 then

if(doPlayerRemoveMoney(cid, 5000) == TRUE) then

setPlayerStorageValue(cid,500677,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

elseif talkState[talkUser] == 5 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,5076) == -1 then

if(doPlayerRemoveMoney(cid, 400000) == TRUE) then

setPlayerStorageValue(cid,5074,1)

selfSay('As you wish! You can pass the door now and enter the door to the pits.', cid)

end

else

selfSay('As you wish! You can pass the door now and enter the door to the pits.', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

 

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('Ok then.', cid)

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Vou Explicar brevemente ...

Em Azul Sera o dinheiro que ele pedira como missao ... no caso 400k ...

Em Vermelho e o UID que voce tera que colocar na porta ...

 

Intao e isso qualquer duvida postem .....

 

COMENTEM ........

 

Grande Abrasso .. Até a Proxima ...

 

By : GOD Shark [Noel] :smile_positivo:

 

Creditos : Leuzerarox pelo Script ...

Editado Julho 24 por voodo

satan666S
27 de junho de 2009 às 12:35

isso se parece muito com o script do npc da arena quest.

voodoV
27 de junho de 2009 às 12:50
isso se parece muito com o script do npc da arena quest.

 

Pra ser sincero .. nao conheço mt bem o sistema da arena.. ate sei como e .... talves seja a mesma escencia ne ....

 

Flw Abrasso ...

satan666S
27 de junho de 2009 às 17:42

se voce por os dois scripts junto esse seu e o do arena quest vc vai ver pequenas ediçoes porque a forma do script e ate a maioria das falas do npc sao IGUAIS.

1 mês depois...
leoloko12L
11 de julho de 2009 às 23:50

Meus Créditos...

Foi eu Que fiz esse NPC

 

Abrass....

joaohdJ
12 de julho de 2009 às 16:29

Não é o npc da arena n marcryzius. kkkkk esse é o da inquisition do servidor Styller Yurots 8.42. Se quiser ter certeza, baixa o ot q ve. nenhuma diferença. nem o nome do arquivo .lua

Filippe FerreiraF
12 de julho de 2009 às 16:40

Peço que adicione os créditos ao Léo, se não terei que bani-lo por ripping.

xxterrivelX
13 de julho de 2009 às 16:15

Anúncio Removido

Editado Julho 13 por Daniel Oliveira

Anuncio de OT

satan666S
13 de julho de 2009 às 18:02
Não é o npc da arena n marcryzius. kkkkk esse é o da inquisition do servidor Styller Yurots 8.42. Se quiser ter certeza, baixa o ot q ve. nenhuma diferença. nem o nome do arquivo .lua

 

 

pelo menos o meu e igual ve ae.

 

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(not npcHandler:isFocused(cid)) then

return false

end

 

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

 

if msgcontains(msg, 'fight') then

selfSay('So you agree to the rules and want to participate in the challenge? Which difficulty do you choose, {Greenhorn}, {Scrapper} or {Warlord}?', cid)

talkState[talkUser] = 2

 

elseif msgcontains(msg, 'rules') then

selfSay('What do you want to know? Something about the three different {DIFICULTIES}, the {GENERAL} rules or the {PRICES}? Maybe you also want to know what happens when you die?', cid)

talkState[talkUser] = 1

 

elseif talkState[talkUser] == 1 then

if msgcontains(msg, 'dificulties') then

selfSay('We have three difficulty. The easiest are Greenhorn, the medium are scrapper and the hardest are warlord.', cid)

talkState[talkUser] = 0

 

 

elseif msgcontains(msg, 'general') then

selfSay('Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack.If you enter in arena or you win or you go to temple.', cid)

talkState[talkUser] = 0

 

 

elseif msgcontains(msg, 'prices') then

selfSay('A greenhorn cost 1000 gold, scrapper cost 5000 golds and a great warlord cost 10000 golds.', cid)

talkState[talkUser] = 0

end

 

 

 

 

elseif talkState[talkUser] == 2 then

if msgcontains(msg, 'greenhorn') then

selfSay('The fee is 1000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse andyour backpack. Do you really want to participate in the arena in the easiest difficulty?', cid)

talkState[talkUser] = 3

 

 

elseif msgcontains(msg, 'scrapper') then

selfSay('The fee is 5000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack. Do you really want to participate in the arena in the medium difficulty?', cid)

talkState[talkUser] = 4

 

 

elseif msgcontains(msg, 'warlord') then

selfSay('The fee is 10000 gold for one try. Remember that if you die, it is YOUR problem and you won\'t be able to get back to your corpse and your backpack. Do you really want to participate in the arena in the hardest difficulty?', cid)

talkState[talkUser] = 5

end

 

 

elseif talkState[talkUser] == 3 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,5005) == -1 then

if(doPlayerRemoveMoney(cid, 1000) == TRUE) then

setPlayerStorageValue(cid,5000,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

elseif talkState[talkUser] == 4 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,5006) == -1 then

if(doPlayerRemoveMoney(cid, 5000) == TRUE) then

setPlayerStorageValue(cid,5001,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

elseif talkState[talkUser] == 5 then

if msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,5007) == -1 then

if(doPlayerRemoveMoney(cid, 10000) == TRUE) then

setPlayerStorageValue(cid,5002,1)

selfSay('As you wish! You can pass the door now and enter the teleporter to the pits.', cid)

end

else

selfSay('You already win this arena!', cid)

end

else

selfSay('Then not. Get away and don\'t waste my time!', cid)

end

 

 

talkState[talkUser] = 0

elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then

talkState[talkUser] = 0

selfSay('Ok then.', cid)

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

gabrielf10G
19 de julho de 2009 às 19:10

É igual sim,pelo que eu vi só mudou o nome de Henricus para Lucefer --'.

Bota os créditos ai o mlk.

17586091
23 de julho de 2009 às 17:31

jah tenhu o npc da arena no meu ot, mas axo q vo faze uma quest q precise ddsse npc....