×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Module API] Errores frecuentes
[Module API] Errores frecuentes
Eliaseeg
« Citoyen »
1491888120000
    • Eliaseeg#0000
    • Profil
    • Derniers messages
    • Tribu
#1
  5
  • Introducción
  • Init
  • Runtime
  • Argument
  • Misc
http://i.imgur.com/Sb9xRNQ.png
Si tu script no funciona, postealo aquí para que otros desarolladores puedan arreglarlo para ti. No olvides utilizar la tag [code=lua]Código aquí[/code].


En este tema explicaré los errores frecuentes a la hora de programar en LUA y también daré una explicación acerca de cómo identificarlos y resolverlos.

Algunos mensajes de error contienen un número de línea que se puede utilizar para encontrar la línea de código que causó el error. El error no puede ser exactamente en la línea dada, pero puede ser un error que tenga que ver alrededor de ella. Un buen consejo para analizar el código y para averiguar dónde falló algo es mostrar print('texto') las variables y otra información en varias etapas del código. Esto puede ser útil para averiguar si una variable no es lo que esperaba que fuera, si ciertas declaraciones se están ejecutando, etcétera. Probablemente no lo arregle pero podrá ayudar a localizar lo que está mal.


Leer errores
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
¿Cómo puedo saber en dónde está el error? ¿A qué pestaña debo acudir? ¿En qué linea está? A continuación vamos a analizar un mensaje de error para que puedas identificar dónde está el error y cómo puedes arreglarlo. Para este caso utilizaré el siguiente código:

Code Lua

1
2
3
Print('laura es bonita')

print('~')

Lo que nos conllevará al siguiente error:

http://image.prntscr.com/image/9d3c45002c56431bad749566e1624ce2.png

Primero que nada, los errores siempre saldrán en la pestaña de chat #lua, si tu script no funciona, lo primero que tienes que hacer es ir a revisar esa pestaña a ver si te salió un error. Ahora voy a explicar las partes del error.

1) El tipo de error. esto no nos interesa mucho pero podremos guiarnos por él en esta guía (las pestañas son el tipo de error).
2) En qué linea está ubicado el error. Esto sí que nos interesa porque aquí veremos en qué parte del código está siendo producido el error, aquí podremos ver qué está fallando.
3) El error. Con esto nos guiaremos absolutamente, esto es lo que nos indica qué está ocurriendo.

¿Qué quiere decir entonces? Que el error es de tipo Init, en la linea #1 y fue causado por Attempt to call nil. Según la pestaña Init de esta guía, Attempt to call nil se produce cuando una variable no está definida o cuando la función no existe. En este caso identificamos que es la linea #1 la de nuestro script en la que está ubicado el problema, vamos a revisar y nos damos cuenta que Print está mal escrito, ya que es print, lo corregimos y nos quedaría así:

Code Lua

1
2
3
print('laura es bonita')

print('~')

Ese código debería funcionar correctamente y sin ningún problema. Es muy fácil detectar los errores cuando sabes en qué parte están.



Agradecimientos por la creación de este hilo ♥:

  • A los creadores de los hilos de la comunidad EN y BR que fue donde saque la mayoría de información.
  • A Saintgio por darme la idea.
  • A Obemice por permitirme crearlo.
http://i.imgur.com/vA13tKu.png
Init es la abreviación de "initialisation" (inicialización en español) y significa que el código falló al ejecutarse cuando fue inicializado (véase cuando le das a enviar en la consola de lua). Los errores que podras encontrar en esta categoría son:

