Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=eb6024be97c380bbe47c9330cb949183Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Générer dynamiquement une condition.
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 08:31    Sujet du message: Générer dynamiquement une condition. Citer

Bonjour,

Petit problème. J'aimerais générer une condition (qui sera ensuite ajoutée a un déclencheur) a partir de 2 valeurs. Le problème étant que je ne sais pas combien j'en aurais a générer a l'avance.
Et surtout, je veux a tout pris éviter un gamecache et, si possible, éviter un tableau pour après rechercher dedans.

Si vous avez des idées je suis preneur, merci d'avance Very Happy

EDIT : En fait il est possible de poser la question autrement.
Est-il possible de créer une condition sans fonction ?
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 burning_dragoon
Ptit Nouveau


Inscrit le: 26 Mai 2008
Messages: 38
Sujets: 1
Spécialité en worldedit: A peu près tout (seul le JASS me fais encore défaut, mais pas pour longtemps)


MessagePosté le: 05/06/08 09:25    Sujet du message: Citer

j'ai un peu de mal à comprendre ta question, malheureusement :/
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 09:28    Sujet du message: Citer

Je formule autrement alors.

J'ai un déclencheur et je veux lui ajouter une condition qui dépend de 2 valeurs. Ces 2 valeurs sont dans des variables je peut les atteindre sans problèmes.
Sauf que par la suite ces même variables vont sans doute changer mais je ne veux pas que la condition change avec.
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 05/06/08 10:06    Sujet du message: Citer

Un système de pointage ne pourrait pas faire l'affaire ?
(Une struct de VJass amélioré quoi)
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 10:12    Sujet du message: Citer

J'ai creusé un peu dans plusieurs directions sans rien de bien fiable.
Les structures j'ai buté sur pas mal de problème, du genre comment faire que le déclencheur connaisse la structure a qui il appartiens (sans passer par un gamecache ou un tableau).
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 burning_dragoon
Ptit Nouveau


Inscrit le: 26 Mai 2008
Messages: 38
Sujets: 1
Spécialité en worldedit: A peu près tout (seul le JASS me fais encore défaut, mais pas pour longtemps)


MessagePosté le: 05/06/08 10:19    Sujet du message: Citer

Tes variables sont globales ou locales?

Si elles sont globales, pourquoi ne pas faire des clones constants de ces variables? Je veux dire, faire une copie à un instant t, ce qui permettra de les garder sans soucis.

Si elles sont locales... je vois pas trop
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 10:23    Sujet du message: Citer

Faire un "clone" d'une variable a un moment donné c'est assez facile.
Le problème est de générer une condition avec ces clones ensuite. Je ne sais pas combien j'aurais de condition a l'avance et j'aimerais par dessus tout éviter un gamecache.
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 05/06/08 10:30    Sujet du message: Citer

Ben la solution qui serait la plus efficace que j'ai trouvé c'est d'enregistrer les valeur dans un array:

(même si c'est pas du Jass c'est juste parce-que sinon tu risque de pas comprendre Razz )

Secret:

Jass:

globals
integer current_max
integer array value
integer temp
integer temp2
boolean temp3
endglobals

function Set_0 takes nothing returns nothing
set temp = 0
endfunction

function Add_1 takes nothing returns nothing
set temp = temp + 1
endfunction

function Add_5 takes nothing returns nothing
set temp = temp + 5
endfunction

function Add_10 takes nothing returns nothing
set temp = temp + 10
endfunction

function Add_50 takes nothing returns nothing
set temp = temp + 50
endfunction

function Add_100 takes nothing returns nothing
set temp = temp + 100
endfunction

function Add_500 takes nothing returns nothing
set temp = temp + 500
endfunction

function Add_1000 takes nothing returns nothing
set temp = temp + 1000
endfunction

function Add_5000 takes nothing returns nothing
set temp = temp + 5000
endfunction

