×

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
« ‹ 63 / 70 › »
[Aide] Demandes de codes et d'explications
Sourialp
« Citoyen »
1483475700000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1241
  0
oui je sais merci ;) , mais j'voudrais savoir comme l'écrire en lua pck g l’habitude de voir ; if key==32 then

et je me demande ou on case le "playeur name" "xposition et tout..."
on fait une ligne à par ou on peu caser l'évent de positon genre avec une virgule ou autre ??

Dernière modification le 1483475760000
Athesdrake
« Citoyen »
1483486500000
    • Athesdrake#0000
    • Profil
    • Derniers messages
    • Tribu
#1242
  0
Je crois avoir compris ce que tu ne comprends pas.
Dans la documentation de l'Api, il est mis qu'il faut écrire:
Code Lua

1
function eventKeyboard(playerName, keyCode, down, xPosition, yPosition)
Mais tu dois savoir une chose, c'est que tu peux changer les noms des variables (playerName, keyCode, ..)
Si tu le fais, ce ne sera le nouveau nom de variable que tu devras utiliser. Je m'explique:

Code Lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function eventKeyboard(name, key, down, x, y)
if name=="Michel" then
...
end
if key==32 then
...
end
if x==666 then
...
end
if y==69 then
...
end
end

J'ai changé "playerName" par "name", "keyCode" par "key", "xPosition" par "x" et "yPosition" par "y".
Dans la suite de la fonction, je suis donc obligé d'utiliser "name", "key", "x", "y" et non "playerName", "keyCode", "xPosition", "yPosition".
(tu peux mettre "pseudo" à la place de "playerName", mais tu dois utiliser "pseudo" et pas "playerName" ni "name")

Si dans beaucoup de code tu vois "x" et non "xPosition", c'est tout simplement car ça prends moins de place et c'est plus rapide à écrire ^^
Sourialp
« Citoyen »
1483533300000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1243
  0
aaa , merci :)

dites, jtmlucile ma parler de "os.time()" pour faire un déconte, malheureusement il c'est déco avant l'explication XD... Sachant que je ne trouve rien à se sujet sur l'API je demande votre aide ;)

Dernière modification le 1483986540000
Mcfloy
« Citoyen »
1483990260000
    • Mcfloy#0000
    • Profil
    • Derniers messages
    • Tribu
#1244
  0
