×

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
« ‹ 57 / 70 › »
[Aide] Demandes de codes et d'explications
Sourialp
« Citoyen »
1479584280000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1121
  0
je ne sait pas, mais ou est le code complet, on peut le voir ou ce n'est pas terminer ??
Nathaan
« Citoyen »
1479585300000
    • Nathaan#0000
    • Profil
    • Derniers messages
    • Tribu
#1122
  0
sourialp a dit :
J'aimerai savoir si il y aurait un évent lorsque la souris a un contacte avec quelque chose (souris, objet, sol...);
et si quelqu'un pourrai me dire quelle est le numéro de l’émotte de l'évent (le mouvement de la baguette) car je ne l'ai pas trouer ;(
associé a comment l'ordinateur reconnais qu'une souris(squelette ou autres) est toucher lorsque l'on fait cet émotte.
C'est peut être un peu beaucoup ces demandes, mais si on m'explique sa m’arrangerai ;)

Pas d'event lorsqu'on rentre en contact avec quelque chose, pas d'ID de baguette de l'event (existe pas), et ça c'est le serv qui gère, en lua on peut pas
Sourialp
« Citoyen »
1479590400000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1123
  0
ow c'est très dmg, on aurai pue crée bc bc de jeu grace a juste les code de cet event ;(

et merci de l'info ;)
Mcfloy
« Citoyen »
1479592560000
    • Mcfloy#0000
    • Profil
    • Derniers messages
#1124
  0
Une suggestion avait déjà été faite et j'ai relancé pour savoir s'il y aurait du changement.
Sourialp
« Citoyen »
1479621960000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1125
  0
aaa, ba sa serai superr

En revanche je suis coincer sur un "until", je veu faire répéter une action, (qui débute lorsque la touche est enfoncer) jusqu'à se que la touche soit relâché, sauf que je ne sait pas comment l'écrire :/

pour l'instant sa donne sa;


La partie du code qui crash a dit :
function eventKeyboard(name,key,down,x,y)
if key==2 then -- droite
repeat
tfm.exec.movePlayer(name,0,0,true,70,0,false)
until ????????????? false ??
Mcfloy
« Citoyen »
1479627840000
    • Mcfloy#0000
    • Profil
    • Derniers messages
#1126
  0
En général dans les modules, les boucles sont proscrites, parce que le système des modules LUA ne répond qu'à des événements clés, et non perpétuels.

Parce que tu crées une boucle, tu empêches le compilateur d'avoir des appels d'événements, donc eventKeyboard ne sera jamais rappelé et donc ta boucle infinie fera planter le compilateur.

Si tu veux faire répéter une action, tu ne pourras le faire qu'avec eventLoop (et donc toutes les 500ms)
Sourialp
« Citoyen »
1479629940000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1127
  0
merci je vais essayer :)

Dernière modification le 1479630420000
Yoshoups
« Censeur »
1479650940000
    • Yoshoups#0000
    • Profil
    • Derniers messages
    • Tribu
#1128
  0
Pourquoi l'id 53 (la souris statique) ne peux être que invoquer en 0,0 ? On peux pas la mettre à des coordonnés précises ?
Podoko
« Citoyen »
1479655740000
    • Podoko#0000
    • Profil
    • Derniers messages
    • Tribu
#1129
  0
Parce que c'est bugué ou parce qu'on devrait pas pouvoir l'invoquer, on a jamais pu s'en servir. :/
Sourialp
« Citoyen »
1479657780000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1130
  0
dmg... sinon,
Mcfloy a dit :
En général dans les modules, les boucles sont proscrites, parce que le système des modules LUA ne répond qu'à des événements clés, et non perpétuels.

Parce que tu crées une boucle, tu empêches le compilateur d'avoir des appels d'événements, donc eventKeyboard ne sera jamais rappelé et donc ta boucle infinie fera planter le compilateur.

Si tu veux faire répéter une action, tu ne pourras le faire qu'avec eventLoop (et donc toutes les 500ms)

oe mais c'est pareil, sa fait une boucle qui fait crash, il me faudrai quelque chose pour dire que lorsque l'on relache la touche de droite, stoper l'eventloop, sauf que je saitpas totalement écrire sa... vous pouvez m'aidez ??
Mcfloy a dit :
Une suggestion avait déjà été faite et j'ai relancé pour savoir s'il y aurait du changement.

et peu tu me dire le lien, je ne l'ai pas trouver et j'aimerai dire que je suis pour aussi ;)

Dernière modification le 1479658860000
Sourialp
« Citoyen »
1479669900000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1132
  0
enfaites, si vous me dites comment dire key==2 (mais lorsque la touche est relacher) et bien cela résoudrai mon problème, il me suffit ensuite de faire;

if condition1 (appuyer sur la touche) then
fonction1 (rajouter 20 au speed de x)
if condition2 (relacher la touche)
fonction (remplacer vitesse de x par 0)
eslfe condition1 and os.time (2s)
fonction1
end

déjà sa serait un début pour moi X,D (il me manquerai juste la condition2)
le seul probleme c'est que je sais pas si sa marcherai se os.time (sans compter que g pas mis les table de temps et la fonction de retenir l'heure une foit la touche enfoncer) car se que je voudrai c'est dire "si la condition1 a été fait il y a... "

Connaissez vous la "condition2" et que pensez vous de la fonction os.time???

sinon j'utiliserai event-loup, mais je sait pas comment l'utiliser ^^

Dernière modification le 1479670020000
Tortuegreen
« Censeur »
1479671400000
    • Tortuegreen#0000
    • Profil
    • Derniers messages
    • Tribu
