BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Necesito un script

Necesito un script

#1 Necesito un script el Dom Feb 22, 2015 10:52 pm

Godz4t4n1c


Miembro
Saludos,

Necesito un script para quest
Lo cual primero tienes que hacer la quest para poder pasar un sqlm si no tienes la quest hecha que te diga necesitas hacer la quest
-------
Y otra cosa alguien sabe un script para pisar un sqlm y remover 3 stones a las ves, en ves de remover 1 que remueva 3

Gracias

#2 Re: Necesito un script el Lun Feb 23, 2015 12:46 am

ArcaniaOnline


Miembro
Código:
function onUse(cid, item, frompos, item2, topos)
 if getPlayerLevel(cid) < 30 then
      doPlayerSendTextMessage(cid,22,"Sorry, you are under lvl 30.")
      return 1
   end
   
   if item.uid == 1800 then -- Unique ID
      queststatus = getPlayerStorageValue(cid,1800) -- Storage
      if queststatus == -1 or queststatus == 0 then
         doPlayerSendTextMessage(cid,22,"You have found a treasure inside.") -- Mensaje
         doPlayerAddItem(cid,7140,1) -- Item a añadir
         setPlayerStorageValue(cid, 1800,1) -- Storage 1; no lo cambies
                        doSendMagicEffect(topos, 12) -- Efecto al clickear en el cofre o lo que sea, si quieres lo borras
      else
         doPlayerSendCancel(cid,"Sorry, it is empty.") -- Mensaje de error
      end
   else
      return 0
   end
   return 1
end

Código:
function onStepIn(cid, item, pos)
    if (item.actionid == 19755) then
if (getPlayerStorageValue(cid, 1800) == 1) then
  doPlayerSendTextMessage(cid,27,"You need Master Alchemist already finished.")
  setPlayerStorageValue(cid, 1800, 2)
end
end
    return true
end

function onStepOut(cid, item, pos)
    if (item.actionid == 19755) then
if (getPlayerStorageValue(cid, 1800) == 2) then
   setPlayerStorageValue(cid, 1800, 1)
end
end
    return true
end

Creo que asi en movements cada vez al pasar por el cuadro te saldra el mensaje y al salir reinicia el storage value a 1 al pisar el cuadro da un valor de 2 no estoy seguro

Código:
   <movevent type="StepIn" actionid="19755" event="script" value="pidequest.lua"/>
   <movevent type="StepOut" actionid="19755" event="script" value="pidequest.lua"/>

#3 Re: Necesito un script el Lun Feb 23, 2015 1:18 am

Godz4t4n1c


Miembro
Que actionid le pongo al cofre y que actionid le pongo al sqlm ??


We no tendras el de pisas el sqlm y borras 3 stones dejas de pisar y vuelven a su lugar

#4 Re: Necesito un script el Lun Feb 23, 2015 3:51 am

ArcaniaOnline


Miembro
El que tu quieras el cofre y en movements te dice que aid ponerle al piso

#5 Re: Necesito un script el Jue Feb 26, 2015 3:15 am

Godz4t4n1c


Miembro
We ayudame con este script

local c = {
rockID = 1546, -- ID de la roca.
rockPos1 = {x = 244, y = 1885, z = 8, stackpos = 1}, -- Coordenada del lugar donde se hallará la roca.
rockPos2 = {x = 244, y = 1886, z = 8, stackpos = 1}, -- Coordenada del lugar donde se hallará la roca.
rockPos3 = {x = 244, y = 1887, z = 8, stackpos = 1} -- Coordenada del lugar donde se hallará la roca.
}

function onStepIn(cid, item, fromPos, toPos)
local rockUID = getTileItemById(c.rockPos1, c.rockPos2, c.rockPos3, c.rockID)
if isPlayer(cid) and rockUID.itemid == c.rockID then
doRemoveItem(rockUID.uid)
end
return true
end

function onStepOut(cid, item, fromPos, toPos)
if isPlayer(cid) then
doCreateItem (c.rockPos1, c.rockPos2, c.rockPos3, c.rockID)
end
return true
end

Quise hacer que remueva 3 stones pero me sale error en la consola con docreateitem
me ayudas ??

#6 Re: Necesito un script el Jue Feb 26, 2015 8:15 am

ArcaniaOnline


Miembro
Código:
local c = {
rockID = 1546, -- ID de la roca.
rockPos1 = {x = 244, y = 1885, z = 8, stackpos = 1}, -- Coordenada del lugar donde se hallará la roca.
rockPos2 = {x = 244, y = 1886, z = 8, stackpos = 1}, -- Coordenada del lugar donde se hallará la roca.
rockPos3 = {x = 244, y = 1887, z = 8, stackpos = 1} -- Coordenada del lugar donde se hallará la roca.
}

function onStepIn(cid, item, fromPos, toPos)
local rockUID = getTileItemById(c.rockPos1, c.rockPos2, c.rockPos3, c.rockID)
if isPlayer(cid) and rockUID.itemid == c.rockID then
doRemoveItem(rockUID.uid)
end
return true
end

function onStepOut(cid, item, fromPos, toPos)
if isPlayer(cid) then
doCreateItem(c.rockID, 1, c.rockPos1, c.rockPos2, c.rockPos3)
end
return true
end

Intentalo asi si no, doCreateItem (c.rockPos1, c.rockPos2, c.rockPos3, c.rockID) dejala asi y asegurate que la ID es una roca en mi map editor es una 'fence' una rejita :p

