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 System

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.396
Puntos
707
Hola a todos

Os comparto el Craft System, directamente en Backpack, utilizando 1 o varios recursos,

Código Lua:
local forge = Action()

local craft = {
    level = 1, -- nivel necessario
    items = { -- items necessarios para el craft, 1, 2, 3, etc
        [1] = {item = 2800, count = 100},
        [2] = {item = 2159, count = 200},
        -- [3] = {item = ItemID, count = Quantidad}
    },
    craftedItem = {2472, 1}, -- item craft
}

function forge.onUse(player, item, fromPosition, itemEx, toPosition)

    if player:getLevel() < craft.level then
        player:sendTextMessage(MESSAGE_STATUS_SMALL, "You do not have level, you will need level 200.")
        player:getPosition():sendMagicEffect(CONST_ME_POFF)
        return true
    end

    for k, v in pairs(craft.items) do
        if player:getItemCount(v.item) < v.count then
            player:sendTextMessage(MESSAGE_STATUS_SMALL, "You do not have necessary items.")
            player:getPosition():sendMagicEffect(CONST_ME_POFF)
            return true
        end
    end

    for k, v in pairs(craft.items) do
        player:removeItem(v.item, v.count)
    end

    player:addItem(craft.craftedItem[1], craft.craftedItem[2])
    player:removeItem(item.itemid, 1)
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "You have Crafted: "..craft.craftedItem[2].."x "..ItemType(craft.craftedItem[1]):getName()..".")
    player:getPosition():sendMagicEffect(50)

    return true
end

forge:id(2800) -- Poner la ID de 1 Solo Item, si tienen Muchos ( para evitar el duplicate registered item id en la consola ), no pueden usar items que ya tengan una ID assignada, ejemplo: un machete
forge:register()
 
E

Ethaanks123

Invitado
se ve muy interesante pero me gustaria saber para que se usa o como usarlo ?
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.396
Puntos
707
se ve muy interesante pero me gustaria saber para que se usa o como usarlo ?
Muy simple,

Al tener los objetos que indicas en la parte principal del script, en la backpack, abajo del todo del script habrá la id principal que habrás elegido , ejemplo, 4 backpack y 1 runa, pones la id de la runa abajo, y al darle click derecho a la runa consumirá las 4bp+1 runa y te dará el item que pusistes en id craftedItem.
 

wacek123

Miembro
Registrado
21 Oct 2022
Mensajes
3
Puntuación de reacción
1
Puntos
130
Ubicación
Niemcy
Czy można to zrobić od 50 lvl? nie od 200
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.396
Puntos
707
Czy można to zrobić od 50 lvl? nie od 200
There is no "level required" to craft here.
You just need items to craft the item on your backpack using a right click.

If you wish add a level you need add after function onUse,
if player:getLevel() == 50 then
With this you will block the craft for a level 50 minimum.
 
shape1
shape2
shape3
shape4
shape5
shape6
Arriba