BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Npc que pida item para promotion

Npc que pida item para promotion

#1 Npc que pida item para promotion el Sáb Jul 04, 2015 6:49 pm

enrikito15


Miembro
He buscado en el foro pero no encuentro nada!.
Lo que quiero esque un npc me pida x item para que me de la promotion.

#2 Re: Npc que pida item para promotion el Dom Jul 05, 2015 3:25 am

ricker


Moderador Global
Usa este:

Npc Promot:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Promot" script="data/npc/scripts/promot.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="130" head="14" body="81" legs="80" feet="93" addons="0"/>
</npc>

promot.lua
Código:
-- ★ Ricker ★ --

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

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 promot(cid, message, keywords, parameters, node)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
        if getPlayerItemCount(cid,8979) >= 1 then
        if doPlayerRemoveItem(cid,8979,1) then
            npcHandler:say('Congratulations! You are now promoted!', cid)
            setPlayerPromotionLevel(cid, 2)
        end
        else
            npcHandler:say('You don\'t have these items!', cid)
    end
end

keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "You need this Item name for your promotion!"})


local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you By 1 rare items. Do you want me to promote you. Yes or no??'})
    node1:addChildKeyword({'yes'}, promot, {npcHandler = npcHandler, onlyFocus = true, reset = true})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})

npcHandler:addModule(FocusModule:new())

Item id usado:
8979

Remueve 1 item cuando hace promotion donde ahi que modificar si quieres que quite mas:
doPlayerRemoveItem(cid,8979,1) ..."" 1 ""....



Última edición por ricker el Dom Jul 05, 2015 2:48 pm, editado 1 vez



[Tienes que estar registrado y conectado para ver esa imagen]
http://facebook.com/kruger.sytes.net/

#3 Re: Npc que pida item para promotion el Dom Jul 05, 2015 2:06 pm

enrikito15


Miembro
Funciona pero al logiar y entrar otra vez se me quita la promotion :S

#4 Re: Npc que pida item para promotion el Dom Jul 05, 2015 3:11 pm

ricker


Moderador Global
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Funciona pero al logiar y entrar otra vez se me quita la promotion :S



Puede que sea error de tu server ya que lo testien en diferentes versiones y anda perfectamente pero igual prueaba ahora con esto:

promot.lua:
Código:
-- ★ Ricker ★ --

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

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 promot(cid, message, keywords, parameters, node)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
        if getPlayerItemCount(cid,8979) >= 1 then
        if doPlayerRemoveItem(cid,8979,1) then
            npcHandler:say('Congratulations! You are now promoted!', cid)
            setPlayerPromotionLevel(cid, 1)
        end
        else
            npcHandler:say('You don\'t have these items!', cid)
    end
end

keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "You need this Item name for your promotion!"})


local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you By 1 rare items. Do you want me to promote you. Yes or no??'})
    node1:addChildKeyword({'yes'}, promot, {npcHandler = npcHandler, onlyFocus = true, reset = true})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})

npcHandler:addModule(FocusModule:new())

Solo cambie esto:
 setPlayerPromotionLevel(cid, 2) por esto   setPlayerPromotionLevel(cid, 1)

y al igual que el primero funciona perfectamente..



[Tienes que estar registrado y conectado para ver esa imagen]
http://facebook.com/kruger.sytes.net/

#5 Re: Npc que pida item para promotion el Lun Jul 06, 2015 11:43 am

enrikito15


Miembro
Ahora no me da la promotion

#6 Re: Npc que pida item para promotion el Lun Jul 06, 2015 4:13 pm

ricker


Moderador Global
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Ahora no me da la promotion

Dafuq...

Pues entonces usa el primero ya que yo lo e probado en diferentes distros y versiones y funciona perfectamente y no fui el unico que lo testio D: y el resultado fue el mismo funciona  a la perfeccion..


Ahora si te sale algun error en consola tambien podria ser de ayuda para saber cual es el verdadero problema..



[Tienes que estar registrado y conectado para ver esa imagen]
http://facebook.com/kruger.sytes.net/

#7 Re: Npc que pida item para promotion el Jue Jul 09, 2015 7:36 am

magebbe


Aprendiz
Ricker, te sabes un script de npc promotion pero yo quiero que de nueva promotion que yo cree he visto en los post de blacktibia pero no veo donde colocar para cambiar a la promotion que yo quiero que de. Si puedes ayudame

#8 Re: Npc que pida item para promotion el Miér Jul 29, 2015 7:35 pm

Anarketo


Novato
como quito un NPC que no uso? simplemente borro el .lua y .xml?

#9 Re: Npc que pida item para promotion el Miér Jul 29, 2015 9:09 pm

Noraziz


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Usa este:

Npc Promot:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Promot" script="data/npc/scripts/promot.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="130" head="14" body="81" legs="80" feet="93" addons="0"/>
</npc>

promot.lua
Código:
-- ★ Ricker ★ --

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

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 promot(cid, message, keywords, parameters, node)
    if(not npcHandler:isFocused(cid)) then
        return false
    end
        if getPlayerItemCount(cid,8979) >= 1 then
        if doPlayerRemoveItem(cid,8979,1) then
            npcHandler:say('Congratulations! You are now promoted!', cid)
            setPlayerPromotionLevel(cid, 2)
        end
        else
            npcHandler:say('You don\'t have these items!', cid)
    end
end

keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "You need this Item name for your promotion!"})


local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you By 1 rare items. Do you want me to promote you. Yes or no??'})
    node1:addChildKeyword({'yes'}, promot, {npcHandler = npcHandler, onlyFocus = true, reset = true})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})

npcHandler:addModule(FocusModule:new())

Item id usado:
8979

Remueve 1 item cuando hace promotion donde ahi que modificar si quieres que quite mas:
doPlayerRemoveItem(cid,8979,1) ..."" 1 ""....

Prueba con doPlayerSetPromotion en vez de   setPlayerPromotionLevel.....
no lo testie por si acaso, capaz que ni sirva haha

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .