Boa men se ainda vai ter um Otimo futuro como Scripter! xD
- Fórum
- OTServ
- Recursos
- Scripting
- NPCs, monsters e raids
- Npc Quest para PDA - Slicer !
Npc Quest para PDA - Slicer !
Por StyloMaldoso, 16 de fev. de 2013 em NPCs, monsters e raids
info
Grupo: Herói
Registrado: 12/06/12
Posts: 2.2k
Reputação: +739
Gênero: Masculino
Char no Tibia: Supreme Player

info
Grupo: Infante
Registrado: 06/03/13
Posts: 1.6k
Reputação: +319
Gênero: Masculino
Char no Tibia: Lord Sorte

Boa man interesante esse npc testei e aprovei obg por trazer conteudo ao xtibia ;D
Atenciosamente: Kttallan
info
Grupo: Campones
Registrado: 18/11/12
Posts: 28
Reputação: +1
Char no Tibia: Havoks Rl

Queria esse mesmo NPC, so que tipo, com itens "aleatorios", Eu vo colocar o nome do NPC De : "Papai Noel", ele vai dar itens de acordo do que eu escolher, aleatoriamente, alguem ajuda ?!
info
Grupo: Campones
Registrado: 18/11/12
Posts: 28
Reputação: +1
Char no Tibia: Havoks Rl

Namoral, xtibia acabou
, Não e o mesmo de antes, virou uma verdadeira "merda" .
Me retiro do Forum, vo procurar outro
))




info
Grupo: Infante
Registrado: 25/01/12
Posts: 1.6k
Reputação: +330
Bom pessoal, com a ajuda do slicer consegui cria meu 2° scripter de quest por npc kk, é bem basíco mais para min ja é um otímo começo não? vamos lá, data/npc/xxx.lua
data/npc/script/xxx.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 msg = string.lower(msg) --------- local configuration = { add_item = 2154, remove_item = 2160, StoAdd = 52312, } local pos = {x=1024, y=1025, z=7} if (msgcontains(msg, 'Help') or msgcontains(msg, 'help')) then if getPlayerStorageValue(cid, configuration.StoAdd) >= 0 then selfSay("Desculpe , você ja completou essa quest, soma daqui !!", cid) return true end selfSay("Olá.Pareçe que você esta intereçado a completar a missão que irei lhe dar né? se você quizer digite yes ou sim para continuar!", cid) talkState[talkUser] = 1 return true elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then selfSay("hum, você realmente esta intereçado intão vamos lá, eu preciso de 10 hunter dollar para eu lhe recompesar, você deseja continuar,se sim digite finish!?", cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'finish') and talkState[talkUser] == 2 then if getPlayerItemCount(cid, configuration.remove_item) < 10 then selfSay("Desculpe, mais voce não tem os 10 hunter doller necessario para completa essa quest, volte quando tiver!", cid) talkState[talkUser] = 0 return true end selfSay("muito bom, como prometido você cumpriou oque tinha dito e trouse, isso que é o mais importante toma a recompensa e você sera teleportado pra X lugar!", cid) talkState[talkUser] = 0 doPlayerAddItem(cid, configuration.add_item, 10) doPlayerRemoveItem(cid, configuration.remove_item, 1) setPlayerStorageValue(cid, 52312, 1) doTeleportThing(cid, pos) doSendMagicEffect(getThingPos(cid), 29) return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())Vamos as explicações !
vou posta esse script porque é muuuito facil de se editar mesmo e da pra mudar varias coisas e deicha do jeito que bem quizer. pra edita o item que o player vai ganha so altera aqui..
e aqui.. q sera a quantidade
Aquele "10" é a quantidade !
e tem como tu edita o item que o o npc vai pedi pro player pra pode da a recompensa..
e edita aqui também que é a vereficação e a quantidade.....
if getPlayerItemCount(cid, configuration.remove_item) < 10 then selfSay("Desculpe, mais voce não tem os 10 hunter doller necessario para completa essa quest, volte quando tiver!", cid) talkState[talkUser] = 0 return true endAquele "< 10" ó 10 diz q ele vai verefica se o player estiver com 10 hd na bag.. se n tiver vai apareçe a msg..se tiver ele vai remove e so edita aqui também.
o 10 também a quantidade que vai remove, vo da uma explicação como o npc funciona.
Bom se você tiver os 10 hds e termina a quest ele te da a recompensa te teleporta pra x posição ai voceis editão do jeito que bem quizer, para edita a posição só edita simplismente aqui
local pos = {x=1024, y=1025, z=7}Good luck ae, testei aqui no PDA v1.9 funciono sem poblemas.
Editado Fevereiro 16 por StyloMaldoso