Ir para conteúdo

[Encerrado] [Pedido]Npc


luciano0223

Posts Recomendados

eu queria criar um npc "Flint", que quando vc tivesse lvl 35, vc falaria "hi,stone,yes" e ele trocava 100 stone orb por 1 rock stone, e só podera fazer isso 1 vez

 

Dialogo:

 

Player lvl 35+:hi

Flint:Hello, Pewter is the rock's city, I sell them to tourist.

Player lvl 35+:stone

Flint: You seem to be a trainer, you wouldn't want to buy them. Well, my stock is finishing could you bring me 100 stone orbs? At level 30 you can get better prizes. Are you sure you want to finish it now?

Player lvl 35+:yes

Flint:Okay, take your stone

Player lvl 35+ sem 100 stone orbs:no

Flint: Go get me, I'll give you a good reward

 

Player lvl 35 -: hi

Flint: Hello, Pewter is the rock's city, I sell them to tourist.

Player lvl 35-:stone

Flint:You do not have lvl 35, and my inventory is full

Link para o comentário
Compartilhar em outros sites

amigo pedidos de servidores de pokemon, dbz, naruto e afins, servidores derivados, devem ser postados na area de servidores derivados, la vc tera mais chances de ter ajuda...

eh a 2* vez q movo um topico seu, por favor leia as regras do forum e preste mais atençao na proxima...

 

movido

 

 

tenta assim...

npc/flint.xml

 

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

<npc name="Flint" script="flint.lua" walkinterval="3000" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="1151" head="114" body="119" legs="114" feet="114" corpse="2212"/>

<parameters>
   <parameter key="message_greet" value="Hello, Pewter is the rock's city, I sell them to tourist."/>
</parameters>
</npc>

 

 

npc/scripts/flint.lua

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function doBuyPokemonWithCasinoCoins(cid, poke) npcHandler:onSellpokemon(cid) end
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 msg = msg:lower()

local storage = 635560  --storage da quest..
local orb = 1111 --muda aki o id da stone orb
local stone = 2222 --muda aki o id da rock stone

if msgcontains(msg, 'stone') and (not talkState[talkUser] or talkState[talkUser] == 0) then						   
  if getPlayerLevel(cid) < 35 then
	  selfSay("You do not have lvl 35, and my inventory is full.", cid)
	  talkState[talkUser] = 0
  elseif getPlayerStorageValue(cid, storage) >= 1 then
	  selfSay("You already have help me!", cid)
	  talkState[talkUser] = 0
  else
	  selfSay("You seem to be a trainer, you wouldn't want to buy them. Well, my stock is finishing could you bring me 100 stone orbs? At level 35 you can get better prizes. Are you sure you want to finish it now?", cid)
	  talkState[talkUser] = 1
  end
elseif msgcontains(msg, "yes") and  talkState[talkUser] == 1 then
  if getPlayerItemCount(cid, orb) < 100 then
  selfSay("Go get me, I'll give you a good reward", cid)
  talkState[talkUser] = 0
  else
  selfSay("Okay, take your stone.", cid)
  doPlayerRemoveItem(cid, orb, 100)
  doPlayerAddItem(cid, stone, 1)
  talkState[talkUser] = 0
  end   
end

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

 

 

lembrando q caso o npc funcione, reporte o topico -clica em denunciar- e diga q a duvida foi sanada, ou pelo menos fle aki no topico q o script funcionou.... e n esqueça de fazer isso tb no topico da jesse e james!

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

xi erro meu..

acha isso...

selfSay("Okay, take your stone.", cid)
doPlayerRemoveItem(cid, orb, 100)
doPlayerAddItem(cid, stone, 1)
talkState[talkUser] = 0

 

e deixa assim..

selfSay("Okay, take your stone.", cid)
doPlayerRemoveItem(cid, orb, 100)
doPlayerAddItem(cid, stone, 1)
setPlayerStorageValue(cid, storage, 1)
talkState[talkUser] = 0

Link para o comentário
Compartilhar em outros sites

  • 5 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...