BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[PEDIDO] Boss loot items for Dead!

[PEDIDO] Boss loot items for Dead!

#1 [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 12:15 pm

Acan


Miembro
Hola como están a todos los usuarios de BT. quisiera un scripts para un boss que de items pero al inventario o bag directamente del player que luche contra el y lo derrote en batalla. porque lo pido así ya que en el monster puedo ponerlo eso. la idea es que mi boss no tendrán cuerpo. si es un creaturescript mejor. nose si me captan la idea!



Última edición por Acan el Vie Mayo 27, 2016 6:25 pm, editado 1 vez

#2 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 12:34 pm

Noraziz


Miembro
creaturescript
Código:
local config = {
    ["Orc"] = {msj = "mensaje que quieres que diga", item = xxxx},
    ["Rat"] = {msj = "mensaje que quieres que diga", item = xxxx}
}
function onKill(cid, target, lastHit)
    local monsterName = config[getCreatureName(target)]
    if isMonster(target) and monsterName  and lastHit == TRUE then
      doSendAnimatedText(getCreaturePosition(cid), monsterName.msj, TEXTCOLOR_YELLOW)
    doPlayerAddItem(cid,2148,monsterName.item)
    end
    return true
end

Código:
   <event type="kill" name="KillMonster" event="script" value="name.lua"/>

en login
Código:
   registerCreatureEvent(cid, "KillMonster")

#3 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 12:55 pm

Acan


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] donde le pongo el % de loot el items 2148? asi como el que se le pone en el monster.
10% Chance:
Código:
<item id="2148" chance="10"/><!-- gold coin -->
faltaria el chance para ponerle el % que tendras de obtener el items a ganar la pelea, que no siempre salga o al menos que yo le ponga 100%.



Última edición por Acan el Vie Mayo 27, 2016 6:13 pm, editado 1 vez

#4 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 2:11 pm

Noraziz


Miembro
No entiendo lo que quieres decir con el chance de look. El script que te puse es que al matar un monster ganas un item y lo puedes poner al boss q no tenga cuerpo dead cmo dijiste

#5 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 2:42 pm

Pharos


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:No entiendo lo que quieres decir con el chance de look. El script que te puse es que al matar un monster ganas un item y lo puedes poner al boss q no tenga cuerpo dead cmo dijiste
Es la probabilidad de que te de el item al darle look.

http://www.blacktibia.org

#6 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 2:50 pm

Noraziz


Miembro
O sea le doy look y me da un item o le doy look y si lo mato tengo chance de que me de un item
Lo digo porq no dijo eso en el tema

#7 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 3:46 pm

Acan


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] y [Tienes que estar registrado y conectado para ver este vínculo] conecten al chatbox y les explico.

#8 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 4:02 pm

Noraziz


Miembro
Mm te recomiendo que lo digas por aca asi mas gente puede ayudar

#9 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 6:16 pm

Acan


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
[Tienes que estar registrado y conectado para ver este vínculo] escribió:No entiendo lo que quieres decir con el chance de look. El script que te puse es que al matar un monster ganas un item y lo puedes poner al boss q no tenga cuerpo dead cmo dijiste
Es la probabilidad de que te de el item al darle look.


no es look. es el loot del boss. asi como el chance de loot el itemsid:2148:

#10 Re: [PEDIDO] Boss loot items for Dead! el Vie Mayo 27, 2016 11:36 pm

Noraziz


Miembro
Jajaja ahi sipo. Nada que ver el loot, ando en el cel ahora cuabdo llege a la casa te ayudo con el script

#11 Re: [PEDIDO] Boss loot items for Dead! el Sáb Mayo 28, 2016 12:21 pm

Acan


Miembro
BUMP!

#12 Re: [PEDIDO] Boss loot items for Dead! el Dom Mayo 29, 2016 8:09 am

Acan


Miembro
BUMP!

#13 Re: [PEDIDO] Boss loot items for Dead! el Lun Mayo 30, 2016 9:32 am

Acan


Miembro
BUMP!

#14 Re: [PEDIDO] Boss loot items for Dead! el Lun Mayo 30, 2016 12:09 pm

Noraziz


