×

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
  • /
  • [Aide] Demandes de codes et d'explications
« ‹ 45 / 70 › »
[Aide] Demandes de codes et d'explications
Alexpp
« Citoyen »
1426698240000
    • Alexpp#0000
    • Profil
    • Derniers messages
    • Tribu
#881
  0
Mapouri a dit :
Est-ce que vous s arrivez à changer la metamethode __len d'une table ?

Je viens d'essayer, aucun effet bizarrement.
Code que j ai test a dit :

local test = {1,2,3}

x = setmetatable(test, {__len=function(self) return 42 end})

print(#test)
print(#x)

Donne
3
3
au lieu de
42
42
Mapouri
« Citoyen »
1426767780000
    • Mapouri#0000
    • Profil
    • Derniers messages
    • Tribu
#882
  0
Réponse trouvée : On est repassé en 5.1 alors que __len n'est disponible que depuis la 5.2
Ausecourr
« Citoyen »
1427030580000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#883
  0
Bonjour j'ai vu dans le topic de podoko message:sub(1,4) qui permet par exemple quand on veut donner un fromage a quelqu'un de faire quelque chose comme

if message:sub(1,6) == "cheese" then
etc..

Le truc c'est que je sais qu'il y a une alternative bien plus pratique utilisant arg pour ne regarder que le premier mot par exemple quand on a:
!cheese ausecourr
on regarderait arg(1) soit cheese puis on ferait giveCheese(arg(2))

Seulement je n'ai aucune idée de comment ça fonctionne, je n'ai vu ça qu'une fois, quelqu'un saurait m'expliquer?

Merci d'avance

Dernière modification le 1427031060000
Ausecourr
1427030580000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#884
[Modéré par Thewav, raison : Double post]

Dernière modification le 1427030640000
Alexpp
« Citoyen »
1427049240000
    • Alexpp#0000
    • Profil
    • Derniers messages
    • Tribu
#885
  0
Un truc de ce genre ?

local arg={}
for _ in message:gmatch('[^%s]+') do table.insert(arg, _) end

edit: c'est arg[1] / arg[2] / ...

Dernière modification le 1427049300000
Ausecourr
1427050140000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#886
[Modéré par Thewav, raison : Double post]

Dernière modification le 1427050260000
Ausecourr
« Citoyen »
1427050200000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#887
  0
Oui quelque chose comme ça, mais je ne me souviens pas avoir vu de ^%s ni de local arg mais c'est surement ça ^^'
En gros ça permettait de remplacer message:sub(1,6) pour le mot cheese par arg[]
Alexpp
« Citoyen »
1427050620000
    • Alexpp#0000
    • Profil
    • Derniers messages
    • Tribu
#888
  0
Ausecourr a dit :
Oui quelque chose comme ça, mais je ne me souviens pas avoir vu de ^%s ni de local arg mais c'est surement ça ^^'
En gros ça permettait de remplacer message:sub(1,6) pour le mot cheese par arg[]

Après je sais pas, mais celui ci. Il ajoute une entrée à chaque espace.

message = "cheese"
arg[1] == "chesse"

message = "chesse toto"
arg[1] == "cheese"
arg[2] == "toto"

Edit: le « local » c'est juste pour déclarer la variable de manière locale

v-- De rien.

Dernière modification le 1427093580000
Ausecourr
« Citoyen »
1427090340000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#889
  0
Merci c'est bien ça que je cherchais ^^
Alexpp
« Citoyen »
1427462940000
    • Alexpp#0000
    • Profil
    • Derniers messages
    • Tribu
#890
  0
Le lua bug encore ?

Lorsque j'appuie sur "Submit", il part, ne lance rien, et ne revient pas...
Sur un script de moins de 1500 lignes ça passe « • # [*Pas d'invitations] [Alexpp] Lua script loaded in 7 ms (4000 max) »
Sur +/- le même script avec un bloc supplémentaire (sans l'activer) de - de 1800 lignes, il bug.
Le bloc supplémentaire étant tout à fait fonctionnel...

La question: Il y a une limite de lignes ?

Edit: je précise que dans l'état, environ "la moitié" des lignes sont des commentaires :'-)

Dernière modification le 1427463300000
Rectop
« Citoyen »
1427463480000
    • Rectop#0000
    • Profil
    • Derniers messages
    • Tribu
#891
  0
Il y a une limite de 60 000 caractères il me semble.
Alexpp
« Citoyen »
1427463840000
    • Alexpp#0000
    • Profil
    • Derniers messages
    • Tribu
#892
  0
Celui qui passe: 61'467
L'autre: 69'547

Les deux dépassent les 60k :-$

Edit: En supprimant les commentaires (passe sous 50k), il passe. xD
Merci.

Edit bis:

v--- vi c'est bon, limite à « 65535 » sans doute... Ça risque de me gêner du coup :'(

Dernière modification le 1427464560000
Rectop
« Citoyen »
1427464080000
    • Rectop#0000
    • Profil
    • Derniers messages
    • Tribu
#893
  0
Alexpp a dit :
Celui qui passe: 61'467
L'autre: 69'547

Les deux dépassent les 60k :-$

Je sais qu'il y a une limite de caractères, mais ce n'est peut-être pas 60 000. Tu comptes les commentaires? Parce que je ne suis pas sûr si ils comptent dans le nombre de caractères.

EDIT: Problème réglé on dirait bien ^^

Dernière modification le 1427464200000
Thewav
« Citoyen »
1427474520000
    • Thewav#0095
    • Profil
    • Derniers messages
    • Tribu
#894
  0
Tu peux minifier ton code Alexpp, deathmatch a un peu plus de 85k caractères
Alexpp
« Citoyen »
1427477220000
    • Alexpp#0000
    • Profil
    • Derniers messages
    • Tribu
#895
  0
Thewav a dit :
Tu peux minifier ton code Alexpp, deathmatch a un peu plus de 85k caractères

Merci, bon a savoir ^^

Mais sa résout pas vraiment le problème, je vais pas "minifier" à chaque modif. Je le fais déjà avant de rendre le code publique, c'est bien assez =)
Zzcobrazz
« Citoyen »
1427818740000
    • Zzcobrazz#0000
    • Profil
    • Derniers messages
    • Tribu
#896
  0
code pour un chamane svp
Nicolasledu
« Citoyen »
1427821680000
    • Nicolasledu#0000
    • Profil
    • Derniers messages
    • Tribu
#897
  0
Zzcobrazz a dit :
code pour un chamane svp

tfm.exec.setShaman('joueur')
Bobolemouton
« Censeur »
1427907540000
    • Bobolemouton#9848
    • Profil
    • Derniers messages
    • Tribu
#898
  0
Il y aurait un autre moyen de coder un timer ?
Car c'est énervant à la longue sa :
Timer enervant a dit :

if timer == 29 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 28 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 27 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 26 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 25 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 24 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 23 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 22 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 21 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 28 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 27 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 26 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 25 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 24 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 23 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 22 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 21 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 20 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 19 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 18 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 17 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 16 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 15 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 14 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 13 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 12 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 11 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 10 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
colortimer = "#EE5555"
elseif timer == 9 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 8 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 7 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 6 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 5 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 4 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 3 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 2 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer == 1 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
elseif timer <= 0 then
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
go = false
Podoko
« Citoyen »
1427908500000
    • Podoko#0000
    • Profil
    • Derniers messages
    • Tribu
#899
  0
WTF c'est quoi ce O_O
Quand tu recopies 30 fois la même ligne il faut commencer à se demander sérieusement s'il y a pas moyen d'éviter ça. ^^'



Un code qui fait la normalement la meme chose a dit :
ui.addTextArea(4, "<font size='14px' color='"..colortimer.."'><p align='center'>"..timer.."</p></font>", nil, 615, 100, 40, 30)
if timer <= 0 then
    go = false
elseif timer == 10 then
    colortimer = "#EE5555"
end
Bobolemouton
« Censeur »
1427913000000
    • Bobolemouton#9848
    • Profil
    • Derniers messages
    • Tribu
#900
  0
J'ai tester sa, avant que tu me passes le code, le problème c'est que sa fera de 0.5 en 0.5 et pas de 1 en 1
Genre comme sa : 30/ 29.5/ 29/ 28.5...
Alors que je veux que sa fasse un compteur de 1 en 1
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Aide] Demandes de codes et d'explications
« ‹ 45 / 70 › »
© Atelier801 2018

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

Version 1.27