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=1d4b139c8583f13202b2bca62972f6d7Mé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

la fonction retourne un déploiement ?
Aller à la page 1, 2, 3, 4  Suivante
 
Poster un nouveau sujet   Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 27/09/08 17:07    Sujet du message: la fonction retourne un déploiement ? Citer

Salut

j'aimerai faire une fonction qui retourne un entier déploiement seulement je sais pas si c'est possible ou comment on fait car j'ai toujours une fatal error
quand je la copie

je la déclare comme ca :
Jass:
function TirageSansRemise takes integer a, integer b, integer n returns integer array


Merci
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 27/09/08 17:09    Sujet du message: Citer

Ce n'est pas possible.
Que veux tu faire exactement ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 27/09/08 17:17    Sujet du message: Citer

en fait je veux faire une fonction qui fait n tirages aléatoires parmi des entiers compris entre a et b
et qui me retourne un tableau d'entiers aléatoires tous différents

comme ca je choisis le n parmi mon nombre de hero / joueurs / ability etc une seule fois et je peux m'en servir dans les boucles
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Darkfeyt
Floodeur prématuré


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


MessagePosté le: 27/09/08 17:23    Sujet du message: Citer

Utilise une global , au pire avec des index de départ , et encore au pire avec plusieurs variable.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger 
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 27/09/08 17:24    Sujet du message: Citer

Dans ce cas je te conseille un returns nothing ou pourquoi pas boolean (paramètres invalides ou non).
Et tu set une variable globale array, et une variable globale entière indiquant l'index max de la variable array.

Aprés tu peux faire des loops avec la variable globale array.

PS: Procures toi le jass new gen pack, à moins que tu utilises un mac ?
Je ne m'en rappelle plus ...
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 27/09/08 17:29    Sujet du message: Citer

Ok Merci je vais tester ca
a toute Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 27/09/08 18:08    Sujet du message: Citer

apparament l'editeur n'aime pas ma fonction Crying or Very sad

je viens d'essayer de mettre un returns nothink et de set une variable globale déploiment que j'ai déclaré, et en condition j'ai mis que le n soit inférieur à une globale udg_n qui est égale à 200

et j'ai toujours ma fatal error
je vous poste ma fonction :
Secret:


Jass:
function TirageSansRemise takes integer a, integer b, integer n returns nothing

local integer array x
local integer array stocke
local integer array y
local integer z
local integer i
local integer j

if n < udg_n then

set stocke[1] = GetRandomInt(a, b)
set i = 2
loop
          exitwhen i > n
               set  x[i] = GetRandomInt(a, b)
                 set j = 1
                          loop
                             exitwhen j > i
                             if ( x[i] == stocke[i-j] ) then
                                  set y[j] = 0
                              else
                                  set y[j] = 1
                              endif
                              set j = j + 1
                           endloop
                set j = 1
                           loop
                               exitwhen j > i
                               set z = 1 * y[j]
                               set j = j + 1
                            endloop
                if ( z == 1 ) then
                          set stocke[i] = x[i]
                 else
                          set i = i – 1
                 endif
          set i = i + 1
   endloop

set i = 1
    loop
        exitwhen i > n
        set udg_random[i] = stocke[i]
        set i = i + 1
    endloop

endif

endfunction




enfin j'ai surement pas tout compris
_________________


Dernière édition par zazaa le 27/09/08 18:27; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 27/09/08 18:18    Sujet du message: Citer

nothing (rien) pas nothink Laughing
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 27/09/08 18:24    Sujet du message: Citer

lol Very Happy
sa aurai pu etre ca^^

j'ai corrigé mais sa marche toujours pas sniff
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4767
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 27/09/08 18:24    Sujet du message: Citer

LoL elle est pas mal celle-là Laughing
@zazaa : c'est en faisant des erreurs qu'on apprend Wink

_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 27/09/08 18:31    Sujet du message: Citer

Ca ne marche pas mais ca ne fait crash plus à la sauvegarde ?
Alors c'est simplement que tu as mal codé Wink

Je ne suis pas fortiche en math mais je sais que c'est possible de faire ce que tu demandes de façon plus simple.
Je vais essayer de le faire.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 27/09/08 19:21    Sujet du message: Citer