Código:
doCreateItem(c.rockID, 1, c.rockPos1, c.rockPos2, c.rockPos3)

No estoy 100% seguro si el 1 te removera 1 reja solamente o todas por estar en una tabla intenta revisar eso

#7 Re: Necesito un script el Jue Feb 26, 2015 2:27 pm

Belerofonte


Administrador
doCreateItem(Id del objeto, cantidad, lugar donde será creado)

Sólo puede haber un valor en cada apartado
Por lo tanto...
doCreateItem(c.rockID, 1, c.rockPos1, c.rockPos2, c.rockPos3)
...no funcionará, y por ello hay que hacer un [Tienes que estar registrado y conectado para ver este vínculo] para que esos 3 se conviertan en uno sólo o se puedan poner todos los valores(posiciones) que quieras a la misma vez c:

Supongo que lo pilláste de aquí: [Tienes que estar registrado y conectado para ver este vínculo]
Pero ese script lo hice pensando exclusivamente en los requisitos que pidió el otro usuario: una sóla roca y necesarios 3 jugadores pisando 3 tiles a la vez.
Por lo tanto habría que ponerlo de otra forma... leí el post cuando lo hiciste pero me contuve a responderlo ya que ya hay muchos scripts así en el foro. Aunque sean accionados por palancas (Action) probando algunas combinaciones de script, pensé que lo podrías hacer por ti mismo tras prueba y error c:

Movements/... Movements.xml
<movevent type="StepIn" uniqueid="4097" event="script" value="tile_rocasGodz4.lua"/>
<movevent type="StepOut" uniqueid="4097" event="script" value="tile_rocasGodz4.lua"/>
Ahí pones el uniqueid que gustes(que no estés usando ya en otro script) el mismo que has de poner en el tile con el remeres.

Movements/Scripts/... tile_rocasGodz4.lua
Código:
  local c = {
    rocas = 1546, -- ItemID del objeto que bloquee el paso.
    effec = {CONST_ME_STONES, CONST_ME_GROUNDSHAKER}, -- Efecto mágico... {...al desaparecer, ...al aparecer}
    posic = { -- Coordenadas del lugar donde aparecerá/desaparecerá el objeto anterior.
        {x = 1040, y = 1030, z = 7, stackpos = 1},
        {x = 1041, y = 1032, z = 7, stackpos = 1},
        {x = 1042, y = 1030, z = 7, stackpos = 1},
    },
  }

function onStepIn(cid, item, fromPosition, toPosition)
    for i = 1, #c.posic do
      local rockUID = getTileItemById(c.posic[i], c.rocas)
        if isPlayer(cid) and rockUID.itemid == c.rocas then
            doSendMagicEffect(c.posic[i], c.effec[1])
            doRemoveItem(rockUID.uid)
        end
    end
  return true
end

function onStepOut(cid, item, fromPosition, toPosition)
    for i = 1, #c.posic do
      local rockUID = getTileItemById(c.posic[i], c.rocas)
        if isPlayer(cid) and rockUID.itemid ~= c.rocas then
            doCreateItem(c.rocas, 1, c.posic[i])
            doSendMagicEffect(c.posic[i], c.effec[2])
        end
    end
  return true
end

Zona a editar:
local c = {
rocas = 1546, -- ItemID del objeto que bloquee el paso.
effec = {CONST_ME_STONES, CONST_ME_GROUNDSHAKER}, -- Efecto mágico... {...al desaparecer, ...al aparecer}
posic = { -- Coordenadas del lugar donde aparecerá/desaparecerá el objeto anterior.
{x = 1040, y = 1030, z = 7, stackpos = 1},
{x = 1041, y = 1032, z = 7, stackpos = 1},
{x = 1042, y = 1030, z = 7, stackpos = 1},
},
}

Pudiendo así añadir tantas líneas de coordenadas como quieras(tal y como están expuestas: una bajo la otra y separadas por una coma) para que aparezcan/desaparezcan todas las piedras que quieras.



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: Necesito un script el Jue Feb 26, 2015 3:47 pm

Godz4t4n1c


Miembro
Gracias a los dos xD
ArcaniaOnline tu script tbm me sirbio gracias
Belerofonte tu script me sirbio gracias

Les agradesco mucho

#9 Re: Necesito un script el Jue Feb 26, 2015 8:17 pm

Riikudou(Ns)


Miembro
ok como veran lo ayudarom
pero vean[Tienes que estar registrado y conectado para ver esa imagen] yo creo que se puso eso para algo no creen
una de las razones por lo que algunos mas que otros no ayudamos es porque solo copy y se van
tan solo es un clik.... que siga haci blacktibia

https://www.facebook.com/httpstibia?ref=hl

#10 Re: Necesito un script el Jue Feb 26, 2015 9:45 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:ok como veran lo ayudarom
pero vean[Tienes que estar registrado y conectado para ver esa imagen] yo creo que se puso eso para algo no creen
una de las razones por lo que algunos mas que otros no ayudamos es porque solo copy y se van
tan solo es un clik.... que siga haci blacktibia
Si tanto te molesta y no es sólo otro comentario spam: dale tú mismo a nuestros [Tienes que estar registrado y conectado para ver esa imagen] Yao ming

Cierro.



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: Necesito un script Hoy a las 4:10 am

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 .