BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Pedido NPC Bless

Pedido NPC Bless

#1 Pedido NPC Bless el Vie Sep 27, 2013 7:30 pm

Amy Azzkaban


Miembro
Hola! Necesito un NPC, que venda todas las bless pero me refiero a que te las venda todas sin tener que comprar una por una.  Me ayudan?

#2 Re: Pedido NPC Bless el Vie Sep 27, 2013 10:20 pm

AngeluzMG


Miembro
[Tienes que estar registrado y conectado para ver este vínculo]

http://titanpad.com/angeluzmg

#3 Re: Pedido NPC Bless el Sáb Sep 28, 2013 12:58 am

Amy Azzkaban


Miembro
Muchas gracias, pero ese script es para comprar uno por uno cada bless, y necesito comprar todas de una sola vez

Te agregué rep+

#4 Re: Pedido NPC Bless el Sáb Sep 28, 2013 3:45 am

AngeluzMG


Miembro
Testeado

Código:
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

    bless2 = getPlayerBlessing(cid,2)
    tbless = 'Sorry, but you already have this blessing.'
    tbless2 = 'Sorry, but you already have one blessing, and u cant buy all others.'
    obless = 'I will give to you all blessings, but you will have to make a sacrifice. Are you prepared to pay 6 crystal coins for the blessings?'
    mbless = 'Oh. You do not have enough money.'
    gbless = 'Now the Gods blessed you.'
    price = 60000
    player_gold = getPlayerItemCount(cid,2148)
    player_plat = getPlayerItemCount(cid,2152)*100
    player_crys = getPlayerItemCount(cid,2160)*10000
    player_money = player_gold + player_plat + player_crys

    if msgcontains(msg, 'all blessings') then
        if isPremium(cid) then
            if player_money >= price then
                selfSay(obless, cid)
                talkState[talkUser] = 2
            else
                selfSay(mbless, cid)
                talkState[talkUser] = 0
            end
        else
            selfSay(pbless, cid)
            talkState[talkUser] = 0
        end

    elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
        talkState[talkUser] = 0
        if bless2 then
            selfSay(tbless, cid)
        else
            if doPlayerRemoveMoney(cid, price) == TRUE then
                doPlayerAddBlessing(cid, 1)
                doPlayerAddBlessing(cid, 2)
                doPlayerAddBlessing(cid, 3)
                doPlayerAddBlessing(cid, 4)
                doPlayerAddBlessing(cid, 5)
                selfSay(gbless, cid)
            else
                selfSay(mbless, cid)
            end
        end

------------------------------------------------ confirm no ------------------------------------------------
    elseif msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 5) then
        selfSay('Ok than.', cid)
        talkState[talkUser] = 0
    end
    -- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.
    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
PD: a lo mejor le queras cambiar lo que tienes que decir para comprarlos: "all blessings"

Cuando leí el tema creí que lo que No buscabas eran 5 npc's por eso puse 1 npc que vende los 5.
pero ahora ya esta corregí mi error xD

Hasta pronto y suerte.

http://titanpad.com/angeluzmg

#5 Re: Pedido NPC Bless el Sáb Sep 28, 2013 10:13 am

Amy Azzkaban


Miembro
Muchas gracias!! Te agregué Rep+ otra vez  y me encantó las lineas para hablar  con el NPC, y las pondré en español. Pero  tengo una pequeñisima duda:

price = 60000
    player_gold = getPlayerItemCount(cid,2148)
    player_plat = getPlayerItemCount(cid,2152)*100
    player_crys = getPlayerItemCount(cid,2160)*10000
    player_money = player_gold + player_plat + player_crys



Cómo lo hago para que en total las bless salgan 5000 gp? Nosé que editar en esas lineas.

#6 Re: Pedido NPC Bless el Sáb Sep 28, 2013 10:34 am

Elexonic


Miembro
Mm no lo vi bien el script.. pero creo que con solo editar price = 60000 quedaria..
ya que lo otro creo que hace que junta las monedas de oro,plata y cc... asi para saber si tiene dinero..
pruebalo sino me dices y lo edito para como lo quieres.