ui c'est quand je sauvegarde au moment quand la barre est à "validation des déclencheurs" sa me quitte world edit et apres je peux plus ouvrir la map

Si tu as une fonction du type je veux bien Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 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: 27/09/08 21:17    Sujet du message: Citer

Sinon tu peux également utiliser le vJass et renvoyer un type personnalisé.

Jass:
type intarray extends integer array[100]

function A takes nothing returns intarray
local intarray IA = intarray.create()
    //...
    return IA
endfunction


Attention, ne pas oublier de détruire la valeur retournée après s'en être servie, avec un .destroy().


J'en profite pour redonner le lien suivant : FW Types
Dans ce cas, le type est en fait une structure, mais elle s'utilise exactement comme le type, mais possède en plus des méthodes utiles.
_________________

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  
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 27/09/08 21:21    Sujet du message: Citer

L'erreur de compilation venait du fait que tu n'utilisais pas le signe moins "-", mais un autre caractère "".
(Fallait la trouver petite espiègle Razz )

Voici ma solution :

Jass:
// Si tu ne possédes pas windows xp et donc ne peut utiliser jasshelper (ou mieux le jass new gen pack),
// déclare ces globales dans l'éditeur de variables, tu devras bien sur rajouter "udg_" dans la fonction

globals
    integer N
    integer array Table
endglobals

function TirageSansRemise takes integer a, integer b, integer n returns nothing
    local integer temp= -1
    local integer index
    local integer max= (b-a) + 1
   
    set N= n // on stocke le nombre d'entiers
   
    // initialisation de toutes les valeurs possibles
   
    loop
    exitwhen a> b // on part de l'hypothèse que b > a
    set temp= temp+1
   
        set Table[temp]= a
        set a= a+1
   
    endloop
   
    // rangement des valeurs selon un ordre aléatoire
   
    loop
    exitwhen n== 0
    set n= n-1
   
        set max= max - 1
        set index= GetRandomInt(0,max)
        set temp= Table[index]
        set Table[index]= Table[max]
        set Table[max]= temp
       
    endloop   
   
endfunction

function Exemple takes nothing returns nothing
    local integer i
   
    call TirageSansRemise(3,7,4)
    set i= N
   
    loop
    exitwhen i== 0
    set i= i-1
   
        call BJDebugMsg(I2S(Table[i]))
       
    endloop
   
    call BJDebugMsg(" ")
   
endfunction


PS : La fonction tel qu'elle est actuellement ne préserve pas l'utilisateur de lui même, il n'y a aucun déboguage.

Il faudrait vérifier que a>b, ou pourquoi pas déterminer le minimum et le max entre a et b, que n>0 et <=(b-a)+1 (à moins que l'on puisse choisir plusieurs fois le même nombre si la liste est plus petite que le nombre de chiffres voulus), etc ...

@Profet: hmm c'est bien beau mais je ne vois pas comment utiliser le return Confused
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
 zazaa
Membre actif


Inscrit le: 05 Aoû 2008
Messages: 197
Sujets: 24



MessagePosté le: 27/09/08 22:06    Sujet du message: Citer

Merci de ta patience, mais tu va me tuer si je te dis que sa plante encore tu me croiras pas...

sinon si j'ai bien compris ta méthode :
tu stocke dans "table" tous les entier de l'intervalle et dans la 2eme boucle tu en range n en ordre aléatoire
j'ai bon ?

sinon comment on utilise le vjass? il faut un logiciel?
et BJDebugMsg sa donne quoi exactement?

est il possible que mon éditeur soit buggé?
j'ai tout désinstallé y' a 2 semaine et la je l'ai reinstallé,cependant j'ai constaté que mes configurations perso etaient toujours la, et quand je veux tester une map maintenant sa me met sur l'ecran d'acceuil de war3 roc au lieu de tester directement
sa a peut etre un rapport ?

pour les fonctions, si je cree une fonction de 3 lignes sa marche mais la y'a pas moyen Sad
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé  
Montrer les messages depuis:   
Poster un nouveau sujet   Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.    Worldedit Index du Forum -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2, 3, 4  Suivante
Page 1 sur 4
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