#1133
  0
Essaye de comprendre ce vieux code : http://pastebin.com/f77Tx2Sd
Yoshoups
« Censeur »
1479674040000
    • Yoshoups#0000
    • Profil
    • Derniers messages
    • Tribu
#1134
  0
a dit :
Problème réglé.


Voici mon code, ils ne marche pas, (que ça sois la loop ou les autres lignes).
Sauf que, aucun messages d'erreurs apparaît dans la fenêtre #lua.

Dernière modification le 1479728820000
Sourialp
« Citoyen »
1479674100000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1135
  0
hm je vais éssayer mais ya rien de sûr XD merci
Mcfloy
« Citoyen »
1479706860000
    • Mcfloy#0000
    • Profil
    • Derniers messages
#1136
  0
@Yoshoups : Beaucoup d'erreurs.

Il manque des end à tes if, les deux end à la fin ne servent à rien, une majorité de ton code est à la racine (ce qui n'est pas conseillé sauf si ce sont des variables globales comme en haut), utiliser killPlayer au lieu de movePlayer à l’extrémité d'une map est recommandé, la variable prof n'existe pas, utiliser une variable pour le pseudo n'est pas conseillé vu que chaque méthode de l'API te donnera le nom du joueur qui appelle cette méthode.

Et la méthode eventNewPlayer n'est appelée que pour les joueurs arrivant sur le salon, pas les joueurs actuels, à toi de corriger ça.

Dernière modification le 1479706920000
Sourialp
« Citoyen »
1479711240000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1137
  0
il y a un message d'erreure ?? non car moi sa crash tout cour quand sa veu pas XD

Tortuegreen a dit :
Essaye de comprendre ce vieux code : http://pastebin.com/f77Tx2Sd

plutôt compliquer, et je ne sait pas se que signifie "pair"
sinon j'éssaie de traduire simplement , di moi si c'est sa:

le code a dit :
le code a dit :
_ création d'une table pour les joueurs
_ chaque joueur on une table ou "false" = 0
_ Pour k,v dans ???? de 0 à 2 en avançant de 1, activer la reconnaissance d'appui et de relâchement sur "v"
_ event clavier
_ soustraire 1 à kC et le mutiplier par 50
_ chaque joueur on ???? (une table de 1= down) ???
_ si down (c coa down) et kC est environ = à la tale du joueur etant 2
_ la table deviens 2 étant égale à kC
_ evenloop, si le joeur in "pair" vien dans le salon pose la question si la table du joueur est 1, remplacer sa vitesse


par contre la fin, elle est utile ???
le code a dit :
le code a dit :
for name in pairs(tfm.get.room.playerList) do
eventNewPlayer(name)
end


Dernière modification le 1479712800000
Yoshoups
« Censeur »
1479728760000
    • Yoshoups#0000
    • Profil
    • Derniers messages
    • Tribu
#1138
  0
Mcfloy a dit :
@Yoshoups : Beaucoup d'erreurs.

Il manque des end à tes if, les deux end à la fin ne servent à rien, une majorité de ton code est à la racine (ce qui n'est pas conseillé sauf si ce sont des variables globales comme en haut), utiliser killPlayer au lieu de movePlayer à l’extrémité d'une map est recommandé, la variable prof n'existe pas, utiliser une variable pour le pseudo n'est pas conseillé vu que chaque méthode de l'API te donnera le nom du joueur qui appelle cette méthode.

Et la méthode eventNewPlayer n'est appelée que pour les joueurs arrivant sur le salon, pas les joueurs actuels, à toi de corriger ça.

J'ai trouver, j'avait juste oublier de finir ma function, donc la fonction "function eventTextAreaCallback(textAreaId, playerName, callback)" empêchais la boucle de s’exécuter car le end était mal placé.
Bobolemouton
« Censeur »
1479750420000
    • Bobolemouton#9848
    • Profil
    • Derniers messages
    • Tribu
#1139
  0
Bonsoir, j'aurai besoin d'aide concernant une utilisation avancée de table.sort(), toutes les informations nécéssaires sont ici : clique
Merci d'avance pour votre aide

↓ merci

Dernière modification le 1479760500000
Mcfloy
« Citoyen »
1479751980000
    • Mcfloy#0000
    • Profil
    • Derniers messages
#1140
  0
Fireicefly a dit :
Bonsoir, j'aurai besoin d'aide concernant une utilisation avancée de table.sort(), toutes les informations nécéssaires sont ici : clique
Merci d'avance pour votre aide

a dit :
--[[ Hiérarchisation
spawn = {
   {code, col, y},
   {code, col, y},
   {code, col, y}
}
]]--

spawn = {
   {1, 1, 450},
   {4, 4, 320},
   {3, 3, 610},
   {1, 2, 450},
   {4, 4, 180},
   {3, 3, 200},
   {2, 1, 140}
}

spawnSouhaite = {
   {1, 1, 450},
   {2, 1, 140},
   {1, 2, 450},
   {3, 3, 610},
   {3, 3, 200},
   {4, 4, 320},
   {4, 4, 180},
}

function triTableau(a, b)
   if (a[2] == b[2]) then
       return a[3] >= b[3]
   else
       return a[2] < b[2]
   end
end

table.sort(spawn, triTableau)

--Ordonnée par col (croissant) puis par y (décroissant)

for i, v in pairs(spawn) do
   print(v[1] ..",".. v[2]..",".. v[3])
end

  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Aide] Demandes de codes et d'explications
« ‹ 57 / 70 › »
© Atelier801 2018

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

Version 1.27