BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Creaturescript pedido

Creaturescript pedido

Ir a la página : 1, 2  Siguiente

#1 Creaturescript pedido el Sáb Mar 15, 2014 11:12 am

Amy Azzkaban


Miembro
Hola, necesito un creaturescript que sea para un boss y que haga lo siguiente:

- Que cada 18 segundos haga aparecer 4 monstruos
- Que esos monstruos tengan una cordenada configurable cada uno
- Que antes de invocar a esos monstruos el boss diga una frase como pidiendo ayuda, por ejemplo al segundo 14 ( ya que al segundo 18 aparecerian los monstruos


Sería muy dificil?
Me ayudan?
Gracias.

#2 Re: Creaturescript pedido el Sáb Mar 15, 2014 11:24 am

Elexonic


Miembro
Aff se me borro lo que dije..

TT
mira , mm puedes tratar de hacer un globalevents.. que aga..
alos 14 segundos mande un mensaje en x posicion..[dode esta ese boss..] asi parece que lo dijo el..
alos 18 segundos.. que se sumoneen 4 monster.. en las poss que elijas..
lo unico que tendrias que tener en cuenta.. es poner un limite.. de monsters.. xk si no... xD

#3 Re: Creaturescript pedido el Sáb Mar 15, 2014 11:26 am

Strack


Scripter
Para no complicarse la vida, se puede hacer con una spell, o como bien dices, un creaturescript.

No es complicado en verdad, si nadie te lo soluciona mañana me lo recuerdas y te lo hago

#4 Re: Creaturescript pedido el Lun Mar 17, 2014 5:48 pm

Amy Azzkaban


Miembro
Arriba.

Sería dificil hacerlo?
Ya tengo listo el boss

#5 Re: Creaturescript pedido el Lun Mar 17, 2014 6:32 pm

Strack


Scripter
not tested:

creaturescripts.xml
Código:

<event type="think" interval="2000" name="amyBoss" event="script" value="amyBoss.lua"/>

/scripts/amyBoss.lua:
Código:

local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver invocar los summons
local yellTime = 14 -- en segundos, tiempo que tardara en pedir ayuda
local yellMsg = "Ayuda!"

local monsters = {
   [1] = {monster="demon", coord={x=1000,y=1000,z=7}},
   [2] = {monster="demon", coord={x=1000,y=1000,z=7}},
   [3] = {monster="demon", coord={x=1000,y=1000,z=7}},
   [4] = {monster="demon", coord={x=1000,y=1000,z=7}},
}

local function summonFriends(boss)
   for _,m in pairs(monsters) do
      local sum = doSummonMonster(m.monster, m.coord)
      doConvinceCreature(boss, sum)
   end
end

local function callFriends(boss)
   addEvent(doCreatureSay, yellTime*1000, cid, yellMsg, TALKTYPE_MONSTER)
   addEvent(summonFriends, callTime*1000, boss)
end

function onThink(cid, interval)
   if getCreatureStorage(cid, exhaust) < os.time(t) then
      doCreatureSetStorage(cid,exhaust, os.time(t) + callTime)
      callFriends(cid)
   end
end

y registras en el monster
Código:

<script>
   <event name="amyBoss"/>
</script>

#6 Re: Creaturescript pedido el Lun Mar 17, 2014 7:22 pm

Amy Azzkaban


Miembro
Me arrojó este error:

Código:

[17/3/2014 19:51:23] [Error - CreatureScript Interface]
[17/3/2014 19:51:23] In a timer event called from:
[17/3/2014 19:51:23] mods/scripts/Scripts en General/Azzkaban Creaturescripts Respaldo/Monsters New AI/Apocalyptic fighter.lua:onThink
[17/3/2014 19:51:23] Description:
[17/3/2014 19:51:23] (LuaInterface::luaDoConvinceCreature) Creature not found

Revisé invocando con el god al monstruo que usé como test y si existe.

#7 Re: Creaturescript pedido el Mar Mar 18, 2014 12:33 am

darknelson


Aprendiz
si mis ojos no me engañan el boss tiene que estar ya sumoneado desde antes, saludos

#8 Re: Creaturescript pedido el Mar Mar 18, 2014 1:37 pm

Amy Azzkaban


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:si mis ojos no me engañan el boss tiene que estar ya sumoneado desde antes, saludos

El boss ya estaba sumoneado

#9 Re: Creaturescript pedido el Mar Mar 18, 2014 2:18 pm

Strack


Scripter
(Nota mental: testear la proxima vez)

/script:
Código:

local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellTime = 14 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellMsg = "Ayuda!"

local monsters = {
   [1] = {monster="rat", coord={x=997,y=1010,z=7}},
   [2] = {monster="rat", coord={x=998,y=1010,z=7}},
   [3] = {monster="rat", coord={x=999,y=1010,z=7}},
   [4] = {monster="rat", coord={x=1000,y=1010,z=7}},
}

local function callFriends(boss)
   local function summonFriends()
      if isCreature(boss) then
         for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
         end
         callFriends(boss)
      end
   end

   local function call4help()
      if isCreature(boss) then
         doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
   end

   addEvent(call4help, yellTime*1000)
   addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
   callFriends(cid)
end

#10 Re: Creaturescript pedido el Mar Mar 18, 2014 2:37 pm

Amy Azzkaban


Miembro
Me arrojó este error ahora:

Código:

[18/3/2014 16:4:55] [Error - CreatureScript Interface]
[18/3/2014 16:4:55] mods/scripts/Scripts en General/Azzkaban Creaturescripts Respaldo/Monsters New AI/Apocalyptic fighter.lua:onThink
[18/3/2014 16:4:55] Description:
[18/3/2014 16:4:55] ...pts Respaldo/Monsters New AI/Apocalyptic fighter.lua:24: attempt to perform arithmetic on global 'yellTime' (a nil value)
[18/3/2014 16:4:55] stack traceback:
[18/3/2014 16:4:55]    ...pts Respaldo/Monsters New AI/Apocalyptic fighter.lua:24: in function 'callFriends'
[18/3/2014 16:4:55]    ...pts Respaldo/Monsters New AI/Apocalyptic fighter.lua:29: in function <...pts Respaldo/Monsters New AI/Apocalyptic fighter.lua:28>


Al script le puse las cordenadas

Código:
local monsters = {
  [1] = {monster="Swampy Bilith", coord={x=350,y=603,z=7}},
  [2] = {monster="Swampy Bilith", coord={x=353,y=600,z=7}},
  [3] = {monster="Swampy Bilith", coord={x=356,y=600,z=7}},
  [4] = {monster="Swampy Bilith", coord={x=359,y=603,z=7}},
}
local function callFriends(boss)
  local function summonFriends()
      if isCreature(boss) then
        for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
        end
        callFriends(boss)
      end
  end

  local function call4help()
      if isCreature(boss) then
        doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
  end

  addEvent(call4help, yellTime*1000)
  addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
  callFriends(cid)
end

#11 Re: Creaturescript pedido el Mar Mar 18, 2014 2:38 pm

Strack


Scripter
no copiaste todo el script

#12 Re: Creaturescript pedido el Mar Mar 18, 2014 2:47 pm

Amy Azzkaban


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:no copiaste todo el script

Ups :)ahora si lo copié bién pero me cracheó el servidor.


