BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Pedido] Aparecer hoyo tras colocar objetos.

[Pedido] Aparecer hoyo tras colocar objetos.

#1 [Pedido] Aparecer hoyo tras colocar objetos. el Sáb Mar 12, 2016 11:26 am

Godz4t4n1c


Miembro
Saludos, @[VIP] rafael

Hoy quería decirles si me podían ayudar con este script me ayudaría mucho
1.- colocas un item en cada coal basin, (que cada item sea diferente)
2.- después de haberlos colocado le dan click a un arbol.
3.- cuando le dan click al árbol aparecerá un hueco en el suelo.

Les dejo una imagen:
Imagen:
[Tienes que estar registrado y conectado para ver esa imagen]

Muchas gracias espero su ayuda, de antemano me ayudarían muchísimo dejo +REP

Godz4t4n1c


Miembro
@bump

guasapen


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Saludos, @[VIP] rafael

Hoy quería decirles si me podían ayudar con este script me ayudaría mucho
1.- colocas un item en cada coal basin, (que cada item sea diferente)
2.- después de haberlos colocado le dan click a un arbol.
3.- cuando le dan click al árbol aparecerá un hueco en el suelo.

Les dejo una imagen:
Imagen:
[Tienes que estar registrado y conectado para ver esa imagen]

Muchas gracias espero su ayuda, de antemano me ayudarían muchísimo dejo +REP


Mira Si Todavia Lo nececitas Te Lo Puedo acer Solo K En lugar De Que Salga El Hueco Salga Un Telepor
Mi whatsapp es 4521130022

Godz4t4n1c


Miembro
si bro aun lo necesito,
y si con un tp se veria mejor jaja

Mi whatsapp es +051931014226

Belerofonte


Administrador
Hace un tiempo hice uno parecido, solo que, no era necesario accionar nada. Tras poner el último objeto en el Coal Basin que sea: se abre un portal. [Tienes que estar registrado y conectado para ver este vínculo] (el tercer script de mi comentario)



Si de todas formas deseas el del árbol + hoyo:
Server/Data/Actions/... Actions.xml
Código:
<action uniqueid="12570" event="script" value="xxxxx.lua"/>
Dicho uniqueid se lo pones al árbol.

Server/Data/Actions/Scripts/... xxxxx.lua
Código:
local function isDisplayItems(cid, items)
    for pos, item_id in pairs(items) do
        if getTileItemById(pos, item_id[1]).itemid ~= item_id[1] then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Lack " .. getItemArticleById(item_id[1]) .. " " .. getItemNameById(item_id[1]) .. " " .. item_id[2] .. "ward.") -- Mensaje que aparecerá si acciona el árbol sin estar el objeto requerido en su lugar.
            doSendMagicEffect (pos, CONST_ME_POFF)
          return
        end
    end

  return true
end

function onUse(cid, item, position, fromPosition, toPosition)
  local Config = {
    HolePos = {x = position.x - 1, y = position.y + 1, z = position.z}, -- Posición donde aparecerá el hoyo.

    NeedPos = {
   -- [Posición del Coal Basin] = {Objeto requerido, "dirección en la que se encuentra"},
      [{x = position.x - 3, y = position.y - 1, z = position.z}] = {2148, "west"},
      [{x = position.x + 2, y = position.y - 1, z = position.z}] = {2152, "east"},
      [{x = position.x - 2, y = position.y + 7, z = position.z}] = {2160, "south"},
    },
  }

    if isDisplayItems(cid, Config.NeedPos) then
        for pos, item_id in pairs(Config.NeedPos) do
            doRemoveItem(getTileItemById(pos, item_id[1]).uid, 1)
            doSendMagicEffect(pos, CONST_ME_HITAREA)
        end
        doCreateItem(468, 1, Config.HolePos)
    end

  return true
end

Si no vas a cambiar de lugar el Árbol ni de las Coal Basin en el mapa, si lo vas a dejar tal y como los pusiste en la imagen... entonces, no será necesario que edites absolutamente ninguna coordenada en el script. Solamente el objeto requerido en cada Coal Basin/línea de la table:
   NeedPos = {
  -- [Posición del Coal Basin] = {Objeto requerido, "dirección en la que se encuentra"},
     [{x = position.x - 3, y = position.y - 1, z = position.z}] = {2148, "west"},
     [{x = position.x + 2, y = position.y - 1, z = position.z}] = {2152, "east"},
     [{x = position.x - 2, y = position.y + 7, z = position.z}] = {2160, "south"},
   },
 }