Attempt to call nil.

  • Este error ocurre cuando una linea está intentando usar una variable que es nil (no ha sido definida / está mal definida).
  • Ocurre frecuentemente cuando algo no ha sido creado y están en el orden equivocado, o una función no ha sido ejecutada.

    Code Lua

    1
    print(test)

    En este caso la variable test es inexistente, para arreglarlo sólo basta con definir la variable test.
    Code Lua

    1
    2
    test = 'is the best'
    print(test)


  • Otro error frecuente puede ser que la variable esté mal posicionada y el script la intente detectar antes de que fuese inicializada.
    Code Lua

    1
    2
    print(test)
    test = 'is the best'

    Para solucionarlo basta simplemente con cambiarla de posición.
    Code Lua

    1
    2
    test = 'is the best'
    print(test)


  • Este error también puede ocurrir cuando intentamos llamar a una función que no existe.
    Code Lua

    1
    Print('thetroz nob')

    Podemos observar que Print no es una función, no está definida en ningún lado. La función que queríamos llamar era print, pero como lua es case-sensitive (que distingue entre mayúsculas y minúsculas) la detecta como que no está definida. El código arreglado se vería así:
    Code Lua

    1
    print('thetroz nob')

Index expected, got nil.

  • Ocurre cuando intentas definir / llamar a un elemento de la tabla que no existe.
  • Code Lua

    1
    tabla[1] = "hina senpai"

    Para arreglarlo, sólo ocuparíamos inicializar "tabla".
    Code Lua

    1
    2
    tabla = {}
    tabla[1] = "hina senpai"
    O usando table.insert.
    Code Lua

    1
    2
    tabla = {}
    table.insert(tabla, "hina senpai")