Código:
local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellTime = 14 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellMsg = "Ayuda!"

local monsters = {
   [1] = {monster="Swampy Bilith", coord={x=350,y=603,z=7}},
   [2] = {monster="Swampy Bilith", coord={x=353,y=600,z=7}},
   [3] = {monster="Swampy Bilith", coord={x=356,y=600,z=7}},
   [4] = {monster="Swampy Bilith", coord={x=359,y=603,z=7}},
}
local function callFriends(boss)
   local function summonFriends()
      if isCreature(boss) then
         for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
         end
         callFriends(boss)
      end
   end

   local function call4help()
      if isCreature(boss) then
         doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
   end

   addEvent(call4help, yellTime*1000)
   addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
   callFriends(cid)
end

Antes de craschear se vió al boss pidiendo ayuda... quizas el error fue al momento de invocar.

Edito: nuevamente lo probé y pude ver que el boss pidió ayuda tres veces seguidas.

#13 Re: Creaturescript pedido el Mar Mar 18, 2014 3:09 pm

Strack


Scripter
que server usas? ami no me dio error, pero supongo cual es tu error, prueba este:
Código:

local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellTime = 14 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellMsg = "Ayuda!"

local monsters = {
   [1] = {monster="Swampy Bilith", coord={x=350,y=603,z=7}},
   [2] = {monster="Swampy Bilith", coord={x=353,y=600,z=7}},
   [3] = {monster="Swampy Bilith", coord={x=356,y=600,z=7}},
   [4] = {monster="Swampy Bilith", coord={x=359,y=603,z=7}},
}
local function callFriends(boss)
   local function summonFriends()
      if isCreature(boss) then
         for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
         end
         callFriends(boss)
      end
   end

   local function call4help()
      if isCreature(boss) then
         doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
   end

   addEvent(call4help, yellTime*1000)
   addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
   if getCreatureStorage(cid, exhaust) == -1 then
      doCreatureSetStorage(cid,exhaust, 'strack')
      callFriends(cid)
   end
