Ir para conteúdo

[Pedido] Script Desse Npc


garcula17

Posts Recomendados

Bom nessa quest de meu OT você fala com o primeiro NPC converssa e converssa ate que ele te da a carta e você tenque leva-la para sua mulher

 

Bom o Primeiro npc que fis,que da a carta ta 100% veja:

 

function onCreatureSay(cid, type, msg)

queststatus = getPlayerStorageValue(cid,4350)

if queststatus == -1 or queststatus == 0 then

if((msg == "hi")) then

selfSay("Olá meu Jovem", cid, TRUE)

selfSay("Você poderia mi {ajudar} ?", cid)

elseif((msg == "ajudar")) then

selfSay("Fui preso por roubar comida,Mas não é oque parece, meus {filhos} estavão com fome e eu sem emprego, E minha Mulher Doente...Era necessario", cid)

elseif msgcontains(msg, 'filhos') then

selfSay("Sim, Tenho 2 pequenos,Bom preciso que você leve esta Carta para minha esposa, Nela escrevi que estou bem e em pouco tempo estarei livre, Você pode Levar a carta para minha Esposa?", cid)

elseif msgcontains(msg, 'yes') then

selfSay("Muito Obrigado! A casa fica a leste de Malfer City, Serei grato eternamente a você, meu caro rapaz.", cid)

doPlayerAddItem(cid,2333,1,0)

setPlayerStorageValue(cid,4350,1)

end

end

end

 

Funfando blz, Porem a mulher (Segundo NPC) ela ate remove a carta do da BP e seta o Storage porem não da o item da reconpenssa :S vejão:

 

function onCreatureSay(cid, type, msg)

queststatus = getPlayerStorageValue(cid,4350)

if queststatus == 1 then

if((msg == "hi")) then

selfSay("Mas que vida {cruel}...", cid, TRUE)

selfSay("Não acha meu Jovem?", cid)

elseif((msg == "cruel")) then

selfSay("O Rei mandou prender meu pobre {marido}, E ele so estava tetando dar oque comer a nossos filhos...", cid)

elseif msgcontains(msg, 'marido') then

selfSay("Sim, Meu pobre {ramon}...", cid)

elseif msgcontains(msg, 'ramon') then

selfSay("Por acaso sabe algo sobre meu Ramon?", cid)

elseif msgcontains(msg, 'yes') then

selfSay("hmmmm, Então ele te deu esta carta? Bom pelomenos assim sei que ele ainda Está vivo...Me de a {carta}", cid)

elseif msgcontains(msg, 'carta') then

itemstatus = doPlayerRemoveItem(cid,2333,1)

elseif itemstatus == 1 then

selfSay('Muito Obrigado por nos Ajudar!!')

setPlayerStorageValue(cid,4350,2)

doPlayerAddItem(cid,2131,1,0)

end

end

end

 

 

E o mais engraçado e se depois dela ja remover a carta e setar storage você disser qualquer coisa no Chat ela te da a Reconpenssa... Alguem pode arrumar para min ? Muito Obrigado :thumbsupsmiley:

Link para o comentário
Compartilhar em outros sites

refiz os 2 npc...

 

Primeiro:

 

NOME DO SEU NPC.XML

 

<?xml version="1.0"?>
<npc name="NOME DO SEU NPC" script="data/npc/scripts/quest_letter1.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|.Voce poderia me {ajudar}? "/>
</parameters>
</npc>

 

Em Npc/script Crie um arquivo.lua e renomeie para:

 

quest_letter1.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 

local carta_id = 2333
local Storage = 4350 

