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 Remover Skull

Alex

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

Les traigo un Script de Otservbr para remover la Skull, se trata de utilizar el item 9969,

Nos iremos en data/scripts/actions/ y crearemos un archivo llamado remove_skull.lua

local removeSkull = Action()

function removeSkull.onUse(player, item, fromPos, target, toPos, isHotkey)
local playerPos = player:getPosition()
local tile = Tile(playerPos)
if not tile or not tile:hasFlag(TILESTATE_PROTECTIONZONE) then
player:sendCancelMessage("You can use only in pz.")
return true
end

if player:getSkullTime() == 0 then
player:sendCancelMessage("You don't have skull time.")
return true
end

player:setSkullTime(0)
player:setSkull(SKULL_NONE)
playerPos:sendMagicEffect(CONST_ME_MORTAREA)
player:say("Remove Skull!")
item:remove(1)
return true
end

removeSkull:id(9969)
removeSkull:register()
 

destroyer231

Mordragor Chronicles
Miembro
Registrado
1 Dic 2021
Mensajes
10
Puntuación de reacción
1
Puntos
128
Ubicación
usd
como se podria hacer para que solo funcione si tienes red skull y si tienes white o black no funcione
 

Alex

Administrador
Dev
Registrado
1 Sep 2021
Mensajes
2.362
Puntuación de reacción
28.640
Puntos
707
como se podria hacer para que solo funcione si tienes red skull y si tienes white o black no funcione

Entonces habria que modificar un poco el script e incorporar el SKULL_RED para hacer un check i agregar un else para mandar un mensaje en el caso que no tenga la red skull:

Código Lua:
local removeSkull = Action()

function removeSkull.onUse(player, item, fromPos, target, toPos, isHotkey)
    local playerPos = player:getPosition()
    local tile = Tile(playerPos)
    
    if not tile or not tile:hasFlag(TILESTATE_PROTECTIONZONE) then
        player:sendCancelMessage("You can use only in PZ.")
        return true
    end
    
    if player:getSkullTime() == 0 then
        player:sendCancelMessage("You don't have skull time.")
        return true
    end
    
    if player:getSkull() == SKULL_RED then
        player:setSkullTime(0)
        player:setSkull(SKULL_NONE)
        playerPos:sendMagicEffect(CONST_ME_MORTAREA)
        player:say("Remove Skull!")
        item:remove(1)
    else
        player:sendCancelMessage("This action can only be used to remove a Red Skull.")
    end
    
    return true
end

removeSkull:id(9969)
removeSkull:register()
 
shape1
shape2
shape3
shape4
shape5
shape6
Arriba