Miembro
Prueba con este:
Código:
local config = {
    ["Orc"] = {msj = "mensaje que quieres que diga", item = 5897},
    ["Rat"] = {msj = "mensaje que quieres que diga", item = 2173}
}
local chance = 50
function onKill(cid, target, lastHit)
    local monsterName = config[getCreatureName(target)]
    if isMonster(target) and monsterName  and lastHit == TRUE then
   if math.random(1,100) <= chance  then
      doSendAnimatedText(getCreaturePosition(cid), monsterName.msj, TEXTCOLOR_YELLOW)
    doPlayerAddItem(cid,monsterName.item,1)
    end
    return true
end
end

Modifica solo el script, lo demas dejalo igual
En chanche pones la probabilidad que tendra que caiga el item

#15 Re: [PEDIDO] Boss loot items for Dead! el Lun Mayo 30, 2016 9:48 pm

Acan


Miembro
gracias man.

#16 Re: [PEDIDO] Boss loot items for Dead! el Lun Jun 06, 2016 7:59 am

Acan


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Prueba con este:
Código:
local config = {
    ["Orc"] = {msj = "mensaje que quieres que diga", item = 5897},
    ["Rat"] = {msj = "mensaje que quieres que diga", item = 2173}
}
local chance = 50
function onKill(cid, target, lastHit)
    local monsterName = config[getCreatureName(target)]
    if isMonster(target) and monsterName  and lastHit == TRUE then
   if math.random(1,100) <= chance  then
      doSendAnimatedText(getCreaturePosition(cid), monsterName.msj, TEXTCOLOR_YELLOW)
    doPlayerAddItem(cid,monsterName.item,1)
    end
    return true
end
end

Modifica solo el script, lo demas dejalo igual
En chanche pones la probabilidad que tendra que caiga el item

[Tienes que estar registrado y conectado para ver este vínculo] hola amigo seria bueno que revisaras tu script lo testie bien y trae error en los monster no mueren.

#17 Re: [PEDIDO] Boss loot items for Dead! el Lun Jun 06, 2016 12:47 pm

Noraziz


Miembro
te sale algun error en consola ? y otra cosa, ocupas otx ?

#18 by Guazapen el Lun Jun 06, 2016 12:54 pm

guasapen


Miembro
BUMP!

#19 Re: [PEDIDO] Boss loot items for Dead! el Lun Jun 06, 2016 6:00 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] Me agrada ver que estés por esto lares ayudando a la gente
Le daba ese error porque el return true debe de estar al final antes del último end, cerrando la función: function onKill(cid, target, lastHit)

Al haberlo puesto cerrando la condición: if isMonster(target) and monsterName  and lastHit == TRUE then, hará que solamente el function onKill(cid, target, lastHit) se active al matar a los monstruos expuestos en la tabla de este script, ignorando la muerte de todos los demás



[Tienes que estar registrado y conectado para ver este vínculo] Para añadir más objetos con sus respectivos chances, más mensaje con lista de objetos otorgados.
Código:
local config = {

    ["Orc"] = { -- ["Monstruo"]
     -- {chance = Probabilidad de tocar, itemId = Id del objeto, count = cantidad del cual},
        {chance = 20, itemId = 2148, count = 2}, -- gold coin
        {chance = 100, itemId = 2666, count = 1}, -- meat
        {chance = 50, itemId = 2484, count = 1}, -- studded armor
        {chance = 4, itemId = 2482, count = 1}, -- studded helmet
        {chance = 100, itemId = 2526, count = 1}, -- studded shield
        {chance = 41, itemId = 2385, count = 1}, -- sabre
        {chance = 100, itemId = 2386, count = 1}, -- axe
    },

    ["Rat"] = { -- ["Monstruo"]
    -- {chance = Probabilidad de tocar, itemId = Id del objeto, count = cantidad del cual},
        {chance = 58, itemId = 2148, count = 5}, -- gold coin
        {chance = 24, itemId = 3976, count = 3}, -- worm
        {chance = 100, itemId = 2696, count = 1}, -- cheese
        {chance = 10, itemId = 2687, count = 2}, -- cookies
    },

}