')' expected (to close '(' at line [num])

  • Ocurre cuando una función no es cerrada correctamente.
  • Code Lua

    1
    print('tfm in 2k17 lul'

    Como puedes ver, a la función le falta un ")" para que se cierre correctamente.
    Code Lua

    1
    print('tfm in 2k17 lul')

'??' expected.

  • Si bien este error puede aparecer en varias situaciones diferentes, la más común es cuando se utiliza una condicional elseif cuando no hay un if atrás:
  • Code Lua

    1
    2
    3
    elseif a < 801 then 
    print('no hay ninguna condicional de apertura (if)
    end

Multiple points.

  • Ocurre cuando hay más de un punto en un número.
  • Code Lua

    1
    print(2.01.7)

    Arreglado:
    Code Lua

    1
    print(201.7)

Unfinished (long) comment/string.

  • Se produce cuando un comentario usando el operador de varias líneas [[...]] está mal cerrado
  • Code Lua

    1
    --[[ este es un comentario que no ha sido cerrado

    Se puede arreglar así:
    Code Lua

    1
    --[[ este sí es un comentario que ha sido cerrado ]] 

Nesting of [[...]] is deprecated.

  • Strings/comentarios de varias líneas no pueden ir dentro de otros comentarios.
  • Code Lua

    1
    --[[ 1 [[ 2 [[ 3 ]] ]] ]]

    Remueve los [[ ]] innecesarios.
    Code Lua

    1
    --[[ 1  2  3 ]]

Attempt to index ? (a nil value)

  • Se produce cuando un elemento de una tabla se llama, pero no está dentro del contexto de la tabla.
  • Code Lua

    1
    2
    tabla  = {}
    print(tabla[1])

    Para arreglarlo simplemente basta crear un elemento en el contexto de la tabla.
    Code Lua

    1
    2
    tabla = {"modules in 2k17 lul"}
    print(tabla[1])

http://i.imgur.com/F7GzPIH.png
Attempt to concatenate [tipo de dato] and [tipo de dato]

  • Diferentes tipos de datos no pueden ser concadenados con el operador "..", excepto números y strings.
  • Code Lua

    1
    print("hola "..{})
    Eso no va a funcionar porque estas concadenado un string con una tabla.

Invalid key to 'next'.

  • Ocurre cuando intentas remover un valor de una tabla cuando recorres sobre ella.
  • Code Lua

    1
    2
    3
    4
    5
    tabla = {"tigrounette", "did", "nothing", "wrong"}

    for key in pairs(tabla) do
    tabla[key] = nil
    end

Attempt to perform arithmetic [operación] on a [tipo de dato] value

  • Ocurre cuando intentas hacer una operación con tipos de datos que no son números.
  • Code Lua

    1
    print("patata" + {})

Attempt to compare [tipo de dato] with [tipo de dato]

  • Ocurre al comparar dos tipos de datos diferentes
  • Code Lua

    1
    2
    3
    if "kappita" > 0 then
    print("No puedes comparar un string con un número")
    end

[tipo de dato] expected, got [tipo de dato]

  • Se produce cuando un determinado tipo de datos se esperó en una función, pero se proporcionó otro tipo.
  • Code Lua

    1
    table.insert(13, "vane<3")

Lua destroyed : Runtime can't exceed 40 ms in 4 seconds !

  • Ocurre cuando sobrecargas el servidor haciendo muchos procedimientos en muy poco tiempo.
  • Code Lua

    1
    2
    3
    4
    5
    function eventLoop()
    for i = 1, 10000000 do
    -- Loop exageradamente grande
    end
    end

Lua destroyed: Runtime too long!

  • Ocurre cuando bloques de código tardan mucho tiempo en ejecutarse.
  • Code Lua

    1
    2
    3
    for i = 1,10000000000 do
    -- Tarda un milenio en ejecutarse.
    end

http://i.imgur.com/gMcEl03.png
Argument must be integer

  • Ocurre cuando un parametro de una función espera un número pero se le da otro tipo de dato.
  • Code Lua

    1
    tfm.exec.movePlayer("Eliaseeg", 100, "pato")
    En este caso, se esperaba que el 3 argumento fuese un número, sin embargo recibió un string.

? : argument [#] can't be NIL.

  • Ocurre cuando el número de parametro no puede ser nil.
  • Code Lua

    1
    tfm.exec.movePlayer("Eliaseeg", 100, nil)
    En este caso, se esperaba que el 3 argumento fuese un número, sin embargo recibió nil.

http://i.imgur.com/sGmtknO.png
? : argument [#] can't be NIL.

  • Ocurre cuando el número de parametro no puede ser nil.
  • Code Lua

    1
    tfm.exec.movePlayer("Eliaseeg", 100, nil)
    En este caso, se esperaba que el 3 argumento fuese un número, sin embargo recibió nil.

vm error: java.lang.ArrayIndexOutOfBoundsException: 256

  • Este error puede ser causado por varias cosas, pero es más común cuando algo se repite indefinidamente. Un ejemplo podría ser una función que se llama a sí misma.
  • Code Lua

    1
    2
    3
    4
    function a()
    a()
    end
    a()
    Como podemos ver, la función a se llama asimisma todo el tiempo, entonces se repite indefinidamente.

You don't have the right to use this function.

  • Ocurre cuando intentas llamar a una función que sólo pueden utilizar los miembros del LUA Team.
  • Code Lua

    1
    2
    3
    4
    5
    6
    7
    tfm.exec.chatMessage()
    tfm.exec.addImage()
    tfm.exec.removeImage()
    system.newTimer()
    system.removeTimer()
    system.saveFile()
    system.loadFile()
    ^Son algunas funciones que sólo están disponibles para miembros del LUA Team.

You can't call this function [función] more than once per 1 minute.

  • Ocurre cuando llamas a una función más de una vez por 1 minuto.
  • Code Lua

    1
    2
    system.loadFile(0)
    system.loadFile(0)
    Ojo: El código de arriba no funciona en casas de la tribu.

You can't call this function [tfm.exec.newGame] more than once per 3 seconds.

  • Ocurre cuando intentas llamar a tfm.exec.newGame antes de que hayan transcurrido 3 segundos.
  • Code Lua

    1
    2
    3
    tunction eventLoop(elapsed, remaining)
    tfm.exec.newGame(0)
    end

Para finalizar, un error muy común es cuando tienes 2 mismas funciones en un script. Cuando esto suceda, sólo funcionará la última.

Code Lua

1
2
3
4
5
6
7
function eventPlayerRespawn(name)
print("Laura")
end

function eventPlayerRespawn(name)
print("Linda") -- Sólo esta se ejecuta
end

Para arreglarlo simplemente se juntan y ya está.
Code Lua

1
2
3
4
function eventPlayerRespawn(name)
print("Laura")
print("Linda")
end

Dernière modification le 1491934380000
Tocutoeltuco
« Censeur »
1491931020000
    • Tocutoeltuco#0000
    • Profil
    • Derniers messages
#2
  2
¿Esto no debería ir en Guías y Tutoriales?
Que buen hilo! Ayudará mucho a varios usuarios
Eliaseeg
« Citoyen »
1491934260000
    • Eliaseeg#0000
    • Profil
    • Derniers messages
    • Tribu
#3
  0
Tocutoeltuco a dit :
¿Esto no debería ir en Guías y Tutoriales?

Decidí colocarlo aquí para que la gente pueda publicar sus errores y otros desarolladores puedan ayudarlos a resolverlos. Me gustaría agregar a los desarolladores que si arreglan el código de otra persona, por favor, explíquenle cómo hicieron para resolverlo y qué estaba mal.
Yuir
« Héliaste »
1491939180000
    • Yuir#2211
    • Profil
    • Derniers messages
    • Tribu
#4
  0
Excelente hilo y muy informativo, será de una excelente ayuda para aquellos que por un error dejan todo tirado porque no saben cómo resolverlo.
Miiiclaroo
« Citoyen »
1492118280000
    • Miiiclaroo#0000
    • Profil
    • Derniers messages
    • Tribu
#5
  0
Excelente hilo! creo que muchas personas que están comenzando en el mundo de la programación lo necesitaban
Cracklol456
1494455580000
    • Cracklol456#0000
    • Profil
    • Derniers messages
#6
[Modéré par Obemice, raison : Spam.]
Zebiitalds
1497051900000
    • Zebiitalds#3073
    • Profil
    • Derniers messages
    • Tribu
#7
[Modéré par Bog, raison : Este tema no es para apelar bans. Contacta con un moderador.]
Anuel2blea
« Censeur »
1497502620000
    • Anuel2blea#2469
    • Profil
    • Derniers messages
    • Tribu
#8
  0
Hola, yo tengo un script el cual es
Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
admin = "Tomaaasxddd"
cash = {}

function eventNewPlayer(pN)
ui.addTextArea(1, "<a href = 'event:shop'>Shop!</a>", pN, 6, 25, 100, 20, 0x111111, 0x111111, 1, true)
system.bindMouse(pN, true)
if pN == admin then
cash[pN] = 5000
else
cash[pN] = 0
end
ui.addTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end

for pN in pairs(tfm.get.room.playerList) do
eventNewPlayer(pN)
end

function eventLoop(eT, rT)
for pN in pairs(tfm.get.room.playerList) do
if pN == admin then
cash[pN] = cash[pN] + 10
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
else
cash[pN] = cash[pN] + 1
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end

function eventTextAreaCallback(id, pN, req)
if req == "shop" then
ui.addTextArea(1, "Shop!\n-> <a href = 'event:meep'>Meep - 100 coins</a>\n-> <a href = 'event:vampire'>Vampire - 200 coins</a>\n-> <a href = 'event:shaman'>Shaman - 250 coins</a>", pN, 6, 25, 200, 85, 0x111111, 0x111111, 1, true)
elseif req == "meep" then
if cash[pN] >= 100 then
cash[pN] = cash[pN] - 100
tfm.exec.giveMeep(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "vampire" then
if cash[pN] >= 200 then
cash[pN] = cash[pN] - 200
tfm.exec.setVampirePlayer(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "shaman" then
if cash[pN] >= 250 then
cash[pN] = cash[pN] - 250
tfm.exec.setShaman(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end
Es muy básico y lo que quiero hacer es que donde dice "Shop" al clickearlo aparezca un nueva funcion la cual es, como todas las demas que al clickearla te de algo, en este caso el queso.
Pero traté de hacerlo y me quedo el script así
Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
admin = "Tomaaasxddd"
cash = {}

function eventNewPlayer(pN)
ui.addTextArea(1, "<a href = 'event:shop'>Shop!</a>", pN, 6, 25, 100, 20, 0x111111, 0x111111, 1, true)
system.bindMouse(pN, true)
if pN == admin then
cash[pN] = 5000
else
cash[pN] = 0
end
ui.addTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end

for pN in pairs(tfm.get.room.playerList) do
eventNewPlayer(pN)
end

function eventLoop(eT, rT)
for pN in pairs(tfm.get.room.playerList) do
if pN == admin then
cash[pN] = cash[pN] + 10
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
else
cash[pN] = cash[pN] + 1
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end

function eventTextAreaCallback(id, pN, req)
if req == "shop" then
ui.addTextArea(1, "Shop!\n-> <a href = 'event:meep'>Meep - 100 coins</a>\n-> <a href = 'event:vampire'>Vampire - 200 coins</a>\n-> <a href = 'event:shaman'>Shaman - 250 coins</a>\n-> <a href = 'event:cheese'>Cheese - 100 coins</a>\", pN, 6, 25, 200, 85, 0x111111, 0x111111, 1, true)
elseif req == "meep" then
if cash[pN] >= 100 then
cash[pN] = cash[pN] - 100
tfm.exec.giveMeep(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "vampire" then
if cash[pN] >= 200 then
cash[pN] = cash[pN] - 200
tfm.exec.setVampirePlayer(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "shaman" then
if cash[pN] >= 250 then
cash[pN] = cash[pN] - 250
tfm.exec.setShaman(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "cheese" then
if cash[pN] >= 100 then
cash[pN] = cash[pN] - 100
tfm.exec.giveCheese[pN]
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end
Y ahora no carga y no sé que hice mal :(
Miiiclaroo
« Citoyen »
1497578880000
    • Miiiclaroo#0000
    • Profil
    • Derniers messages
    • Tribu
#9
  0
Bueno, en la línea 33 pusiste un símbolo de más Que era una barra invertida( \ ) lo que hacía que el script ignore la comilla que le seguía por lo que nunca se cerraba el string y te daba el error "unfinished string".
En la línea 55 colocaste "[ ]" en lugar de "( )" y por lo que te daba el error " '=' expected "
Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
admin = "Tomaaasxddd"
cash = {}

function eventNewPlayer(pN)
ui.addTextArea(1, "<a href = 'event:shop'>Shop!</a>", pN, 6, 25, 100, 20, 0x111111, 0x111111, 1, true)
system.bindMouse(pN, true)
if pN == admin then
cash[pN] = 5000
else
cash[pN] = 0
end
ui.addTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end

for pN in pairs(tfm.get.room.playerList) do
eventNewPlayer(pN)
end

function eventLoop(eT, rT)
for pN in pairs(tfm.get.room.playerList) do
if pN == admin then
cash[pN] = cash[pN] + 10
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
else
cash[pN] = cash[pN] + 1
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end

function eventTextAreaCallback(id, pN, req)
if req == "shop" then
ui.addTextArea(1, "Shop!\n-> <a href = 'event:meep'>Meep - 100 coins</a>\n-> <a href = 'event:vampire'>Vampire - 200 coins</a>\n-> <a href = 'event:shaman'>Shaman - 250 coins</a>\n-> <a href = 'event:cheese'>Cheese - 100 coins</a>", pN, 6, 25, 200, 85, 0x111111, 0x111111, 1, true)
elseif req == "meep" then
if cash[pN] >= 100 then
cash[pN] = cash[pN] - 100
tfm.exec.giveMeep(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "vampire" then
if cash[pN] >= 200 then
cash[pN] = cash[pN] - 200
tfm.exec.setVampirePlayer(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "shaman" then
if cash[pN] >= 250 then
cash[pN] = cash[pN] - 250
tfm.exec.setShaman(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "cheese" then
if cash[pN] >= 100 then
cash[pN] = cash[pN] - 100
tfm.exec.giveCheese(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end
Anuel2blea
« Censeur »
1497673440000
    • Anuel2blea#2469
    • Profil
    • Derniers messages
    • Tribu
#10
  0
Miiiclaroo a dit :
Bueno, en la línea 33 pusiste un símbolo de más Que era una barra invertida( \ ) lo que hacía que el script ignore la comilla que le seguía por lo que nunca se cerraba el string y te daba el error "unfinished string".
En la línea 55 colocaste "[ ]" en lugar de "( )" y por lo que te daba el error " '=' expected "
Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
admin = "Tomaaasxddd"
cash = {}

function eventNewPlayer(pN)
ui.addTextArea(1, "<a href = 'event:shop'>Shop!</a>", pN, 6, 25, 100, 20, 0x111111, 0x111111, 1, true)
system.bindMouse(pN, true)
if pN == admin then
cash[pN] = 5000
else
cash[pN] = 0
end
ui.addTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end

for pN in pairs(tfm.get.room.playerList) do
eventNewPlayer(pN)
end

function eventLoop(eT, rT)
for pN in pairs(tfm.get.room.playerList) do
if pN == admin then
cash[pN] = cash[pN] + 10
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
else
cash[pN] = cash[pN] + 1
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end

function eventTextAreaCallback(id, pN, req)
if req == "shop" then
ui.addTextArea(1, "Shop!\n-> <a href = 'event:meep'>Meep - 100 coins</a>\n-> <a href = 'event:vampire'>Vampire - 200 coins</a>\n-> <a href = 'event:shaman'>Shaman - 250 coins</a>\n-> <a href = 'event:cheese'>Cheese - 100 coins</a>", pN, 6, 25, 200, 85, 0x111111, 0x111111, 1, true)
elseif req == "meep" then
if cash[pN] >= 100 then
cash[pN] = cash[pN] - 100
tfm.exec.giveMeep(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "vampire" then
if cash[pN] >= 200 then
cash[pN] = cash[pN] - 200
tfm.exec.setVampirePlayer(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "shaman" then
if cash[pN] >= 250 then
cash[pN] = cash[pN] - 250
tfm.exec.setShaman(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
elseif req == "cheese" then
if cash[pN] >= 100 then
cash[pN] = cash[pN] - 100
tfm.exec.giveCheese(pN)
ui.updateTextArea(2, "You have "..cash[pN].." coins!", pN, 625, 25, 170, 20, 0x111111, 0x111111, 1, true)
end
end
end

Ahora si me sirve :DD gracias
Zirtk
1513289820000
    • Zirtk#4251
    • Profil
    • Derniers messages
#11
[Modéré par Obemice, raison : Para apelar una sanción tienes que contactarte con un moderador por mensaje privado.]
Atobor
1523546880000
    • Atobor#0000
    • Profil
    • Derniers messages
    • Tribu
#12
[Modéré par Visne, raison : Inappropriate]
Brandonsoyp
1523685840000
    • Brandonsoyp#0000
    • Profil
    • Derniers messages
#13
[Modéré par Bog, raison : Fuera de tema.]
Kelt
« Sénateur »
1529993940000
    • Kelt#0365
    • Profil
    • Derniers messages
    • Tribu
#14
  0
Por primera vez veo este hilo, está muy lindo Elias

Muy buen aporte ♡
Kurzheki
« Citoyen »
1570250160000
    • Kurzheki#9844
    • Profil
    • Derniers messages
    • Tribu
#15
  0
Hola, ¿Dónde puedo ver todos los comandos? Quisiera aprendermelo.
Gracias, espero su respuesta.
Kylian
1674960000000
    • Kylian#7115
    • Profil
    • Derniers messages
    • Tribu
#16
[Modéré par Stargazing, raison : Spam.]
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Module API] Errores frecuentes
© Atelier801 2018

Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

Version 1.27