YA
pedido

Npc

Por YagoBlind, 20 de out. de 2012 em Scripts

otserv
tibia
script
11
1.3k
YagoBlindY
20 de outubro de 2012 às 12:09

Olá galerinha do xTibia , eu gostaria de fazer um pedido a vocês , veja se vocês podem me ajudar .

 

~> Como deve ser a script ?

Eu gostaria de um NPC , que ele da para o player 3 missões , nível 1 , nível 2 , e nível 3 . Para fazer a nível 2 é preciso ter feito a nível 1 e para fazer a nível 3 é preciso ter feito os níveis 1 e 2.

Em troca das missões realizadas pelo player o NPC vai dar uma premiação para cada missão.

Nível 1 -> O player tem que levar um item para o NPC e em troca o NPC vai dar 10kk

Nível 2 -> O player vai ganhar 300000 de EXP

Nível 3 -> O player vai ganhar 1 medal

OBS: Eu gostaria de configurar a 3° missão a meu gosto por causa da id da medal .

 

Caso você me ajude darei REP++

LendreoL
20 de outubro de 2012 às 16:49

Isso é parecido com a task, tem que faser algo na base. [ o problema é que eu so sei o básico ainda ph34r.png ]

 

Cade o Slicer aki wacko.png .

Editado Outubro 20 por Lendreo

FoquinhaaF
20 de outubro de 2012 às 17:04

Ve aew , se te ajudei da rep+ http://www.xtibia.com/forum/topic/151636-simple-task-30/

YagoBlindY
20 de outubro de 2012 às 17:06

Não é task system .

FoquinhaaF
20 de outubro de 2012 às 17:11

Tem outra aqe.

http://www.xtibia.com/forum/topic/196975-pk-npc-task-system-para-poketibia/ é o mesmo script de tibia .

YagoBlindY
20 de outubro de 2012 às 17:13

Também não tá certo .

FoquinhaaF
20 de outubro de 2012 às 17:16

Cara o script tá certo , é so você adaptar , rs.

 

Também não tá certo .

 

O script tá certo é so você adaptar , rs.

Editado Outubro 20 por TecBreakerByLipe

LendreoL
20 de outubro de 2012 às 17:17

Cara eu tinha esse system parecido mais n é como esse que vc quer. axu que perdi wacko.png

GuhPkG
20 de outubro de 2012 às 17:24

Vou olhar aqui com um amigo meu e vejo se consigo editar ele para ficar como 3 quest's!! >.<

Até ja... :p

milbradtM
20 de outubro de 2012 às 17:54

Npc.xml:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Quester" script="data/npc/scripts/quester.lua" walkinterval="2000" speed="0" floorchange="0">
<health now="100" max="100"/>
<look type="10" head="19" body="113" legs="95" feet="115" addons="0"/>
 <parameters>
   <parameter key="message_greet" value="Ola guerreiro, por favor, tenho algumas {missoes}." />
 </parameters>
</npc>

 

npc/scripts/quester.lua:

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, 'missoes')) then
selfSay('Ok, Para começar vamos fazer a {primeira missao}?', cid)
end
---------------------------------------------------------
if(msgcontains(msg, 'primeira missao')) then
selfSay('Mate alguns orcs e me traga 1 {club}', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'club') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,111) > 0) then
selfSay('Voce ja terminou essa missao.', cid)
else
if(doPlayerRemoveItem(cid, 2382, 1) == TRUE) then
setPlayerStorageValue(cid,111,1)
doPlayerAddItem(cid,2160,1000000)
selfSay('Obrigado! Se quiser ja podes fazer a {segunda missao}..', cid)
else
selfSay('Voce não tens os 1 club para me dar..', cid)
end
end
return true
end
---------------------------------------------------------
if(msgcontains(msg, 'segunda missao')) then
selfSay('Mate uns Orcs e me de 1 battle {axe}', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'axe') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,112) > 0) then
selfSay('Voce ja acabou essa missao.', cid)
else
if(doPlayerRemoveItem(cid, 2378, 1) == TRUE) then
setPlayerStorageValue(cid,112,1)
doPlayerAddExperience(cid,300000)
selfSay('Obrigado! Se quiser ja podes fazer a {terceira missao}..', cid)
else
selfSay('Voce não tens 1 battle axe para me dar..', cid)
end
end
return true
end
---------------------------------------------------------
if(msgcontains(msg, 'terceira missao')) then
selfSay('Mate alguns Orcs e me de 1 chain {armor} .', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'armor') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,113) > 0) then
selfSay('Você ja terminou essa missão e ainda não tenho uma quarta missão para lhe dar.', cid)
else
if(doPlayerRemoveItem(cid, 2464, 1) == TRUE) then
setPlayerStorageValue(cid,113,1)
doPlayerAddItem(cid,10136,1)
selfSay('Obrigado! Voce ja terminou as minhas 3 missões.)', cid)
else
selfSay('Voce não pegou o Chain armor ainda', cid)
end
end
return true
end


end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Para configurar apenas troque os ID dos items e quantidade, nada de mais, xD

 

Para fazer novas missões apenas acrescente essa parte a baixo da 3 missao:

---------------------------------------------------------
if(msgcontains(msg, 'quarta missao')) then
selfSay('Mate alguns Orcs e me de 2 {chain armor} .', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'chain armor') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,114) > 0) then
selfSay('Você ja terminou essa missão e ainda não tenho uma quarta missão para lhe dar.', cid)
else
if(doPlayerRemoveItem(cid, 2464, 2) == TRUE) then
setPlayerStorageValue(cid,114,1)
doPlayerAddItem(cid,10136,1)
selfSay('Obrigado! Voce ja terminou as minhas 3 missões.)', cid)
else
selfSay('Voce não pegou os 2 Chain armor ainda', cid)
end
end
return true
end

Nunca esquecendo tambem de trocar as storages dadas quando terminar a missão.

GuhPkG
20 de outubro de 2012 às 18:14

Tava terminando ja, mas o milbradt ja fez 1 ai...

Então ve se funciona!! usahasuh'