end

#14 Re: Creaturescript pedido el Mar Mar 18, 2014 3:23 pm

Amy Azzkaban


Miembro
Nuevamente me dió crach. Uso otx para 10.31
En el xml lo puse así, quizas tenga que ver algo:

Código:
        <event type="think" name="Apocalyptic fighter" event="script" value="Scripts en General/Azzkaban Creaturescripts Respaldo/Monsters New AI/Apocalyptic fighter.lua"/>

#15 Re: Creaturescript pedido el Mar Mar 18, 2014 3:35 pm

Strack


Scripter
Algun error en consola? Pff estos otx ultimamente veo demasiados errores, pensaba que eran mas estables...
asegurate de haber copiado bien todo:

creaturescript.xml
Código:
<event type="think" name="amyBoss" event="script" value="amyBoss.lua"/>

script:
Código:


local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellTime = 14 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellMsg = "Ayuda!"

local monsters = {
  [1] = {monster="rat", coord={x=997,y=1010,z=7}},
  [2] = {monster="rat", coord={x=998,y=1010,z=7}},
  [3] = {monster="rat", coord={x=999,y=1010,z=7}},
  [4] = {monster="rat", coord={x=1000,y=1010,z=7}},
}
local function callFriends(boss)
  local function summonFriends()
      if isCreature(boss) then
        for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
        end
        callFriends(boss)
      end
  end

  local function call4help()
      if isCreature(boss) then
        doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
  end

  addEvent(call4help, yellTime*1000)
  addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
  if getCreatureStorage(cid, exhaust) == -1 then
      doCreatureSetStorage(cid,exhaust, 'strack')
      callFriends(cid)
  end
end

y esto en el monster:
Código:

<script>
   <event name="amyBoss"/>
</script>

#16 Re: Creaturescript pedido el Mar Mar 18, 2014 3:56 pm

Amy Azzkaban


Miembro
Nuevamente me dio crach. En consola no apareció nada. Tengo una duda, en login no se registra nada?

#17 Re: Creaturescript pedido el Mar Mar 18, 2014 4:06 pm

Strack


Scripter
login es para players, para criaturas es dentro del xml (por lo general)

prueba a poner un print('olaa') debajo del getcreaturestorage para saber cuantas veces se ejecuta el script

#18 Re: Creaturescript pedido el Mar Mar 18, 2014 9:24 pm

Amy Azzkaban


Miembro
En consola aparecía: DEBUG >nil

Código:
local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellTime = 14 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellMsg = "Ayuda!"

local monsters = {
  [1] = {monster="Swampy Bilith", coord={x=350,y=603,z=7}},
  [2] = {monster="Swampy Bilith", coord={x=353,y=600,z=7}},
  [3] = {monster="Swampy Bilith", coord={x=356,y=600,z=7}},
  [4] = {monster="Swampy Bilith", coord={x=359,y=603,z=7}},
}
local function callFriends(boss)
  local function summonFriends()
      if isCreature(boss) then
        for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
        end
        callFriends(boss)
      end
  end

  local function call4help()
      if isCreature(boss) then
        doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
  end

  addEvent(call4help, yellTime*1000)
  addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
  if getCreatureStorage(cid, exhaust) == -1 then
      print('DEBUG>>' .. tostring(uid))
      doCreatureSetStorage(cid,exhaust, 'strack')
      callFriends(cid)
  end
end

#19 Re: Creaturescript pedido el Jue Mar 27, 2014 9:44 am

Amy Azzkaban


Miembro
Arriba
Arriba
Arriba

Arriba
Arriba
Arriba...

#20 Re: Creaturescript pedido el Jue Mar 27, 2014 3:41 pm

Strack


Scripter
Código:

local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellTime = 14 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellMsg = "Ayuda!"