Una cosa más:
Una vez abierto el hoyo, ¿que se quede ahí permanentemente? ¿o que pasado X tiempo se cierre? En tal caso, ¿cuánto tiempo sería: segundos, minutos, horas, o días?



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]

Godz4t4n1c


Miembro
Muchas gracias por responder [Tienes que estar registrado y conectado para ver este vínculo],

Que el hoyo aparezca y se demore unos 10 segundos y luego se desaparezca, la verdad nose si sera dificil hacerlo pero que solo el que puso los items pueda bajar por el hoyo, digamos hay otro y trata de meterse o seria muy facil para todos, solo el que puso los items pueda bajar, o que te otorgue un storge al poner los items y puedas bajar por el hoyo algo asi

Gracias por responder [Tienes que estar registrado y conectado para ver este vínculo]

Belerofonte


Administrador
Vale. Finalmente se me complicó un poquito la cosa y tuve que añadirle más funciones, por tanto, ahora está todo compacto en un Mod, para que te sea más easy editar todas las configuraciones juntas y no tener que estar saltanto de carpeta en carpeta y archivos. Ergo, quita el script anterior del Actions.

Server/Mods/... HoleNeedBasins.xml
Código:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="HoleNeedBasins" version="OTX (2.40 SVN), Codename:(Deumion)" author="Belero" contact="www.blacktibia.org/u3171" enabled="yes">

  <description>
    • Si un jugador coloca un objeto, uno en cada recipiente y usa el árbol: se abrirá un hoyo.
    • Pasado un tiempo desde que el jugador puso el primer objeto y el cual no los coloca todos: se resetearán los recipientes expulsando cada objeto.
    • Se le añadirá en la descripción especial del objeto requerido el nombre del jugador que lo colocó en el recipiente. Y dicha descripción desaparecerá cuando el objeto se quite del recipiente.
    • Pasado un tiempo desde que el jugador abrió el hoyo y el cual no lo traspasó: se reseteará la zona y cerrando el hoyo.
    • Si el jugador usa el árbol y no ha puesto los objetos requeridos: se le notificará el nombre del objeto que ha de poner y el lugar con un efecto mágico encima de su correspondiente recipiente.
    • Un jugador coloca algunos o todos los objetos requeridos. Si otro jugador distinto llega e intenta usar el árbol, o quitar los objetos de los recipientes, o poner alguno: no se le permitirá, y se le notificará que la zona ya está siendo ocupada por el anterior jugador.
    • Si el jugador que ha abierto el hoyo lo cruza: el cual se cerrará automáticamente. Para poder dar paso a que el siguiente posible jugador lo abra sin que tenga que esperar a que expire el tiempo del anterior jugador para que el hoyo se cierre o coloque los objetos.
    • Si un jugador distinto al que ha abierto el hoyo intenta traspasarlo: no se le permitirá, notificándole que él no ha sido quien ha puesto los objetos requeridos.
    • Si el jugador que ha puesto anteriormente todos los objetos requeridos usa el árbol estando él mismo encima del hoyo: lo traspasará instantáneamente.
    • Si un jugador ha colocado todos los objetos requeridos y usa el árbol estando otro jugador o criatura distinta encima del hoyo: será movida hacia un lado. Para que no lo entapone y permita cruzarlo al otro jugador que lo abrió.
  </description>

  <action uniqueid="12570" event="script" value="HoleNeedBasins.lua"/>
  <movevent type="StepIn" actionid="12570" event="script" value="HoleNeedBasins.lua"/>
  <movevent type="AddItem" tileitem="1" uniqueid="12571; 12572; 12573" event="script" value="HoleNeedBasins.lua"/>
  <event type="throw" name="ItemsOnBasinThrow" event="script" value="HoleNeedBasins.lua"/>
  <event type="login" name="ItemsOnBasinLogin" event="script" value="HoleNeedBasins.lua"/>
</mod>