function onKill(cid, target, lastHit)
    local t, str = {}, ""
    local monster = config[getCreatureName(target)]

    if isMonster(target) and monster and lastHit then
        for _, loot in pairs(monster) do
            if math.random(1, 100) <= loot.chance then
                table.insert(t, loot)
            end
        end

        if table.maxn(t) > 0 then
            for i = 1, table.maxn(t) do
                doPlayerAddItem(cid, t[i].itemId, t[i].count)
                str = str .. (t[i].count > 1 and t[i].count .. " " .. getItemPluralNameById(t[i].itemId) or (getItemArticleById(t[i].itemId) ~= "" and getItemArticleById(t[i].itemId) .. " " or "") .. getItemNameById(t[i].itemId))
                if i == table.maxn(t) - 1 then
                    str = str .. " and "
                 elseif i ~= table.maxn(t) then
                    str = str .. ", "
                end
            end
        end
    end

    if string.len(str) > 0 then
        str = str
     else
        str = "nothing"
    end
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Loot of " .. getArticle(getCreatureName(target)) .. " " .. getCreatureName(target) .. ": " .. str .. ".")
    return true
end



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#20 Re: [PEDIDO] Boss loot items for Dead! el Lun Jun 06, 2016 6:44 pm

Acan


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:[Tienes que estar registrado y conectado para ver este vínculo] Me agrada ver que estés por esto lares ayudando a la gente
Le daba ese error porque el return true debe de estar al final antes del último end, cerrando la función: function onKill(cid, target, lastHit)

Al haberlo puesto cerrando la condición: if isMonster(target) and monsterName  and lastHit == TRUE then, hará que solamente el function onKill(cid, target, lastHit) se active al matar a los monstruos expuestos en la tabla de este script, ignorando la muerte de todos los demás



[Tienes que estar registrado y conectado para ver este vínculo] Para añadir más objetos con sus respectivos chances, más mensaje con lista de objetos otorgados.
Código:
local config = {

    ["Orc"] = { -- ["Monstruo"]
     -- {chance = Probabilidad de tocar, itemId = Id del objeto, count = cantidad del cual},
        {chance = 20, itemId = 2148, count = 2}, -- gold coin
        {chance = 100, itemId = 2666, count = 1}, -- meat
        {chance = 50, itemId = 2484, count = 1}, -- studded armor
        {chance = 4, itemId = 2482, count = 1}, -- studded helmet
        {chance = 100, itemId = 2526, count = 1}, -- studded shield
        {chance = 41, itemId = 2385, count = 1}, -- sabre
        {chance = 100, itemId = 2386, count = 1}, -- axe
    },

    ["Rat"] = { -- ["Monstruo"]
    -- {chance = Probabilidad de tocar, itemId = Id del objeto, count = cantidad del cual},
        {chance = 58, itemId = 2148, count = 5}, -- gold coin
        {chance = 24, itemId = 3976, count = 3}, -- worm
        {chance = 100, itemId = 2696, count = 1}, -- cheese
        {chance = 10, itemId = 2687, count = 2}, -- cookies
    },

}

function onKill(cid, target, lastHit)
    local t, str = {}, ""
    local monster = config[getCreatureName(target)]

    if isMonster(target) and monster and lastHit then
        for _, loot in pairs(monster) do
            if math.random(1, 100) <= loot.chance then
                table.insert(t, loot)
            end
        end

        if table.maxn(t) > 0 then
            for i = 1, table.maxn(t) do
                doPlayerAddItem(cid, t[i].itemId, t[i].count)
                str = str .. (t[i].count > 1 and t[i].count .. " " .. getItemPluralNameById(t[i].itemId) or (getItemArticleById(t[i].itemId) ~= "" and getItemArticleById(t[i].itemId) .. " " or "") .. getItemNameById(t[i].itemId))
                if i == table.maxn(t) - 1 then
                    str = str .. " and "
                 elseif i ~= table.maxn(t) then
                    str = str .. ", "
                end
            end
        end
    end

    if string.len(str) > 0 then
        str = str
     else
        str = "nothing"
    end
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Loot of " .. getArticle(getCreatureName(target)) .. " " .. getCreatureName(target) .. ": " .. str .. ".")
    return true
end

GRACIAS VIEJO POR SOLUCIONARME!

#21 Re: [PEDIDO] Boss loot items for Dead! el Mar Jun 07, 2016 12:08 am

Noraziz


Miembro
Buena, ahi esta mucho mas completo jajaja Gracias bele. Yo pensaba ahora que el error era por que usaba otx y el last hit es distinto

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 1 usuario en línea: 1 Registrado, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: vicente9908

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 .