Npc Missão Por Experiencia.

pessoa93
em NPCs, monsters e raids

pessoa93

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 20/10/10Posts: 911Char no Tibia: Felipe Pessoa

NPC Mission



Servidor testado: TFS

Autor: kawon

Retirado: Otland

 

- Primeiro crie um arquivo npc_mission.xml dentro da pasta data/npc/.

E coloque isso:

<npc name="Npc Mission" script="data/npc/scripts/mission.lua" walkinterval="1" floorchange="0" access="5" level="1" maglevel="1">

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

<look type="132" head="57" body="59" legs="40" feet="76" addons="3"/>

<parameters>

<parameter key="message_greet" value="Hello |PLAYERNAME|. You can started 'quest'?" />

</parameters>

</npc>

 

Em seguida crie um arquivo mission.lua na pasta /data/npc/scripts/

E adicione isso:

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, 'quest')) then

selfSay('Ok, you can started "first mission"?', cid)

end

---------------------------------------------------------

if(msgcontains(msg, 'first mission')) then

selfSay('Please bring me 10 "meat"', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'meat') and talkState[talkUser] == 1) then

if (getPlayerStorageValue(cid,100) > 0) then

selfSay('You finished this mission.', cid)

else

if(doPlayerRemoveItem(cid, 2666, 10) == TRUE) then

setPlayerStorageValue(cid,100,1)

doPlayerAddExperience(cid,1000)

selfSay('Thank you! You can started "second mission".. (you received 1000 points of experience)', cid)

else

selfSay('You must have more items', cid)

end

end

return true

end

---------------------------------------------------------

if(msgcontains(msg, 'second mission')) then

selfSay('Please bring me 10 "ham"', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'ham') and talkState[talkUser] == 1) then

if (getPlayerStorageValue(cid,101) > 0) then

selfSay('You finished this mission.', cid)

else

if(doPlayerRemoveItem(cid, 2671, 10) == TRUE) then

setPlayerStorageValue(cid,101,1)

doPlayerAddExperience(cid,1000)

selfSay('Thank you! You can started "third mission".. (you received 1000 points of experience)', cid)

else

selfSay('You must have more items', cid)

end

end

return true

end

---------------------------------------------------------

if(msgcontains(msg, 'third mission')) then

selfSay('Please bring me 20 "ham"', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'ham') and talkState[talkUser] == 1) then

if (getPlayerStorageValue(cid,102) > 0) then

selfSay('You finished this mission.', cid)

else

if(doPlayerRemoveItem(cid, 2671, 20) == TRUE) then

setPlayerStorageValue(cid,102,1)

doPlayerAddExperience(cid,1000)

selfSay('Thank you! You finished all missions. (you received 1000 points of experience)', cid)

else

selfSay('You must have more items', cid)

end

end

return true

end

 

 

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Exemplo:

 

PLAYER: hi

NPC: Hello |PLAYERNAME|. You can started 'quest'?

PLAYER: quest

NPC: Ok, you can started "first mission"?

PLAYER: first mission

NPC: Please bring me 10 "meat"

PLAYER: meat

When player finish this mission

NPC: You finished this mission.

When player do first once

NPC: Thank you! You can started "second mission".. (you received 1000 points of experience)

When player don't have 10 meat

NPC: You must have more items

 

 

Se você souber ler o que está escrito acima, você pode mudar os valores e itens da missão.

 

Espero que ajude :D

---------------

 

2694943kkkk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/04/11Posts: 28

Esse tipo de NPC é um tipo de Npc que mais deve e tenque ser usados em server RPG's e server sérios...

Muito bom,

Obrigado por compartilhar a todos :smile_positivo:

Levou meu REP+ :button_ok:

Sakegari

Uncrowned King
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/06/11Posts: 65Gênero: Masculino

Muito bom o NPC, obrigado por compartilhar, mas ele tem uma falha, se o player quiser começar a Second Mission sem ter completado a First Mission ele pode. Uma boa maneira de fazer com que isso não aconteça é usar STORAGE.

SkyDangerous

Deus Kalec
avatar
Lorde
Lorde

