Bienvenido a Open Games Community

Únete ahora para acceder a todas nuestras funciones. Una vez que te registres e inicies sesión, podrás crear temas, responder a hilos existentes, valorar la reputación de otros miembros y muchísimo más. Además, es rápido y totalmente gratuito; ¿a qué esperas?

RevScript Craft onTarget Item

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.363
Puntuación de reacción
28.406
Puntos
707
Hola a todos,

Aqui les compartimos el Craft onTarget, que significa que al utilizar un Item , ejemplo una piedra, encima de un mueble o de un horno, te dé un item aleatorio , este sistema fué creado para forjar utilizando un horno e obtener una armas para poder hacer skin en determinados monstruos.

iremos en data/scripts/actions crearemos una carpeta con el nombre deseado e incluiremos el script:

Los nombres, seran los nombres identicos que aparecen en items.xml, por ejemplo si es el Eldricht Claymore, entonces pondremos Eldricht Claymore en la linea 1 , con su ID respectiva, pueden anadir tantos items como desean, tomen nota que es totalmente aleatorio la obtencion de los items,
Puede ya ser utilizado por ejemplo con un script de X tiempo online se obtiene una Piedra y esa se puede utilizar en un ' monumento ' o una ' Fuente ' en el templo de thais por ejemplo, un lugar facil donde los jugadores lo puedan ver e obtener la recompensa diaria,

Código:
local rewards = {
    { id = 29164, name = "Nombre de Tu item como en items.xml" }, -- 29164 ID Del item en items.xml
    { id = 29164, name = "Nombre de Tu item como en items.xml" }, -- 29164 ID Del item en items.xml
    { id = 29164, name = "Nombre de Tu item como en items.xml" }, -- 29164 ID Del item en items.xml
    { id = 29164, name = "Nombre de Tu item como en items.xml" } -- Ultima linea sin coma al final !
}

local enchantableGems = {34587}

local ForgeCreation = Action ()

function ForgeCreation.onUse(player, item, fromPosition, target, toPosition, isHotkey)
   
    if item.itemid == 34587 and target.itemid == 40021 then
        local randId = math.random(1, #rewards)
        local rewardItem = rewards[randId]
       
        player:addItem(rewardItem.id, 1)
        item:remove(1)
        toPosition:sendMagicEffect(CONST_ME_FIREAREA)
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You received a ' .. rewardItem.name .. '.')
        return true
    end

end

ForgeCreation:id(34587)
ForgeCreation:register()

Modificaran el 34587 que aparece 2 veces, que corresponde al item que se usara con click derecho ( debe de ser un item que se pueda utilizar, si no es el caso debereis de modificarlo con un asset ) y el numero 40021 que corresponde al item en el cual se usara el 34587.
 
shape1
shape2
shape3
shape4
shape5
shape6
Arriba