Server/Mods/Scripts/... HoleNeedBasins.lua
Código:
  local Config = {
    Basin_id = 1485, -- ID del objeto usado como recipiente.

    TimeToReset = 10, -- Segundos que se dispondrá para colocar todos los objetos en sus correspondientes recipientes, se inicia tras haber colocado el primero de ellos.
    TimeOpen = 5, -- Segundos que permanecerá el hoyo abierto, se inicia tras haber usado el árbol.
    Access = 298731, -- Storage Key que gustes.

    Opens_id = 469, -- ID del sqm SIN hoyo.
    Close_id = 9043, -- ID del sqm CON hoyo.

    HoleTree = 12570, -- UniqueID del árbol(en actions.xml y Remeres) // ActionID del hoyo(solo en movements.xml) - El mismo número en ambos.
    HolePos = {x = - 1, y = 1}, -- Posición del hoyo respecto a la del árbol. (No tocar)

    NeedPos = {
    -- [UniqueID del Coal Basin] = {Objeto requerido, "Dirección(north, south, east, west, northwest, etc...) en la que se encuentra el Coal Basin respecto al árbol", {Posición donde saltará el objeto fuera del Coal Basin}},
      [12571] = {2148, "west", {x = 1, y = 0}},
      [12572] = {2152, "east", {x = 0, y = 1}},
      [12573] = {2160, "south", {x = 0, y = - 1}},
    },
  }

local function isThereAllItems(cid, items) -- Verifica que estén los objetos requeridos en sus correspondientes recipientes.
    for pos, item_id in pairs(items) do
        if getTileItemById(getThingPos(pos), item_id[1]).itemid ~= item_id[1] then return end
    end
  return true
end

local function isDisplayItems(cid, items) -- Verifica que estén los objetos requeridos en sus correspondientes recipientes, y si no los hay: indica cuales no.
    for pos, item_id in pairs(items) do
        if getTileItemById(getThingPos(pos), item_id[1]).itemid ~= item_id[1] then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Lack " .. getItemArticleById(item_id[1]) .. " " .. getItemNameById(item_id[1]) .. " " .. item_id[2] .. "ward.") -- Si el jugador usa el árbol y no ha puesto los objetos requeridos: se le notificará el nombre del objeto que ha de poner y el lugar con un efecto encima de su correspondiente recipiente.
            doSendMagicEffect (getThingPos(pos), CONST_ME_TUTORIALARROW)
          return
        end
    end
  return true
end

local function Reset(cid, items) -- Reseteo de recipientes u objetos, storages, y hoyo.

    if isPlayer(cid) then
        if getGlobalStorageValue(Config.Access) ~= getCreatureName(cid) then return false end
        setPlayerStorageValue(cid, Config.Access, - 1)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Timeout!") -- Mensaje cuando el tiempo de colocación de objetos se agote.
    end
    setGlobalStorageValue(Config.Access, - 1)

    for pos, item_id in pairs(items) do
        if getTileItemById(getThingPos(pos), item_id[1]).itemid == item_id[1] then

          local out = {x = getThingPos(pos).x + item_id[3].x, y = getThingPos(pos).y + item_id[3].y, z = getThingPos(pos).z}
            doSendDistanceShoot (getThingPos(pos), out, CONST_ANI_EXPLOSION)
            doSetItemSpecialDescription(getTileItemById(getThingPos(pos), item_id[1]).uid, "")
            doTeleportThing(getTileItemById(getThingPos(pos), item_id[1]).uid, out)
            doSendMagicEffect(out, CONST_ME_BLOCKHIT)

            if isPlayer(cid) then
                doPlayerSendCancel(cid, "The object was rejected.")
            end
        end
    end
end


