Ir para conteúdo
  • 0

[Pedido] Npc System Egg


Pmcd

Pergunta

Bom , preciso de um sistema de pokemon egg , que o deixa dois pokémons no daycare e daqui a um certo tempo eles tem um ovo , e pegando o ovo deixa uns min no npc que dá um Pokemon.

 

Ex : Deixo um Venusaur + Torterra no NPC , pode vim tanto um turtuiwg ou um bulbasaur.

 

Detalhes adicionais : Eu tentei do SkyDangerous e não deu certo. E eu uso o pokémon centurion 3.2.

 

Script do SkyDangerous :

 

 

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 onCreatureSayCallback(cid, type, msg)

local config = {

price = 50000,

delay = 5 * 60,

control = {10555, 10556},

eggn = 4850

}

if not npcHandler:isFocused(cid) then

return false

end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

if msgcontains(msg, "care") then

local p = (config.price % 1000 == 0 and (config.price / 1000) or config.price)

if getPlayerStorageValue(cid, config.control) > os.time() then

selfSay("Sorry, but I am already caring one of your eggs.", cid)

else

selfSay("Do you want me to take care of your egg for ".. p .." ".. (p == config.price and "" or "k") .."?", cid)

talkState[talkUser] = 1

end

 

elseif msgcontains(msg, "back") then

if getPlayerStorageValue(cid, config.control[2]) == 1 then

selfSay("Hello, do you came to pick up your egg?", cid)

talkState[talkUser] = 2

else

selfSay("Sorry, but I am not caring eggs from you.", cid)

end

 

elseif msgcontains(msg, "check") then

local t = getPlayerStorageValue(cid, config.control[1])

if getPlayerStorageValue(cid, config.control[2]) == -1 then

selfSay("Sorry, but I am not caring eggs from you.", cid)

else

if t < os.time() then

selfSay("Yay, your egg has started to hatch, take it.", cid)

setPlayerStorageValue(cid, config.control[1], -1)

setPlayerStorageValue(cid, config.control[2], -1)

else

selfSay("I will be caring your egg for more ".. (math.floor((t - os.time()) / 60) > 0 and "".. math.floor((t - os.time()) / 60) .." minutes and" or "") .." ".. (t - os.time()) % 60 .." seconds.", cid)

end

end

end

 

if talkState[talkUser] == 1 then

if msgcontains(msg, "yes") then

if getPlayerStorageValue(cid, config.control[2]) == -1 then

if doPlayerRemoveMoney(cid, config.price) then

setPlayerStorageValue(cid, config.control[2], 1)

setPlayerStorageValue(cid, config.control[1], os.time()+config.delay)

selfSay("Okay! Check back soon.", cid)

else

selfSay("Sorry, you don't have enough money. You need more ".. (config.price - getPlayerMoney(cid)) .." coins.", cid)

end

else

selfSay("I am already taking care of a egg for you.", cid)

end

elseif msgcontains(msg, "no") then

selfSay("Too pricey for you, heh?", cid)

end

elseif talkState[talkUser] == 2 then

local x = getPlayerStorageValue(cid, config.control)

local t = getPlayerStorageValue(cid, config.control[1])

if msgcontains(msg, "yes") then

if x > os.time() then

local item = doPlayerAddItem(cid, config.eggn, 1)

doItemSetAttribute(item, "description", "A hatched egg.")

selfSay("Take it!", cid)

setPlayerStorageValue(cid, control[2], -1)

setPlayerStorageValue(cid, control[1], -1)

else

selfSay("Sorry, but your egg need care for more ".. (math.floor((t - os.time()) / 60) > 0 and "".. math.floor((t - os.time()) / 60) .." minutes and" or "") .." ".. (t - os.time()) % 60 .." seconds.", cid)

end

end

end

return true

end

 

npcHandler:setMessage(MESSAGE_GREET, "Hello, |PLAYERNAME|. I am a pet egg carer. Do you want me to {care} your pet eggs? Also you can {check} the egg status and if you have any egg here, you can get it {back}.")

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback)

 

npcHandler:addModule(FocusModule:new())

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

13 respostass a esta questão

Posts Recomendados

  • 0

Amigos queridos, achei essa de negativar o cara de primeira muito mal hein ... Novatos.... voces já foram um!

 

@PMCD

 

Posta o script que voce tem ai! Fica mais faciil de ajudar!

Link para o comentário
Compartilhar em outros sites

  • 0

esse script do sky não funciona mesmo, eu mesmo testei num ot 8.54 e não funcionou, ele retira o dinheiro mais o egg continua com o player e quando vai tirar nada acontece... tente procurar outro ou fazer um para você como foi o que eu fiz.

Link para o comentário
Compartilhar em outros sites

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