Petite question : comment empêcher un joueur de bouger ? (Est-ce qu'on peut outrepasser les bind de déplacements pour que temporairement il ne se passe rien ?)
Podoko
« Citoyen »
1483990860000
    • Podoko#0000
    • Profil
    • Derniers messages
    • Tribu
#1245
  0
On peut le mettre dans une cage faite de sols invisibles ou le téléporter en boucle à son point de départ, mais on peut pas vraiment faire mieux (à part le tuer)
Mcfloy
« Citoyen »
1483991040000
    • Mcfloy#0000
    • Profil
    • Derniers messages
    • Tribu
#1246
  0
Argh, c'est sacrément dommage... Je pense plancher sur la seconde solution vu que c'est une immobilisation temporaire.

Merci de l'aide http://img.atelier801.com/92a4f17d.png
Mistigrounet
« Consul »
1484589720000
    • Mistigrounet#0000
    • Profil
    • Derniers messages
    • Tribu
#1247
  0
Si quelqu'un a une solution :

- - - - -
coord = {x1=10, y1=100, x2=20, y2=200, x3=30, y3=300}

nombre=math.random(1,3)
ui.addTextArea(0, "Test", pN, a, b, 200, 400, 0x000001, 0x000001, 1, true)
- - - - -

Avec a = coord.x"valeur de la variable nombre" > donc soit coord.x1 coord.x2 coord.x3 par rapport à "nombre"
Avec b = coord.y"valeur de la variable nombre" > donc soit coord.y1 coord.y2 coord.y3 par rapport à "nombre"

L'objectif étant d'afficher un textArea aux coordonnées choisies (aléatoirement grâce à 'nombre') parmis {x1,y1} {x2,y2} {x3,y3} qui sont les 3 seuls combinaison possible, pas de {x1, y2} par exemple

Merci d'avance

Dernière modification le 1484589780000
Sourialp
« Citoyen »
1484592060000
    • Sourialp#0000
    • Profil
    • Derniers messages
    • Tribu
#1248
  0
c ptetre pck tu dis"nombre=math.random(1,3)" alors que tu a mis "x1=10" tu as essayer ;nombre=math.random(x1,x3)
Athesdrake
« Citoyen »
1484593500000
    • Athesdrake#0000
    • Profil
    • Derniers messages
    • Tribu
#1249
  0
^
ça ne fonctionnera pas, le nombre aléatoire sera entre x1 et x3 (entre 10 et 30). Il peut donc être 26 ou même 14.

Sinon, la solution est assez simple:
Code Lua

1
2
a = coord["x"..tostring(nombre)]
b = coord["y"..tostring(nombre)]

(Tu peux directement les mettre dans le textArea)
→ ui.addTextArea(0, "Test", pN, coord["x"..tostring(nombre)], coord["y"..tostring(nombre)], 200, 400, 0x000001, 0x000001, 1, true)
Bobolemouton
« Censeur »
1484593560000
    • Bobolemouton#9848
    • Profil
    • Derniers messages
    • Tribu
#1250
  0
ninja ^
1
2
3
4
5
6
7
8
9
10
coord = {{x=10, y=100}, {x=20, y=200}, {x=30, y=300}} -- j'ai légèrement modifié ton tableau 

nombre=math.random(1,3)


-- on dit que a et b correspondent aux coordonnées situé à coord.nombre
a = coord.nombre.x
b = coord.nombre.y

ui.addTextArea(0, "Test", pN, a, b, 200, 400, 0x000001, 0x000001, 1, true)
Code non testé

Dernière modification le 1484593620000
Mistigrounet
« Consul »
1484594880000
    • Mistigrounet#0000
    • Profil
    • Derniers messages
    • Tribu
#1251
  0
Merci à vous 3 !

Aussi, pendant que j'y suis :

Imaginons qu'il y ait 3 textArea en {x,y} = {10, 100}, {20, 200}, {30, 300}
Un des joueurs effectue une action (appuie sur "espace" par exemple)
On détecte la pression sur la touche espace
Si les coordonnées du joueurs sont à moins de 50 (valeur modifiable) unité de distance des coordonnées d'un des textArea
Alors on effectue l'action 1
Sinon on ne fait rien
FinSi

Comment on récupère les coordonnées d'un joueur et comparer la distance entre les coordonnées du joueurs et celle du textArea le plus proche (ou je ne sais pas trop xD) ?
Athesdrake
« Citoyen »
1484597340000
    • Athesdrake#0000
    • Profil
    • Derniers messages
    • Tribu
#1253
  0
@Fireicfly
Code Lua

1
2
a = coord[nombre].x 
b = coord[nombre].y -- sinon ça fonctionne po :X

Pour récup la position d'un joueur, tu peux utiliser la table tfm.get.room.playerList, mais dans ton cas, c'est mieux d'utiliser le x et le y donné par la fonction eventKeyboard(playerName, keyCode, down, xPosition, yPosition)

Pour savoir si les coordonnées sont à moins de 50 (pixels) d'un points défini, il te suffit de calculer la distance entre ce point et la position du joueur
la formule pour calculer la position entre 2 points a dit :
https://wikimedia.org/api/rest_v1/media/math/render/svg/b337eb9100bc60a3125751271848230ad2a0d447
(Théorème de Pythagore)

math.sqrt() → racine carrée
nombre^2 → nombre au carré
Mistigrounet
« Consul »
1484598660000
    • Mistigrounet#0000
    • Profil
    • Derniers messages
    • Tribu
#1254
  0
Merci à vous deux :D
Je sais pas pourquoi j'y ai pas pensé avant
Athesdrake
« Citoyen »
1484602200000
    • Athesdrake#0000
    • Profil
    • Derniers messages
    • Tribu
#1256
  0
De rien ^^
Surenzo
« Citoyen »
1484672400000
    • Surenzo#0000
    • Profil
    • Derniers messages
    • Tribu
#1257
  0
J'avais deux questions , j'ai lue les commentaires plus haut je suis en train de créer un module et je ne sais pas comment faire j'ai vue quelqu'un pzrler du tfm.get.room.playerList plus haut mais comment on peux Le faire pour chacune des personne du salon ( j'e trouve pas comment remplacer le pseudo par la fonction correspondante mais je sais que la commande est tfm.get.room.playerList.(pseudo).X ou y )
Ma deuxième question était que je n'arrive pas à faire un évènement qui sont plusieur en faite xD ( en gros j'aimerai danq un textarea en mettre d'autre qui pourrais se ranger d'une certaine façon ) je suis sur mon premier module donc svp aider les débutant D:
Yaewns
1484673840000
    • Yaewns#0000
    • Profil
    • Derniers messages
#1258
[Modéré par Mlledebby, raison : Flood/H-S]
Tortuegreen
« Censeur »
1484678520000
    • Tortuegreen#0000
    • Profil
    • Derniers messages
    • Tribu
#1259
  0
1
2
tfm.get.room.playerList : table
pairs() : fonction pour parcourir une table

Donc les 2 accumulées donnent :
Code Lua

1
2
3
4
for name,player in pairs(tfm.get.room.playerList) do
print(name)--Pseudo
print(player.x)--Infos de la table tfm.get.room.playerList[name]
end

Dernière modification le 1484678640000
Surenzo
« Citoyen »
1484679240000
    • Surenzo#0000
    • Profil
    • Derniers messages
    • Tribu
#1260
  0
wow ;-; merci pour l'info :D je connaissais pas ( la réponse était simple :-:)
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Aide] Demandes de codes et d'explications
« ‹ 63 / 70 › »
© Atelier801 2018

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

Version 1.27