function onUse(cid, item, position, fromPosition, toPosition) -- Permiso para usar el árbol, abrir el hoyo y cerrarlo tras el reseteo.

    if isDisplayItems(cid, Config.NeedPos) then
        if getGlobalStorageValue(Config.Access) == getCreatureName(cid) then

          local PosHole = {x = position.x + Config.HolePos.x, y = position.y + Config.HolePos.y, z = position.z, stackpos = 0}
          local getHole = getTileThingByPos(PosHole)

            if getHole.itemid == Config.Close_id then
                if getPlayerStorageValue(cid, Config.Access) == 1 then

                    for pos, item_id in pairs(Config.NeedPos) do
                        doRemoveItem(getTileItemById(getThingPos(pos), item_id[1]).uid, 1)
                        doSendMagicEffect(getThingPos(pos), CONST_ME_HITAREA)
                    end
                    exhaustion.set(cid, Config.Access, Config.TimeOpen)

                  local hole = doCreateItem(Config.Opens_id, 1, PosHole)
                    doItemSetAttribute(hole, "aid", Config.HoleTree)
                    doSendMagicEffect(PosHole, CONST_ME_GROUNDSHAKER)

                    closeEvent = addEvent(function(player, pos)
                      local getHole = getTileThingByPos(pos)
                        if getHole.itemid == Config.Opens_id then
                            doTransformItem(getHole.uid, Config.Close_id)
                            doCreateItem(Config.Close_id, 1, PosHole)
                            doSendMagicEffect(PosHole, CONST_ME_GROUNDSHAKER)
                            setGlobalStorageValue(Config.Access, - 1)
                            setPlayerStorageValue(player, Config.Access, - 1)

                        end
                    end, 3 * 1000, cid, PosHole)

                    if isCreature(getTopCreature(PosHole).uid) then
                      local creature = getTopCreature(PosHole).uid

                        if creature == cid then
                          local getHole = getTileThingByPos(PosHole)
                            doTeleportThing(cid, {x = position.x, y = position.y, z = position.z + 1})
                            stopEvent(closeEvent)
                            doTransformItem(getHole.uid, Config.Close_id)
                            doCreateItem(Config.Close_id, 1, PosHole)
                            doSendMagicEffect(PosHole, CONST_ME_GROUNDSHAKER)
                            setGlobalStorageValue(Config.Access, - 1)
                            setPlayerStorageValue(cid, Config.Access, - 1)

                        else
                          doMoveCreature(getTopCreature(PosHole).uid, SOUTH)
                        end
                    end
                end
            end

        else
          doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
          doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zone occupied by " .. getGlobalStorageValue(Config.Access) .. ". Please, wait a moment.") -- Un jugador coloca algunos o todos los objetos requeridos. Si otro jugador distinto llega e intenta usar el árbol: no se le permitirá, y se le notificará que la zona ya está siendo ocupada por el anterior jugador.
          return
        end
    end

  return true
end

function onStepIn(cid, item, position, fromPosition, itemEx, toPosition) -- Cruzar el hoyo y cerrarlo.
  local pos = {}

    if isPlayer(cid) then
        if exhaustion.get(cid, Config.Access) then
            pos = {x = position.x, y = position.y, z = position.z + 1}
            doTransformItem(item.uid, Config.Close_id)
            doCreateItem(Config.Close_id, 1, position)
            doSendMagicEffect(position, CONST_ME_GROUNDSHAKER)
            setGlobalStorageValue(Config.Access, - 1)
            setPlayerStorageValue(cid, Config.Access, - 1)

        else
          pos = fromPosition
          doPlayerSendCancel(cid, "You didn't open the hole.") -- Si un jugador distinto al que ha abierto el hoyo intenta traspasarlo: no se le permitirá, notificándole que él no ha sido quien ha puesto los objetos rqueridos.
        end
        doTeleportThing(cid, pos)
    end

  return true
end

function onThrow(cid, item, fromPosition, toPosition) -- Permiso para colocar objetos y no robarlos.

        if string.find(getItemSpecialDescription(item.uid), "Colocado por ") and not string.find(getItemSpecialDescription(item.uid), getCreatureName(cid)) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Only the one who put this object can remove it.") -- Si un jugador intenta quitar el objeto requerido puesto anteriormente por otro jugador distinto, se le notificará que solamente puede quitarlo el jugador que lo puso.
          return
        end

  local v = Config.NeedPos[getTileItemById(toPosition, Config.Basin_id).uid]
    if v then

        if getGlobalStorageValue(Config.Access) == - 1 or getGlobalStorageValue(Config.Access) == getCreatureName(cid) then
            if item.itemid ~= v[1] then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Is needed " .. getItemArticleById(v[1]) .. " " .. getItemNameById(v[1]) .. ".") -- Si el jugador coloca cualquier otro objeto que no sea el requerido, se le notificará el nombre del objeto que ha de poner.
              return
            end

            if item.type == 1 and getTileItemById(toPosition, item.itemid).itemid == 0 then
                if getGlobalStorageValue(Config.Access) == - 1 then
                    addEvent(Reset, Config.TimeToReset * 1000, cid, Config.NeedPos)
                end
                setGlobalStorageValue(Config.Access, getCreatureName(cid))

            else
              doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
              doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Is needed only one " .. getItemNameById(item.itemid) .. ".") -- Si el jugador coloca más de 1 objeto requerido en un mismo recipiente: se le notificará que ha de poner solamente 1 + nombre del objeto.
              return
            end

        else
          doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
          doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Zone occupied by " .. getGlobalStorageValue(Config.Access) .. ". Please, wait a moment.") -- Un jugador coloca algunos o todos los objetos requeridos. Si otro jugador distinto llega e intenta quitar los objetos de los recipientes, o poner alguno: no se le permitirá, y se le notificará que la zona ya está siendo ocupada por el anterior jugador.
          return
        end
    end

  return true
