BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Resuelto] Prohibir crear items a CM.

[Resuelto] Prohibir crear items a CM.

#1 [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 11:45 am

Jaws2.0


Miembro
Hola amigos, quisiera saber si es posible hacer que los CM no puedan crear ciertos items, como saben los CM pueden crear items libremente, Yo quiero prohibirles algunos items.

Salu2.

#2 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 11:50 am

Aldruh


Miembro
data/talkactions/talkactions.xml
Código:
   <talkaction log="yes" words="/i" access="4" event="script" value="createitem.lua"/>
lo cambias por acces="5"
Código:
   <talkaction log="yes" words="/i" access="5" event="script" value="createitem.lua"/>
Suerte!

#3 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 12:00 pm

Jaws2.0


Miembro
Hablo de prohibir ciertos items, no todos.

Quiero que puedan crear items, pero que puedan crear items donator.

#4 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 12:34 pm

Deylmerx


Nuevo
eso es imposible

#5 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 1:28 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Hablo de prohibir ciertos items, no todos.

Quiero que puedan crear items, pero que puedan crear items donator.
Te vas a tu Servidor/Data/Talkactions/Scripts/... createitem.lua y en uno de los lugares pegas el siguiente código:
   local BlockIDs = {12610, 12574, 12279, 12285, 8853, 12604, 12603, 12606, 11349, 11350, 11362, 7939, 8872, 7464, 2474, 2503, 2504, 6096, 6095, 5918, 9693, 11113, 12607, 5462, 7457, 11114, 11238, 12605} -- ItemIDs de los objetos bloqueados.
       for _, v in ipairs(BlockIDs) do
           if getPlayerAccess(cid) == 2 then
               if (param == v .. "") or (param == getItemNameById(v) .. "") then
                 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can't create Donator items.")
               return TRUE
end
           end
       end
El numerito que te señalé de rojo lo cambias por el access que tengas al CM en tu servidor.
Y en la zona marcada de amarillo pones los ID de los objetos que NO se puedan crear, tantos como quieras cada uno separados por una coma (,).

Por ejemplo mi createitem.lua es así: (no sé si será medianamente distinto/parecido al tuyo)
Código:
function onSay(cid, words, param, channel)
 if(param == '') then
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
 return true
 end

 local t = string.explode(param, ",")
 local ret = RETURNVALUE_NOERROR
 local pos = getCreaturePosition(cid)

 local id = tonumber(t[1])
 if(not id) then
 errors(false)
 id = getItemIdByName(t[1])
 errors(true)

 if(not id) then
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item with such name does not exists.")
 return true
 end
 end

 local amount = 100
 if(t[2]) then
 amount = t[2]
 end

 local item = doCreateItemEx(id, amount)
 if(t[3] and getBooleanFromString(t[3])) then
 if(t[4] and getBooleanFromString(t[4])) then
 pos = getCreatureLookPosition(cid)
 end

 ret = doTileAddItemEx(pos, item)
 else
 ret = doPlayerAddItemEx(cid, item, true)
 end

 if(ret ~= RETURNVALUE_NOERROR) then
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Couldn't add item: " .. t[1])
 return true
 end

 doDecayItem(item)
 if(not isPlayerGhost(cid)) then
 doSendMagicEffect(pos, CONST_ME_MAGIC_RED)
 end

 return true
end

Pues quedaría así:
Código:
function onSay(cid, words, param, channel)
    if(param == '') then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
        return true
    end
    
    local BlockIDs = {12610, 12574, 12279, 12285, 8853, 12604, 12603, 12606, 11349, 11350, 11362, 7939, 8872, 7464, 2474, 2503, 2504, 6096, 6095, 5918, 9693, 11113, 12607, 5462, 7457, 11114, 11238, 12605} -- ItemIDs de los objetos bloqueados.
        for _, v in ipairs(BlockIDs) do
            if getPlayerAccess(cid) == 2 then
                if (param == v .. "") or (param == getItemNameById(v) .. "") then
                  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can't create Donator items.")
                return TRUE
                end
            end
        end
    local t = string.explode(param, ",")
    local ret = RETURNVALUE_NOERROR
    local pos = getCreaturePosition(cid)
    local id = tonumber(t[1])
    if(not id) then
        errors(false)
        id = getItemIdByName(t[1])
        errors(true)
        if(not id) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.")
            return true
        end
    end
    local amount = 100
    if(t[2]) then
        amount = t[2]
    end
    local item = doCreateItemEx(id, amount)
    if(t[3] and getBooleanFromString(t[3])) then
        if(t[4] and getBooleanFromString(t[4])) then
            pos = getCreatureLookPosition(cid)
        end
        ret = doTileAddItemEx(pos, item)
    else
        ret = doPlayerAddItemEx(cid, item, true)
    end
    if(ret ~= RETURNVALUE_NOERROR) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Couldn't add item: " .. t[1])
        return true
    end
    doDecayItem(item)
    if(not isPlayerGhost(cid)) then
        doSendMagicEffect(pos, CONST_ME_MAGIC_RED)
    end
    return true
end


(Re-edité el script nuevamente para acomodarlo al OTX que me dijo el usuario que reciente los instaló, y arreglar un fallito que me dejé sin resolver por olvido)



Última edición por Belerofonte el Lun Mayo 19, 2014 12:08 pm, editado 2 veces



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]

#6 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 2:05 pm

Jaws2.0


Miembro
¿Entonces debo agregar todos los items allí menos lo que no quiero que creen?

Disculpa la molestia pero ¿no se podría hacer algo al reves? En ves colocar los items que se crean, colocar los que no puedan crear, son solo unos pocos .

#7 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 2:07 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:¿Entonces debo agregar todos los items allí menos lo que no quiero que creen?

Disculpa la molestia pero ¿no se podría hacer algo al reves? En ves colocar los items que se crean, colocar los que no puedan crear, son solo unos pocos .
Solamente has de colocar los que NO puedan crear obviamente los que se pueden crear imaginé que son más xD

Cierto. Me faltó por poner el "no se puedan crear" en la explicación, casualmente tú también te comíste dicho "no" ^^

[Tienes que estar registrado y conectado para ver este vínculo] escribió:Hablo de prohibir ciertos items, no todos.

Quiero que puedan crear items, pero que puedan crear items donator.

Pero bah, fuera confusiones absurdas, solamente has de poner los ID de los objetos bloqueados.



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]

#8 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 2:12 pm

Dantarrix


Miembro
Son los que no se pueden crear... A belero cuando escribía le falto poner un "no"... Pero es lo que tú quieres...

#9 Re: [Resuelto] Prohibir crear items a CM. el Dom Mayo 18, 2014 2:19 pm

Jaws2.0


Miembro
Jajajaja, muchas gracias belero +REP!

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 .