Ir para conteúdo

[Npc] Astima Quest


Votem  

5 votos

  1. 1. A Explicação Está Boa?



Posts Recomendados

Olá XTibianos

 

Vim Trazer Direto do meu OT que em breve estára disponivel para download

(Asteek Styller Yourots)

 

Bom Este è Um NPC Bem legal , Alem de ele te dar uma missão ele não é tao comlicado de mexer!

 

 

Bom Tenho 6 Quadros Para Mostrar antes de lhes Ensinar o Script!

 

Quadros

 

86162910.jpg

 

... Bom è Isso...

 

 

 

---------Script's---------

 

Bom A Primeira Coisa que voce vai faser e ir em data/npc's

Dar um Ctrl+c EM Qualquer npc e Um Ctrl+v... Altere o Nome da Pasta Para :

 

Astima...

 

Dentro do XML você Irá Colocar este script:

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

<npc name="Astima Distrud" script="data/npc/scripts/astima.lua" access="3" lookdir="2" walkinterval="2000">

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

<look type="273" head="79" body="94" legs="114" feet="77" addons="1"/>

<parameters>

<parameter key="module_shop" value="1"/>

<parameter key="message_greet" value="Hi |PLAYERNAME| ,Pode me ajudar ? {Aonde} se puder!Se voce possuio que eu desejo diga {Trade}"/>

<parameter key="shop_sellable" value="Falarel Staff,6107,125000"/>

<parameter key="travel_destinations" value="Teletransporteme,150,212,10,150"/>

</parameters>

</npc>

 

Amarelo: Nome Do Item que o NPC Comprara

Laranja: ID Do Item que o NPC I´ra Comprar

Roxo: Palavra Que o Player Dira Para Ser Teletransportado...

Azul: {X,Y,Z} - Localização onde o player sera teletransportado

Verde: Preço que o Player Irá Pagar para ser Teletransportado

Roxo Escuro: Preço que o NPC Pagara na Staff

 

 

Bom , Agora Temos Uma Parte Mais Complicada , Mas Nada de Mais...

 

Crie Um arquivo.lua chamado astima

 

Abrao e Coloque o Seguinte Texto:

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

 

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

 

-- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!

local travelNode = keywordHandler:addKeyword({'teletransporteme'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bom , Vou te Teleportar o mais perto possivel do acidente ,vou te deixar em uma area sem creaturas, isso lhe custara 150 gps , voce esta de acordo?'})

travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 150, destination = {x=150, y=212, z=10} })

travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Entendo sua decisao!'})

 

keywordHandler:addKeyword({'aonde'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Bom ,foi na ponte na caverna dos Warlocks , a caminho dos telepots para Ferumbras Castle , posso te levar la. So basta dizer {Teletransporteme} que te levarei lá.'})

 

-- Makes sure the npc reacts when you say hi, bye etc.

npcHandler:addModule(FocusModule:new())[/code

 

Explicação:

Azul: Texto que ele falara para o player quando ele Dizer 'Teletransporteme'

Azul: {X,Y,Z} - Localização onde o player sera teletransportado

Verde: Preço que o Player Irá Pagar para ser Teletransportado

 

Bom , Agora vou Explicar a condição dos {}

 

Eles São Usados para deixar a Palavra em Azul Claro...

 

 

E Agora a Parte Final...

Vá EmData/actions/actions.xml

E Coloque esse Script

 

<action uniqueid="[color=#FFA500]9182[/color]" script="quests/womancry.lua" />

 

[b]Explicação:[/b]

[color=#FFA500]Laranja[/color]: O Unique ID Utilizado no corpo...[Voce escolhe ele , se 9182 já estiver em uso procure um que ainda não foi utilizado]

 

Bom , Agora Vá Em Actions/scripts/quests

Agora Crie um Arquivo.lua chamado [b]womancry.lua[/b]

 

Dentro dele coloque este script

 

-- Falarel quest :by gasper

 

function onUse(cid, item, frompos, item2, topos)

 

if item.uid == [color=#FFA500]9182[/color] then

queststatus = getPlayerStorageValue(cid,[color=#DDA0DD]9923[/color])

if queststatus == -1 then

doPlayerSendTextMessage(cid,[color=#00FF00]22[/color],"[color=#FFC0CB]Voce Recuperou o Falarel Staff[/color] .")

doPlayerAddItem(cid,[color=#FF8C00]6107[/color],[color=#0000FF]1[/color])

setPlayerStorageValue(cid,[color=#DDA0DD]9923[/color],1)

else

doPlayerSendTextMessage(cid,[color=#00FF00]22[/color],"Não tem mais nada aqui.")

end

else

return 0

end

 

return 1

end

 

 

 

[b]Explicação:[/b]

 

[color=#FFA500]Amarelo Queimado[/color]: Unique ID Utilizado no Corpo

[color=#DDA0DD]Roxo[/color]: Storage Adicionado ao Player

[color=#00FF00]Verde[/color]: Cor da Menssagem que ira aparecer na Tela do Player{No Caso Essa e a Cor Branca}

[color=#FFC0CB]Pele[/color]: Menssagem que ira aparecer na Tela do Player

[color=#FF8C00]Laranja[/color]: ID do item que sera adicionado ao player

[color=#0000FF]Azul[/color]: QUantia de items que o player ganhara

 

 

Agora Vamos Ao RME:

 

Abra Seu Mapa/Escolha o Item que o Player Ira Clicar Para Ganhar a Staff

[b]Eu Usei Um Corpo[/b] - Isso depende da Historia que o NPC Usára!

 

Agora Clique EM Propriedades/Unique ID e Coloque

9182 em cima e em baixo!

 

[b]Quadros[/b]

 

32826508.jpg

 

Pronto!

 

 

Bom è isso...

 

Comentem

 

Obrigado pela atenção!

 

[b]

Gasper[/b]

Editado por anfarosx
Link para o comentário
Compartilhar em outros sites

  • 5 weeks later...

npc bom de portugues ein...

 

por q não coloca pra ele devolve a staff e ganha uma recompensa em troca?

 

n fica legal vende uma coisa que era dele neh...

 

use

 

doPlayerRemoveItem(cid, id, 1)
doPlayerAddItem(cid, id)

Editado por felipedorgas
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...