end

function onAddItem(moveitem, tileitem, position, cid) -- Descripción en objeto colocado y verificación de objetos en recipientes.

  local v = Config.NeedPos[tileitem.uid]
    if v then
        if moveitem.itemid == v[1] then
            doSetItemSpecialDescription(moveitem.uid, "Colocado por " .. getCreatureName(cid) .. ".") -- Se le añadirá en la descripción especial del objeto el nombre del jugador que lo colocó en el recipiente. (Esto más que un detalle, lo hice porque me servía ponerlo así para hacer funcionar la parte en la que otro jugador distinto no pueda robar el objeto ya colocado en el recipiente.)
        end

        if isThereAllItems(cid, Config.NeedPos) then
            setPlayerStorageValue(cid, Config.Access, 1)
        end
    end

  return true
end

function onLogin(cid) -- Reseteo de storage al conectarse por haberse desconectado con él puesto.
  registerCreatureEvent(cid, "ItemsOnBasinThrow")

    if getPlayerStorageValue(cid, Config.Access) == 1 then
        setPlayerStorageValue(cid, Config.Access, - 1)
    end

  return true
end



Zonas a editar:
Documento.xml:

<action uniqueid="12570" event="script" value="HoleNeedBasins.lua"/>
- El uniqueid que le pondrás al árbol con el Remeres.

<movevent type="StepIn" actionid="12570" event="script" value="HoleNeedBasins.lua"/>
- El actionid que tendrá el hoyo, éste solamente aquí, no en remeres. Ya que se le pondrá automáticamente al accionarse el script. (Como ves, ha de ser exactamente el mismo número que le pongas al anterior uniqueid)

<movevent type="AddItem" tileitem="1" uniqueid="12571; 12572; 12573" event="script" value="HoleNeedBasins.lua"/>
- Ahí, los uniqueid que tendrán los Coal Basin de la izquierda, derecha y abajo. También en el remeres.

<event type="throw" name="ItemsOnBasinThrow" event="script" value="HoleNeedBasins.lua"/>
<event type="login" name="ItemsOnBasinLogin" event="script" value="HoleNeedBasins.lua"/>
- En estos, nada ;D
Documento.lua:

local Config = {
   Basin_id = 1485, -- ID del objeto usado como recipiente.

   TimeToReset = 10, -- Segundos que se dispondrá para colocar todos los objetos en sus correspondientes recipientes, se inicia tras haber colocado el primero de ellos.
   TimeOpen = 5, -- Segundos que permanecerá el hoyo abierto, se inicia tras haber usado el árbol.
   Access = 298731, -- Storage Key que gustes.

   Opens_id = 469, -- ID del sqm CON hoyo.
   Close_id = 9043, -- ID del sqm SIN hoyo.

   HoleTree = 12570, -- UniqueID del árbol(en actions.xml y Remeres) // ActionID del hoyo(solo en movements.xml) - El mismo número en ambos.
   HolePos = {x = - 1, y = 1}, -- Posición del hoyo respecto a la del árbol. (No tocar)

   NeedPos = {
 -- [UniqueID del Coal Basin] = {Objeto requerido, "Dirección(north, south, east, west, northwest, etc...) en la que se encuentra el Coal Basin respecto al árbol", {Posición donde saltará el objeto fuera del Coal Basin(No tocar)}},
     [12571] = {2148, "west", {x = 1, y = 0}},
     [12572] = {2152, "east", {x = 0, y = 1}},
     [12573] = {2160, "south", {x = 0, y = - 1}},
   },
 }

Y las oraciones que aparecerán, búscalas en el script si las quieres editar. Son las que tienen como función:
doPlayerSendCancel y doPlayerSendTextMessage (para que las encuentres fácilmente con el buscador de palabras: "Control + B" o "Control + F").
A su derecha puse una mini-explicación de en qué situaciones aparecerán.

PD: Testéalo con un jugador normal, no con el God. Ya que el cual no podrá acceder al hoyo aunque lo haya abierto él ya que solo podrán acceder los que tengan exhaustion de X storage, y como los Gods no puedes tener exhaust...



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]

Krápula


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] de verdad q eres la leche bro