#7 Re: Pedido NPC Bless el Sáb Sep 28, 2013 3:21 pm

AngeluzMG


Miembro
como dice Elexonic con solo editar: price = 60000 y la linea de texto que dice el precio y listo.

los demas renglones son para que te acepte las monedas:

1 gp
1 gp x 100 = platinium
1 gp x 10000 = cc

Código:
price = 5000

obless = 'I will give to you all blessings, but you will have to make a sacrifice. Are you prepared to pay 5000 gold coins for the blessings?'

http://titanpad.com/angeluzmg

#8 Re: Pedido NPC Bless el Dom Sep 29, 2013 8:39 pm

Amy Azzkaban


Miembro
Acabo de modificar al NPC para que la conversación sea en español, pero no entiendo como empezar el XML del NPC.

Código:
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

    bless2 = getPlayerBlessing(cid,2)
    tbless = 'Lo siento, tu ya estas bendecido.'
    tbless2 = 'Oh lo siento, tu ya tienes un bless o mas, no tienes que tener ningun bless para comprar todos.'
    obless = 'Yo te puedo vender todos los bless, pero tu necesitas hacer un sacrificio. Estas preparado para pagar 5000 GP para obtener todas las bless?'
    mbless = 'Mmm, veo que no tienes suficiente dinero.'
    gbless = 'Ahora los dioses te han bendecido.'
    price = 5000
    player_gold = getPlayerItemCount(cid,2148)
    player_plat = getPlayerItemCount(cid,2152)*100
    player_crys = getPlayerItemCount(cid,2160)*10000
    player_money = player_gold + player_plat + player_crys

    if msgcontains(msg, 'todas las bless') then
        if isPremium(cid) then
            if player_money >= price then
                selfSay(obless, cid)
                talkState[talkUser] = 2
            else
                selfSay(mbless, cid)
                talkState[talkUser] = 0
            end
        else
            selfSay(pbless, cid)
            talkState[talkUser] = 0
        end

    elseif msgcontains(msg, 'si') and talkState[talkUser] == 2 then
        talkState[talkUser] = 0
        if bless2 then
            selfSay(tbless, cid)
        else
            if doPlayerRemoveMoney(cid, price) == TRUE then
                doPlayerAddBlessing(cid, 1)
                doPlayerAddBlessing(cid, 2)
                doPlayerAddBlessing(cid, 3)
                doPlayerAddBlessing(cid, 4)
                doPlayerAddBlessing(cid, 5)
                selfSay(gbless, cid)
            else
                selfSay(mbless, cid)
            end
        end

------------------------------------------------ confirm no ------------------------------------------------
    elseif msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 5) then
        selfSay('Ok como quieras, igual vas a volver.', cid)
        talkState[talkUser] = 0
    end
    -- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.
    return true
end

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

#9 Re: Pedido NPC Bless el Dom Sep 29, 2013 10:45 pm

AngeluzMG


Miembro
Código:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Blessing Man" script="data/npc/scripts/bless.lua" walkinterval="2000" floorchange="0">
  <health now="100" max="100"/>
  <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
</npc>
.xml sacado de un post de Nights

http://titanpad.com/angeluzmg

#10 Re: Pedido NPC Bless el Jue Oct 03, 2013 12:01 pm

Amy Azzkaban


Miembro
Muchas gracias! Funciona perfectamente. Te agregué Rep+ a cada comentario, y le puse tu nombre al NPC.

[Tienes que estar registrado y conectado para ver este vínculo]

#11 Re: Pedido NPC Bless el Jue Oct 03, 2013 12:06 pm

Strack


Scripter
jajajaj Amy alfinal tendrá un npc con el nombre de cada uno de BlackTibia

#12 Re: Pedido NPC Bless el Jue Oct 03, 2013 12:13 pm

Amy Azzkaban


Miembro
Xaxaxaxa siiiii, y los estoy poniendo en una ciudad premium que se llama Black Land

#13 Re: Pedido NPC Bless Hoy a las 1:43 pm

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 .