BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

(Pedido) Textos para version 9.81

(Pedido) Textos para version 9.81

#1 (Pedido) Textos para version 9.81 el Sáb Jul 02, 2016 6:48 pm

nardofcm7


Aprendiz
Hola amigos les vengo a pedir el script de los efectos y letras en el piso para la version 9.81. Tengo un script pero no se como agregar mas textos y no se como editar los efectos, les dejo el script que encontre

Spoiler:
local config = {
positions = {
{pos = {x = 2494, y = 2497, z = 7}, text = "Arena", effects = {CONST_ME_MAGIC_BLUE}},
{pos = {x = 2494, y = 2498, z = 7}, text = "Hunting"}
},
effects = {CONST_ME_POFF, CONST_ME_TELEPORT, CONST_ME_MAGIC_RED}
}

function onThink(interval)
local people = getPlayersOnline()
if [Tienes que estar registrado y conectado para ver este vínculo] == 0 then
return true
end

for _, info in pairs(config.positions) do
doPlayerSay(people[1], info.text, TALKTYPE_MONSTER_SAY, false, 0, info.pos)
if info.effects and [Tienes que estar registrado y conectado para ver este vínculo].effects > 0 then
doSendMagicEffect(info.pos, info.effects[math.random(#info.effects)])
elseif config.effects and [Tienes que estar registrado y conectado para ver este vínculo].effects > 0 then
doSendMagicEffect(info.pos, config.effects[math.random(#config.effects)])
end
end
return true
end

Solo tengo 2 agregados y intente de todas formas como agregar mas y en todas me salia error espero que me puedan ayudar porafavor gracias

#2 Re: (Pedido) Textos para version 9.81 el Dom Jul 03, 2016 5:27 am

Belerofonte


Administrador
Se edita en esta parte:
local config = {
   positions = {
       {pos = {x = 851, y = 972, z = 7}, text = "Hello Sir! How are you?", effects = {CONST_ME_MAGIC_BLUE}},
       {pos = {x = 855, y = 972, z = 7}, text = "How are you?"}
   },
   effects = {CONST_ME_POFF, CONST_ME_TELEPORT, CONST_ME_MAGIC_RED}
}



Si queremos agregar más lugares, pues duplicamos(copiar & pegar) esas líneas y las ponemos debajo, cada una separada por una coma. Y editas sus parámetros(pos, text). Por ejemplo:
local config = {
   positions = {
       {pos = {x = 851, y = 972, z = 7}, text = "Hello Sir! How are you?", effects = {CONST_ME_MAGIC_BLUE}},
       {pos = {x = 855, y = 972, z = 7}, text = "How are you?"},

       {pos = {x = 855, y = 1978, z = 7}, text = "ola"},
       {pos = {x = 1055, y = 972, z = 7}, text = "ke"},
       {pos = {x = 895, y = 922, z = 7}, text = "ase?"},
   },
   effects = {CONST_ME_POFF, CONST_ME_TELEPORT, CONST_ME_MAGIC_RED}
}
Debajo de cada línea pero dentro de la variable {positions}



Respecto a los efectos, tienes 3 opciones:
Podemos hacer que aparezca en un lugar siempre un mismo efecto en concreto.
O que salga un efecto al azar cada vez, escogido de una lista.
local config = {
   positions = {
       {pos = {x = 851, y = 972, z = 7}, text = "Hello Sir! How are you?", effects = {CONST_ME_MAGIC_BLUE}},
       {pos = {x = 855, y = 972, z = 7}, text = "How are you?"},

       {pos = {x = 855, y = 1978, z = 7}, text = "ola", effects = {CONST_ME_POFF, CONST_ME_BLOCKHIT, CONST_ME_BLOOD}},
       {pos = {x = 1055, y = 972, z = 7}, text = "ke"},
       {pos = {x = 895, y = 922, z = 7}, text = "ase?", effects = {CONST_ME_TELEPORT}},
   },
   effects = {CONST_ME_POFF, CONST_ME_TELEPORT, CONST_ME_MAGIC_RED}
}
Como ves, le ponemos un solo efecto donde queremos que solamente aparezca ese, dentro del corchete {effects}.
U otro efecto pero escogido de entre varios al azar, en este caso los ponemos dentro del corchete {effects} cada uno separado por una coma.
O si no quieres ponerle ningún efecto, pues solamente le pones las variables pos y text.



La comentada anteriormente sería una forma de poner los efectos para que salgan en cada lugar por separado, ya sea uno escogido al azar, o que salga uno en concreto, o que no salga ninguno.

Aparte, tenemos otra opción que sería poniendo un efecto u otra lista de efectos en la variable {effects} de abajo, fuera del {positions}:
local config = {
   positions = {
       {pos = {x = 851, y = 972, z = 7}, text = "Hello Sir! How are you?", effects = {CONST_ME_MAGIC_BLUE}},
       {pos = {x = 855, y = 972, z = 7}, text = "How are you?"},

       {pos = {x = 855, y = 1978, z = 7}, text = "ola", effects = {CONST_ME_POFF, CONST_ME_BLOCKHIT, CONST_ME_BLOOD}},
       {pos = {x = 1055, y = 972, z = 7}, text = "ke"},
       {pos = {x = 895, y = 922, z = 7}, text = "ase?", effects = {CONST_ME_TELEPORT}},
   },
   effects = {CONST_ME_MAGIC_GREEN, CONST_ME_MAGIC_BLUE, CONST_ME_MAGIC_RED}
}
Eso hará que aparezca un efecto escogido al azar entre(CONST_ME_MAGIC_GREEN, CONST_ME_MAGIC_BLUE, o CONST_ME_MAGIC_RED) en todos los lugares donde no se les haya asignado anteriormente un efecto en la variable anterior de dentro de la llamada positions

En caso contrario, de que no quieras que aparezca ningún efecto de estos, pues dejas su variable vacía, es decir:
effects = {}



Una cosa más. Este script tiene un efecto secundario negativo, que si entras en el Account Manager te spameará todo con este mensaje:
10:43 Account Manager: Sorry, but I can't understand you, please try to repeat.
10:43 Account Manager: Sorry, but I can't understand you, please try to repeat.
10:43 Account Manager: Sorry, but I can't understand you, please try to repeat.
10:43 Account Manager: Sorry, but I can't understand you, please try to repeat.
10:43 Account Manager: Sorry, but I can't understand you, please try to repeat.
Aunque tu personaje no le diga nada al Account Manager.

Para evitarlo, sustitúyelo todo el código que haya debajo de las configuraciones mencionadas anteriormente por este otro:

function notAccMan(people)
   local thing = 1
   for v, cid in ipairs(getOnlinePlayers()) do
       if cid == "Account Manager" then
           thing = thing + 1
        else
           return thing
       end
       if thing > #people then
           return false
       end
   end
end


function onThink(interval)
   local people = getPlayersOnline()
   if #people == 0 then
       return true
   end
   local thing = notAccMan(people)
   if thing == false then return true end

   for _, info in pairs(config.positions) do
       doPlayerSay(people[1], info.text, TALKTYPE_MONSTER_SAY, false, 0, info.pos)
       if info.effects and #info.effects > 0 then
           doSendMagicEffect(info.pos, info.effects, #info.effects)])
        elseif config.effects and #config.effects > 0 then
           doSendMagicEffect(info.pos, config.effects, #config.effects)])
       end
   end
   return true
end

Así, como dicen aquí: [Tienes que estar registrado y conectado para ver este vínculo]



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]

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 .