local monsters = {
  [1] = {monster="Swampy Bilith", coord={x=350,y=603,z=7}},
  [2] = {monster="Swampy Bilith", coord={x=353,y=600,z=7}},
  [3] = {monster="Swampy Bilith", coord={x=356,y=600,z=7}},
  [4] = {monster="Swampy Bilith", coord={x=359,y=603,z=7}},
}
local function callFriends(boss)
  local function summonFriends()
      if isCreature(boss) then
        for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
        end
        callFriends(boss)
      end
  end

  local function call4help()
      if isCreature(boss) then
        doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
  end

  addEvent(call4help, yellTime*1000)
  addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
  if getCreatureStorage(cid, exhaust) == -1 then
      print('DEBUG>>' .. tostring(cid))
      doCreatureSetStorage(cid,exhaust, 'strack')
      callFriends(cid)
  end
end

Dime cuantas veces te aparece DEBUG>> en consola.

#21 Re: Creaturescript pedido el Jue Mar 27, 2014 4:48 pm

Amy Azzkaban


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
Dime cuantas veces te aparece DEBUG>> en consola.

[27/3/2014 18:17:16] DEBUG>>1073753866

EDITO: Dejé al boss solo sin atacar ni nada y dió crach solo.

#22 Re: Creaturescript pedido el Jue Mar 27, 2014 6:39 pm

Strack


Scripter
es que... lo unico que se me ocurre es que OTX no soporte funciones internas en otras funciones...

Código:


local exhaust = 548547 -- storage de exhaustion
local callTime = 18 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellTime = 14 -- en segundos, tiempo que tardara en volver a ejecutar la accion.
local yellMsg = "Ayuda!"

local monsters = {
  [1] = {monster="Swampy Bilith", coord={x=350,y=603,z=7}},
  [2] = {monster="Swampy Bilith", coord={x=353,y=600,z=7}},
  [3] = {monster="Swampy Bilith", coord={x=356,y=600,z=7}},
  [4] = {monster="Swampy Bilith", coord={x=359,y=603,z=7}},
}
local function callFriends(boss)
  local function summonFriends()
      if isCreature(boss) then
        for _,m in pairs(monsters) do
            local sum = doCreateMonster(m.monster, m.coord)
            doConvinceCreature(boss, sum)
        end
        callFriends(boss)
      end
  end

  local function call4help()
      if isCreature(boss) then
        doCreatureSay(boss, yellMsg, TALKTYPE_MONSTER)
      end
  end
 
  print('Calling friends>>' .. tostring(boss))

  addEvent(call4help, yellTime*1000)
  addEvent(summonFriends, callTime*1000)
end

function onThink(cid, interval)
  if getCreatureStorage(cid, exhaust) == -1 then
      print('DEBUG>>' .. tostring(cid))
      doCreatureSetStorage(cid,exhaust, 'strack')
      callFriends(cid)
  end
end

prueba este y me dices que mensajes aparecen en consola

#23 Re: Creaturescript pedido el Jue Mar 27, 2014 7:58 pm

Amy Azzkaban


Miembro
27/3/2014 21:25:38] Amy has logged in.
[27/3/2014 21:26:27] DEBUG>>1073753867
[27/3/2014 21:26:27] Calling friends>>1073753867

Después de eso dió crach.

#24 Re: Creaturescript pedido el Jue Mar 27, 2014 11:49 pm

Sirakx


Moderador
Amy la verdad no se por que no te funciona ami me sirve perfectamente estoy usando otx 2.90

[Tienes que estar registrado y conectado para ver esa imagen]

Pero eso si cuando el monsters ya sumoneo muchos monstruos marca error en consola por que los monstruos que summoneron sigen en la misma posición y ya no es posible summonear mas montruos en ese lugar..

Strack estaría chido si pusieras una condición que si sigue el summon en tal posición que ya no lo sumonee.

[Tienes que estar registrado y conectado para ver esa imagen]



Última edición por God Rakzzo el Vie Mar 28, 2014 2:47 pm, editado 1 vez

http://celesta-global.net/

#25 Re: Creaturescript pedido el Vie Mar 28, 2014 2:25 pm

Strack


Scripter
Nights? O.o
Lo del error cuando no hay espacio ya lo conocia, pero primero queria saber porque le crasheaba a Amy e intentar arreglarlo.

#26 Re: Creaturescript pedido Hoy a las 1:42 pm

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 2.]

Ir a la página : 1, 2  Siguiente

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 .