×

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
« ‹ 50 / 70 › »
[Aide] Demandes de codes et d'explications
Levi
« Citoyen »
1445820600000
    • Levi#3079
    • Profil
    • Derniers messages
    • Tribu
#981
  0
Bonjours , je voudrais instaurer une commande '' !help '' , et j'aurais besoin d'une explication merci ^^

Par exemple, si une personne tape '' !help " un message s'affiche , en lui expliquant ce qu'il doit faire pour gagner

Dernière modification le 1445821920000
Podoko
« Citoyen »
1446059580000
    • Podoko#0000
    • Profil
    • Derniers messages
    • Tribu
#983
  0
C'est surement un problème de type des variables, l'une d'elles est un string et l'autre un nombre. (si je me fie aux noms de variables, callback est un string)

print("25"==25) -- > false

[Edit] Mince, tu viens de trouver ^^

Dernière modification le 1446059640000
Ausecourr
« Citoyen »
1450187580000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#985
  0
Bonjour à tous! J'ai voulu faire un petit programme sympa qui bricole un peu et j'ai quelques soucis... en fait plusieurs pour être honnête, le but est que par une commande masquée (du genre !feu) ou l'appui d'une touche on puisse lancer un projectile (ici j'ai pris une boule de papier fantôme) qui va voler puis exploser. Dans l'explosion il y aurait une boucle for qui permettrait de faire une vraie explosion de confettis qui serait répétée pour faire une sorte de feu d'artifice, la couleur pourrait être choisie (choix entre différents id de confettis masqués par exemple !feu r pour feu rouge).

Sauf que voilà entre idée et réalisation il y a eu plusieurs soucis...
  • J'ai dû bricoler un timer qui n'est pas très précis car réalisé avec la fonction loop
  • La fonction permettant d'enlever les projectiles n'est pas optimisée car son utilisation reste un mystère pour moi
  • Les timers des projectiles ne sont pas indépendants donc si je lance plusieurs boulettes les unes à la suite des autres ça ne marche pas bien
  • J'ai du mal avec les fonctions permettant de ne regarder qu'une partie du message, de mémoire c'est avec message_sub ou quelque chose comme ça... (résolu)
  • Pour l'effet feu d'artifice je me demandais si il y avait une façon intelligente de programmer une explosion aléatoire, je pensais a faire apparaitre tout les confettis au milieu au début et de mettre en aléatoire la direction dans laquelle ils vont mais il y a le risque qu'ils partent tous à droite par exemple...

Si vous pouviez y jeter un oeil ce serait génial, même une petite aide pour une partie du problème!

Voilà le programme actuel:
for name,player in pairs(tfm.get.room.playerList) do
system.bindKeyboard ( name, 17, true, true )--je regarde l'appui sur la touche ctrl
end

time = 2000
function eventLoop()
time = time+0.5--pour faire mon timer
if time == 1 then
for i = 100,300 do
tfm.exec.removeObject (i)--pour enlever les projectiles
end
end
end

function eventKeyboard(name, key, down, x, y )
if key == 17 then
tfm.exec.addShamanObject ( 95, x, y-30, 0, 0, -10,true)--le projectile qui va exploser
time = 0--permet de lancer le timer
end
end

Dernière modification le 1450188780000
Nicolasledu
« Citoyen »
1451567100000
    • Nicolasledu#0000
    • Profil
    • Derniers messages
    • Tribu
#987
  0
Hm, j'ai un drôle de problème, dans la console lua sur mon ordi, quand je fais ce script :
a dit :
xml = '<C><P /><Z><S><S L="791" H="32" X="411" Y="410" T="0" P="0,0,0.3,0.2,0,0,0,0" /><S L="10" H="344" X="313" Y="221" T="0" P="0,0,0.3,0.2,0,0,0,0" /><S L="135" H="74" X="541" Y="288" T="10" P="0,0,0.3,0,0,0,0,0" /><S L="81" H="39" X="423" Y="375" T="11" P="0,0,0.05,0.1,0,0,0,0" /><S L="73" H="78" X="704" Y="321" T="1" P="0,0,0,0.2,0,0,0,0" /><S L="94" o="324650" H="71" X="854" Y="325" T="12" P="0,0,0.3,0.2,0,0,0,0" /></S><D><DS Y="370" X="110" /><F Y="381" X="525" /><T Y="393" X="617" /></D><O /></Z></C>'
pattern = '(\<S L="%d+" H="%d+" X="%d+" Y="%d+" T="%d+" P="+.-" />)'
print(string.match(xml, pattern))

Il me retourne bien
<S L="791" H="32" X="411" Y="410" T="0" P="0,0,0.3,0.2,0,0,0,0" />

Alors qu'en jeu, il me retourne "", soit rien :/

Une idée?
Thallium
« Censeur »
1451569260000
    • Thallium#0095
    • Profil
    • Derniers messages
    • Tribu
#988
  0
Ça vient certainement du fait que Transformice interprète < et > comme du code et le lit au lieu de le retourner comme du texte ; j'ai remplacé tes < > par des { } pour essayer et ça me retourne ce que tu veux.

Résultat : {S L="791" H="32" X="411" Y="410" T="0" P="0,0,0.3,0.2,0,0,0,0" /}

Dernière modification le 1451569620000
Nicolasledu
« Citoyen »
1451570100000
    • Nicolasledu#0000
    • Profil
    • Derniers messages
    • Tribu
#989
  0
En effet merci, mais maintenant, j'ai pas trouver de match_all en lua :/ Quelqu'un connait une solution ?
Podoko
« Citoyen »
1451573880000
    • Podoko#0000
    • Profil
    • Derniers messages
    • Tribu
#990
  0
C'est peut-être string.gmatch( String text, String pattern ) que tu cherches.
(Et oui, le problème que t'avais pour match < [...] /> venait du tchat de tfm)
Nicolasledu
« Citoyen »
1451574600000
    • Nicolasledu#0000
    • Profil
    • Derniers messages
    • Tribu
#991
  0
J'ai essayer gmatch mais ça retourne une fonction
EDIT : C'est bon j'ai
xml = '<C><P /><Z><S><S L="791" H="32" X="411" Y="410" T="0" P="0,0,0.3,0.2,0,0,0,0" /><S L="10" H="344" X="313" Y="221" T="0" P="0,0,0.3,0.2,0,0,0,0" /><S L="135" H="74" X="541" Y="288" T="10" P="0,0,0.3,0,0,0,0,0" /><S L="81" H="39" X="423" Y="375" T="11" P="0,0,0.05,0.1,0,0,0,0" /><S L="73" H="78" X="704" Y="321" T="1" P="0,0,0,0.2,0,0,0,0" /><S L="94" o="324650" H="71" X="854" Y="325" T="12" P="0,0,0.3,0.2,0,0,0,0" /></S><D><DS Y="370" X="110" /><F Y="381" X="525" /><T Y="393" X="617" /></D><O /></Z></C>'
pattern = '(S L="%d+" H="%d+" X="%d+" Y="%d+" T="%d+" P="+.-" /)'
for sol in string.gmatch(xml, pattern) do
print(sol)
end

• [16:11] # [*Moutons] S L="791" H="32" X="411" Y="410" T="0" P="0,0,0.3,0.2,0,0,0,0" /
• [16:11] # [*Moutons] S L="10" H="344" X="313" Y="221" T="0" P="0,0,0.3,0.2,0,0,0,0" /
• [16:11] # [*Moutons] S L="135" H="74" X="541" Y="288" T="10" P="0,0,0.3,0,0,0,0,0" /
• [16:11] # [*Moutons] S L="81" H="39" X="423" Y="375" T="11" P="0,0,0.05,0.1,0,0,0,0" /
• [16:11] # [*Moutons] S L="73" H="78" X="704" Y="321" T="1" P="0,0,0,0.2,0,0,0,0" /

Dernière modification le 1451574720000
Cubeman74
« Censeur »
1451655540000
    • Cubeman74#7337
    • Profil
    • Derniers messages
#992
  0
comment on fait pour mettre un clou dans une planche???

car je n arrive pas à faire sa.

Aider moi svp
Alexpp
« Citoyen »
1451656260000
    • Alexpp#0000
    • Profil
    • Derniers messages
    • Tribu
#993
  0
Cubeman30 a dit :
comment on fait pour mettre un clou dans une planche???

car je n arrive pas à faire sa.

Aider moi svp

On peut pas en lua.
Ausecourr
« Citoyen »
1452204120000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#994
  0
Bonjour c'est encore moi, j'ai eu quelques difficultés avec du codage lua...
En fait j'aimerais développer une fonction que l'on peut appeler par une commande !effacer ou !clean qui puisse supprimer tout les objets de chamane présents sur la carte, j'ai pensé éventuellement a utiliser tfm.enum.shamanObject mais quand j'utilise ça je n'obtiens que les noms des différents objets possibles. En fait j'aurais besoin de répertorier les objets sur la carte et de tous les supprimer mais je ne sais pas quelle table utiliser, pourriez-vous m'aider?

J'ai essayé d'utiliser objectList mais sans succès.

Dernière modification le 1452204840000
Tortuegreen
« Censeur »
1452272580000
    • Tortuegreen#0000
    • Profil
    • Derniers messages
    • Tribu
#996
  0
Animjarcanin a dit :
Tu devrais orienté tes recherches vers tfm.get.room.objectList !

Cette table réagit "assez bizarrement" pour l'avoir déjà utilisé. Pense à utiliser print() pour voir ce que ça te renvoi. :)
Ausecourr
« Citoyen »
1452290040000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#998
  0
J'ai essayé ton code en maison de tribu sur des maps vanilla mais... ça ne m'imprime rien, à part que le module est chargé, aurais-tu une idée de pourquoi?
Ausecourr
« Citoyen »
1452337080000
    • Ausecourr#0000
    • Profil
    • Derniers messages
#1000
  0
m=1
id ={} -- sert à répertorier les id des différents objets
function eventPlayerGetCheese()
list = tfm.get.room.objectList
for object in pairs(list) do
id[m] = list[object].id -- j'enregistre dans le tableau id à l'emplacement m que j'incrémente juste après
m=m+1
end
for i = 1,m do -- je parcours tout le tableau pour tout supprimer
tfm.exec.removeObject(id[i]) --Merci Nicolasledu pour l'astuce des crochets :')
end
m=1
end

Voilà ce que j'obtiens et ça ne marche pas trop mal...
Merci de ton aide, si tu trouve que quelque chose peut-être amélioré je t'en prie :)

Dernière modification le 1452338640000
  • Forums
  • /
  • Transformice
  • /
  • Modules
  • /
  • [Aide] Demandes de codes et d'explications
« ‹ 50 / 70 › »
© Atelier801 2018

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

Version 1.27