if(msgcontains(msg, 'ajudar') or msgcontains(msg, 'AJUDAR')) then
if getPlayerStorageValue(cid, Storage) <= 0 then 
selfSay('Fui preso por roubar comida,Mas não é oque parece, meus {filhos} estavão com fome e eu sem emprego, E minha Mulher Doente...Era necessario ', cid) 
talkState[talkUser] = 1
else
selfSay('Eu já lhe entreguei a carta,por favor leve para minha esposa!', cid)
talkState[talkUser] = 0
end
elseif msgcontains(msg, 'filhos') and talkState[talkUser] == 1 then
selfSay('Sim, Tenho 2 pequenos,Bom preciso que você leve esta Carta para minha esposa, Nela escrevi que estou bem e em pouco tempo estarei livre, Você pode Levar a carta para minha Esposa? {yes}', cid)
talkState[talkUser] = 2
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
selfSay('Muito Obrigado! A casa fica a leste de Malfer City, Serei grato eternamente a você, meu caro rapaz', cid)
setPlayerStorageValue(cid,Storage,1)
doPlayerAddItem(cid,carta_id,1)
talkState[talkUser] = 0
elseif msg == "no" and talkState[talkUser] >= 1 then 
selfSay("Then not", cid) 
talkState[talkUser] = 0 
npcHandler:releaseFocus(cid) 
end 
return TRUE 
end 


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

 

 

 

SEGUNDO NPC:

 

NOME DO SEU NPC.XML

<?xml version="1.0"?>
<npc name="NOME DO SEU NPC" script="data/npc/scripts/quest_letter2.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|.Mas que vida {cruel},nao acha meu jovem..."/>
</parameters>
</npc>

 

novamente em NPC/SCRIPT crie um arquivo.lua e renomeie para:

 

quest_letter2.

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 

local carta_id = 2333
local Storage = 4350
local recompensa = 2131 

if(msgcontains(msg, 'cruel') or msgcontains(msg, 'CRUEL')) then
if getPlayerStorageValue(cid, Storage) == 1 then
selfSay('O Rei mandou prender meu pobre {marido}, E ele so estava tetando dar oque comer a nossos filhos...', cid) 
talkState[talkUser] = 1
else
selfSay('Não quero nada com você agora,volte depois!', cid)
talkState[talkUser] = 0
end
elseif msgcontains(msg, 'marido') and talkState[talkUser] == 1 then
selfSay('Sim, Meu pobre {ramon}...}', cid)
talkState[talkUser] = 2
elseif msgcontains(msg, 'ramon') and talkState[talkUser] == 2 then
selfSay('Por acaso sabe algo sobre meu Ramon? {yes}', cid)
talkState[talkUser] = 3
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 3 then
selfSay('hmmmm, Então ele te deu esta carta? Bom pelomenos assim sei que ele ainda Está vivo...Me de a {carta}', cid)
talkState[talkUser] = 4
elseif msgcontains(msg, 'carta') and talkState[talkUser] == 4 then
if (getPlayerItemCount(cid, carta_id) >= 1) then 
setPlayerStorageValue(cid,Storage,2)
doPlayerAddItem(cid,recompensa,1)
doPlayerRemoveItem(cid, carta_id, 1)
selfSay('Obrigado por nós ajudar!', cid)
talkState[talkUser] = 0
else
selfSay('Você não está com a carta que ramon lhe deu,volte e me traga!', cid)
talkState[talkUser] = 0
end
elseif msg == "no" and talkState[talkUser] >= 1 then 
selfSay("Then not", cid) 
talkState[talkUser] = 0 
npcHandler:releaseFocus(cid) 
end 
return TRUE 
end 


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

Link para o comentário
Compartilhar em outros sites

Vodkart

 

Pow cara de verdade, MUITO OBRIGADO, Nunca ia conssegui fase um TÃO bem feito assim... Esse é o primeiro NPC de quest que crio aew olhando pra script que fis e a sua, A minha tava BEM vasia e ganbiarrada :P:

Serio msm, Vlw aew :thumbsupsmiley2:

Esse meu OT que ta en Construção, É mapa proprio e na vdd sou Mapper msm e tal, Ja fis varias actions bacanas e algumas quests bem RPG msm, Mas algumas Scripts fojem totalmente do meu conhecimento...

Tenho outro NPC aqui que tb é de outra quest, Se você quiser ajudar nesse tb, eu te passo meu msn aew agente ve...

Mais tb se nun quise blz, Ja ajudo DEMAISSS msm!!! Vlw :D

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...