Ir para conteúdo
  • 0

Npcs Derivdos


Mated

Pergunta

queria pedir um npc derivado de otro EX: um plyer tem q fala com NPC1 pra ele libera uma storage pr poder fala com o NPC2...caso o player for fala primeiro com o npc 2 o npc 2 vai fala vc tem q fala primeiro com o npc 1 ra dps vim fala comigo

 

 

e o npc 1 um vai fala assim ola as instruções sao essa: pegue o item X e depois entre ao npc 2

 

e o npc 2 vai fala assim ola vejo que vc ja falou com meu irmao o npc 1 min entregue oq ele lhe ordenou pra eu te dar uma recompenssa =D

 

 

valendo rep+

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Esta ai o npc

Provavelmente vai ter erros, porque nao testei !!!

Ignore os erros de portugues !!

Edite as frases de acordo com a situaçao !!!

 

 

Na posta data/npc copia qualquer arquivo .xml e renomeie para missao e ponha isto

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Zero Blank" script="data/npc/scripts/missao.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="128" head="100" body="40" legs="80" feet="90" addons="3"/>
<parameters>
<parameter key="message_greet" value="Hey |PLAYERNAME|, tenho uma {missao} pra voce  !!!" />

</parameters>
</npc>

 

Pode editar a frase como quiser so nao mexa no {missao}

 

Crie outro renomeie outro arquivo .xml e o renomeie para missao2 e ponha isto

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Xiro Blank" script="data/npc/scripts/missao2.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="128" head="100" body="40" legs="80" feet="90" addons="3"/>
<parameters>
<parameter key="message_greet" value="Hey |PLAYERNAME|, voce falou com meu {irmao} ??" />

</parameters>
</npc>

 

Agora em scripts copie 1 arquivo .lua cole e renomeie para missao e ponha isto

 

-------------------
--- NPC MISSAO ----
--- by:Neerd   ---
-------------------
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, 'missao') then
if getPlayerStorageValue(cid,5537) == -1 then
selfSay('Quero que voce leve (ITEM) ao meu irmao Xiro Blank.', cid)
selfSay('Voce pode me fazer este favor?? {yes}',cid)
talkState[talkUser] = 1
else
selfSay('Voce ja me fez, este favor.',cid)
end

if(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
doPlayerAddItem(cid,ID DO ITEM, QUANTIDADE DO ITEM)
selfSay('Voce pode encontralo proximo do templo....',cid)
setPlayerStorageValue(cid,5537,1)
end
return true
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Dentro dos selfSay estao as frases vode pode editar como preferir, onde esta escrito id do item,quantidade do item voce poe o item que ele tem que levar pro irmao dele

 

copie 1 arquivo .lua cole e renomeie para missao2 e ponha isto

 

-------------------
--- NPC MISSAO ----
--- by:Neerd   ----
-------------------
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, 'irmao') then
if getPlayerStorageValue(cid,5537) == 1 then
selfSay('Voce me trouce ITEM, vejo que Zero Blank nao se esqueceu de min...', cid)
selfSay('Obrigado pela ajuda !',cid)
doPlayerAddItem(cid,2160, 10)
setPlayerStorageValue(cid,5537,2)
else
selfSay('Voce deve falar com Zero Blank primeiro.',cid)
end
if getPlayerStorageValue(cid,5537) == 2 then
selfSay('Obrigado pela ajuda daquele dia',cid)
end
return true
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Esta ai, tenho que ir pra escola, qualquer coisa posta ai que to de olho

Link para o comentário
Compartilhar em outros sites

  • 0

ok vou testa aki e amanha te dou rep+

 

aew amigo testei e deu nisso:

 

 

[06/09/2012 22:05:41] [Error - LuaScriptInterface::loadFile] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:05:41] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/npc1.lua

[06/09/2012 22:05:41] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:05:47] [Error - LuaScriptInterface::loadFile] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:05:47] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/npc1.lua

[06/09/2012 22:05:47] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:05:58] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/npc.xml).

[06/09/2012 22:05:58] Info: failed to load external entity "data/npc/npc.xml"

 

 

[06/09/2012 22:06:30] [Error - LuaScriptInterface::loadFile] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:06:30] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/npc1.lua

[06/09/2012 22:06:30] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:06:39] [Error - LuaScriptInterface::loadFile] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:06:39] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/npc1.lua

[06/09/2012 22:06:39] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:07:01] [Error - LuaScriptInterface::loadFile] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:07:01] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/npc1.lua

[06/09/2012 22:07:01] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:08:10] [Error - LuaScriptInterface::loadFile] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:08:10] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/npc1.lua

[06/09/2012 22:08:10] data/npc/scripts/npc1.lua:28: ')' expected near 'DO'

[06/09/2012 22:08:13] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/npc 1.xml).

[06/09/2012 22:08:13] Info: failed to load external entity "data/npc/npc 1.xml"

 

 

e quando tento sumona o npc1 ele n pega mais o npc2 pega quando eu sumono

Link para o comentário
Compartilhar em outros sites

  • 0

@mated Eu testei em meu computador e funcionou corretamente... seu erro foi

if(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

doPlayerAddItem(cid,ID DO ITEM, QUANTIDADE DO ITEM)

selfSay('Voce pode encontralo proximo do templo....',cid)

 

Tem que alterar ali se nao da erro mesmo ...

 

Vou te pasar ele com a id do crystal coin:

 

 

 

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

--- NPC MISSAO ----

--- by:Neerd ---

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

 

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

if getPlayerStorageValue(cid,5537) == -1 then

selfSay('Quero que voce leve (ITEM) ao meu irmao Xiro Blank.', cid)

selfSay('Voce pode me fazer este favor?? {yes}',cid)

talkState[talkUser] = 1

else

selfSay('Voce ja me fez, este favor.',cid)

end

 

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

doPlayerAddItem(cid,2160,1)

selfSay('Voce pode encontralo proximo do templo....',cid)

setPlayerStorageValue(cid,5537,1)

return true

end

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

Altere o id de acordo com a situaçao

 

Agora funciona, qualquer coisa posta ai que to de olho !

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

  • 0

Pronto e so coloca o id do item que tem que remover e a quantidade

 

--- NPC MISSAO ----

--- by:Neerd ----

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

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

if getPlayerStorageValue(cid,5537) == 1 then

selfSay('Voce me trouce ITEM, vejo que Zero Blank nao se esqueceu de min...', cid)

selfSay('Obrigado pela ajuda !',cid)

doPlayerAddItem(cid,2160, 10)

doPlayerRemoveItem(cid, itemid, quantidade)

setPlayerStorageValue(cid,5537,2)

else

selfSay('Voce deve falar com Zero Blank primeiro.',cid)

end

if getPlayerStorageValue(cid,5537) == 2 then

selfSay('Obrigado pela ajuda daquele dia',cid)

end

return true

end

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...