function Set_temp2 takes nothing returns nothing
set temp2 = temp
endfunction

function condition takes nothing returns nothing
set temp3 = (value[temp] == value[temp2])
endfunction

function CreateCondition takes trigger t , integer valueA , integer valueB returns nothing
//j'ai pas le new gen de demarré donc je vais faire en commentaire
set current_max = current_max + 1
set value[current_max] = valueA
set current_max = current_max + 1
set value[current_max] = valueB
//on ajoute l'action set_0
//on ajoute les action de add temp se qu'il faut pour qu'il soit egal a l'array de la valueA (par loop , gl pour les imaginé)
//on ajoute Set_temp2
//on ajoute Set_0
//on refait la même chose pour la valeur B
//on ajoute Condition
//la valeur de temp3 sera donc a se moment , le resultat de la condition
//HF pour crée la loop qui doit ajouté les "Add" et "Set" :p

//Sa reste bien entendu a poffiner , mais le reste n'est pas ton blocage tu arrivera a t'en sortir je pense.(par exemple de retenir temporairement les array qu'ont a mit pour la boucle, ou ne pas depassé l'array max)
endfunction


_________________


Dernière édition par Darkfeyt le 05/06/08 10:40; édité 3 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 10:32    Sujet du message: Citer

Effectivement j'ai pas trop compris ton idée la :s
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Darkfeyt
Floodeur prématuré


Inscrit le: 22 Nov 2007
Messages: 677
Sujets: 27
Spécialité en worldedit: Jamais sortir ses projets ?


MessagePosté le: 05/06/08 10:35    Sujet du message: Citer

Euh non j'ai fait une erreur assez enorme. Embarassed

j'éditerai se message pour dire quand le script sera pret.

Edit: Voila c'est déjà mieux.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 10:44    Sujet du message: Citer

L'idée de base est peut être bonne, je vais creuser tout ça.
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 profet
Instanton Gravitationnel Singulier


Inscrit le: 21 Aoû 2007
Messages: 1633
Sujets: 53
Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...)
Médailles: 2 (En savoir plus...)
Profet (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 05/06/08 10:56    Sujet du message: Citer

Dis nous plutot ce que tu veux faire, on te dira comment le réaliser Wink
_________________

Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70%
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 11:00    Sujet du message: Citer

Je cherche a pouvoir indexer des valeurs selon une clé (ici la clé est un string mais ça ne change pas grand chose au problème).
Sauf que, j'aimerais éviter que lorsque j'ai 5000 valeurs stockés que le temps de réponse devienne trop grand.

Donc l'idée général est qu'au lieu de rechercher dans toutes les structures laquelle est la bonne, j'aimerais que ce soit la structure qui réponde a une sorte d'"appel". D'où la notion de déclencheur avec une condition qui change suivant la structure (et même problème pour l'action).
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 05/06/08 11:36    Sujet du message: Citer

Le mieux c'est le gamecache pour cela avec son hash pour les chaînes de caractères.
Sinon pour générer du code dynamiquement, ce n'est pas sensé être possible. Néanmoins j'avais trouvé des pistes qui sont peut-être exploitables mais je n'ai pas fait d'expériences dessus.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Magus
Membre a fort taux de post


Inscrit le: 13 Oct 2007
Messages: 994
Sujets: 25
Spécialité en worldedit: Codeur


MessagePosté le: 05/06/08 12:08    Sujet du message: Citer

Justement j'aimerais remplacer le gamecache car il est parfois un peu lent. Donc si je l'utilise ça ne sers plus a rien :/
_________________
- La théorie c'est quand rien ne fonctionne mais tout le monde sait pourquoi.
- La pratique c'est quand tout fonctionne mais personne ne sait pourquoi.
- Chez moi la théorie et la pratique sont réunies, rien ne fonctionne et personne ne sait pourquoi.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2  Suivante
Page 1 sur 2
La question posée dans ce topic a été résolue !

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com