INFOS

Grupo: LordeRegistrado: 17/01/09Posts: 2098Char no Tibia: Adra Sata

Ae Pessoa !

 

Esse script de npc é louco , eu tenho um aqui parecido , porém o meu só existe uma quest.

Parabéns por trazer conteudo bons ;)

Me segui lá (:

 

b906.png

http://ageofwar.servegame.com/

IP: ageofwar.servegame.com

TIBIA: 10.78

GLOBAL PERFECT CUSTOM

PsyMcKenzie

Grounder
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 18/05/11Posts: 1106Gênero: Masculino

Isso ae Pessoa,

Obrigado Pelo Conteudo,

Como o Kibe disse,

servers de rpg precisa de npcs

assim ;]

Abraço!!

Atenciosamente,

PsyMcKenzie.

 

 

Meus Trabalhos.

 

 

Ronaldin

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/09/08Posts: 19Char no Tibia: -

tem como adicionar nesse NPC a função..

Você ja Fez essa Missão ??

 

pq qnd vc volta nele e fala First mission depois de ter feito ele nao fala nada, fica olhando para sua cara que nem Bobo ^^

kkk!

 

obrigado!

1361936057.png

15151512

Sou Feio mais sou gostoso sou ridiculo mais so lindo sou idiota
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/11/10Posts: 69

Hum legalzinho

eduardo190696

Força de vontade ensina até os mortos
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 22/09/10Posts: 474

Help,

da esse erro

[08/08/2011 08:06:39] [Warning - NpcScript::NpcScript] Can not load script: data/npc/scripts/smallstone.lua
[08/08/2011 08:06:39] data/npc/scripts/smallstone.lua:1: unexpected symbol near '{'

[08/08/2011 08:06:39] Lua Script Error: [Npc interface] 
[08/08/2011 08:06:39] (Unknown scriptfile)
[08/08/2011 08:06:39] attempt to call a nil value
[08/08/2011 08:06:39] stack traceback:
[08/08/2011 08:06:39] 	[C]: ?

 

npc n pega

 

versão testada 9.1

não reparem no nome do script, todos os npc que eu tento fazer da a mesma coisa esse erro me persegue FUCK alguém sabe o que causa ele ?

victorkleist

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/10/10Posts: 1Char no Tibia: affss

cara eu fiz tudo do jeito q vc mando ai

so q o npc n fla cmg

eu flo hi e ele n responde

ajuda ae plz

quero mt por isso no meu sv pra ter + RPG

Nitrox

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/10/05Posts: 18Char no Tibia: Murruga

Não testei ainda, mais parece bom, queria saber se o seu só tem como fazer a quest uma vez?

não consegui por isso, e como o cara ali em cima falou, teria como ajeitar para ele só fazer a segunda depois que terminar a primeira?

ADMFusion

"Todo meu patrimônio são meus amigos" Emily Dickinson.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 16/11/11Posts: 33Char no Tibia: Nemmm Tenhoo.!

Perfect.! Estar Otimo seu Trabalho

Atenciosamente,

ADMFusion

 

 

Ajudei? Rep+

 

 

 

 

 

Meu Projeto <->

http://www.xtibia.co...tibia-the-sims/

 

23885691.jpg

juan500

Juan (Narutibia No Sangue)
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 02/06/11Posts: 209Char no Tibia: [ADM] Juan

LOL COISA DE LOCO ESSE SCRIPT MUITO LOCÃO NUNCA VI UM DESSE TAMANHO ATE ONDE OS SCRIPTS CHEGAM MEU JESUS MAIS VO TESTA SE FUNFA +REP

SE NÃO FUNCIONA EU ENCHO TEU SACO ATE FUNCIONA ^.-

Sonhe, trace metas, estabeleça prioridades e corra riscos para executar seus sonhos. Melhor é errar por tentar do que errar por omitir!

20779931.png

 

 

A Bíblia nos ensina a amar o próximo e também a amar nossos inimigos provavelmente porque eles em geral são as mesmas pessoas.

 

De +REP ou -REP

 

Não fará eu desistir doque realmente eu sou por dentro!!!