No fui yo el del pedido pero cada Script hermoso Q veo Me siento mas orgulloso de compartir Orita en este tiempo contigo en blacktibia

eres el Messi De Los Script

Voy a hacer un post con todoos Tus script mas Fabulosos

#9 Re: [Pedido] Aparecer hoyo tras colocar objetos. el Vie Mar 18, 2016 12:09 pm

Godz4t4n1c


Miembro
saludos, [Tienes que estar registrado y conectado para ver este vínculo]

me sale error:
Te dejo una imagen
error:
[Tienes que estar registrado y conectado para ver esa imagen]

#10 Re: [Pedido] Aparecer hoyo tras colocar objetos. el Vie Mar 18, 2016 12:26 pm

Belerofonte


Administrador
xD Quita los "•" de la descripción.



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]

#11 Re: [Pedido] Aparecer hoyo tras colocar objetos. el Vie Mar 18, 2016 6:30 pm

Godz4t4n1c


Miembro
no nada me sigue saliendo el mismo error

[18/3/2016 17:59:3] Bytes: 0xE1 0x72 0x62 0x6F

Solo cambio esto cuando borres los puntos

#12 Re: [Pedido] Aparecer hoyo tras colocar objetos. el Sáb Mar 19, 2016 4:14 pm

Godz4t4n1c


Miembro
@BUMP

#13 Re: [Pedido] Aparecer hoyo tras colocar objetos. el Sáb Mar 19, 2016 6:05 pm

Dantarrix


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:@BUMP

Publica el HoleNeedBasins.xml como lo tienes puesto en tu ot.

#14 Re: [Pedido] Aparecer hoyo tras colocar objetos. el Sáb Mar 19, 2016 6:12 pm

Godz4t4n1c


Miembro
aqui esta

Código:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="HoleNeedBasins" version="OTX (2.40 SVN), Codename:(Deumion)" author="Belero" contact="www.blacktibia.org/u3171" enabled="yes">

  <description>
    Si un jugador coloca un objeto, uno en cada recipiente y usa el árbol: se abrirá un hoyo.
    Pasado un tiempo desde que el jugador puso el primer objeto y el cual no los coloca todos: se resetearán los recipientes expulsando cada objeto.
    Se le añadirá en la descripción especial del objeto requerido el nombre del jugador que lo colocó en el recipiente. Y dicha descripción desaparecerá cuando el objeto se quite del recipiente.
    Pasado un tiempo desde que el jugador abrió el hoyo y el cual no lo traspasó: se reseteará la zona y cerrando el hoyo.
    Si el jugador usa el árbol y no ha puesto los objetos requeridos: se le notificará el nombre del objeto que ha de poner y el lugar con un efecto mágico encima de su correspondiente recipiente.
    Un jugador coloca algunos o todos los objetos requeridos. Si otro jugador distinto llega e intenta usar el árbol, o quitar los objetos de los recipientes, o poner alguno: no se le permitirá, y se le notificará que la zona ya está siendo ocupada por el anterior jugador.
    Si el jugador que ha abierto el hoyo lo cruza: el cual se cerrará automáticamente. Para poder dar paso a que el siguiente posible jugador lo abra sin que tenga que esperar a que expire el tiempo del anterior jugador para que el hoyo se cierre o coloque los objetos.
    Si un jugador distinto al que ha abierto el hoyo intenta traspasarlo: no se le permitirá, notificándole que él no ha sido quien ha puesto los objetos requeridos.
    Si el jugador que ha puesto anteriormente todos los objetos requeridos usa el árbol estando él mismo encima del hoyo: lo traspasará instantáneamente.
    Si un jugador ha colocado todos los objetos requeridos y usa el árbol estando otro jugador o criatura distinta encima del hoyo: será movida hacia un lado. Para que no lo entapone y permita cruzarlo al otro jugador que lo abrió.
  </description>

  <action uniqueid="12570" event="script" value="HoleNeedBasins.lua"/>
  <movevent type="StepIn" actionid="12570" event="script" value="HoleNeedBasins.lua"/>
  <movevent type="AddItem" tileitem="1" uniqueid="12571; 12572; 12573" event="script" value="HoleNeedBasins.lua"/>
  <event type="throw" name="ItemsOnBasinThrow" event="script" value="HoleNeedBasins.lua"/>
  <event type="login" name="ItemsOnBasinLogin" event="script" value="HoleNeedBasins.lua"/>
</mod>

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 .