Inscrit le: 12 Sep 2009 Messages: 801 Sujets: 64 Spécialité en worldedit: Ne pas.
Posté le: 24/05/10 19:24 Sujet du message: Problème pour mon Jass sur du texte au hasard.
Bonjour à tous, déjà, le code :
Secret:
Jass:
function TirageDeNomDeVille takes nothing returns nothing
local integer mot1 = GetRandomInteger( 1, 6 )
if (mot1 == 1) then
call BJDebugMsg ("Colline")
elseif (mot1 == 2) then
call BJDebugMsg ("Ville")
elseif (mot1 == 3) then
call BJDebugMsg ("Théâtre")
elseif (mot1 == 4) then
call BJDebugMsg ("Terres")
elseif (mot1 == 5) then
call BJDebugMsg ("Tertres")
elseif (mot1 == 6) then
call BJDebugMsg ("Gouffre")
endif
endfunction
function Trig_Nom_ville_vJass_Actions takes nothing returns nothing
endfunction
//===========================================================================
function InitTrig_Nom_ville_vJass takes nothing returns nothing
set gg_trg_Nom_ville_vJass = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_Nom_ville_vJass, 1.00 )
call TriggerAddAction( gg_trg_Nom_ville_vJass, function Trig_Nom_ville_vJass_Actions )
endfunction
Ensuite, le problème :
Lorsque je sauvegarde, il me dit ça exactement :
Line 4740 : undeclared function GetRandomInteger
Il me surligne :
Jass:
local integer mot1 = GetRandomInteger( 1, 6 )
Ensuite
Line 4740 : cannot convert null to integer
Et il me surligne le même texte qu'en haut.
Comment y remédier svp ?
(Je débute le Jass.)
______________________________________________
Et aussi, deuxième question :
Comment faire pour que si ce texte aléatoire s'affiche, il s'affiche pendant 20 secondes tout pile, que juste avant on aie le texte
"Bienvenue dans la ville "Nom de la ville (le nom qui sera tiré grâce aux mots tirés ci-dessus)".
Et que après ça, on aie encore 5 possibilités de mots.
Ce qui donnerait par exemple :
Bienvenue dans la ville "(Colline)(des Lapinous égorgés)".
(Vert = premier mot, rouge = deuxième mot.)
Merci d'avance mes maîtres de Jass _________________
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
Posté le: 24/05/10 19:44 Sujet du message:
La fonction n'est pas GetRandomInteger mais GetRandomInt (faut le savoir, ce genre de trucs ). Ca te règlera tes 2 erreurs d'un coup.
Sinon, tu mets "TriggerAddAction" avec une fonction vide, il faut mettre
Jass:
call TriggerAddAction( gg_trg_Nom_ville_vJass, function TirageDeNomDeVille)
Tu peux utiliser un autre nom que le nom de ton déclencheur pour ça mais pas pour la fonction "InitTrig_Nom_ville_vJass"
Pour le texte, je suppose que ton problème, c'est que tu veux qu'il s'affiche sur la même ligne? Tu peux simplement utiliser une variable locale :
Jass:
local string s = "Bienvenue dans la ville "
if (mot1==1) then
set s=s+"Colline"
elseif ...
if (mot2==1) then
set s=s+" des Lapinous égorgés"
....
call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, 20, s)
"GetLocalPlayer" permet de l'envoyer à tout le monde (sinon, c'est "Player(n°)") et les deux 0, c'est la position sur l'écran (je crois que (1, 0.5) affiche le texte au milieu et (0, 0) l'affiche à l'endroit normal).
Sur ce, je retourne à mes Soul Eater...
EDIT : oups, trompé dans l'ordre des arguments de displaytext, mea culpa _________________
Inscrit le: 12 Sep 2009 Messages: 801 Sujets: 64 Spécialité en worldedit: Ne pas.
Posté le: 24/05/10 20:26 Sujet du message:
Merci Tirlititi chapeau pointi
Edit :
Ca ne résout pas le problème " set gg_trg_Nom_ville_vJass = CreateTrigger( )" qui me dit : "undeclared variable gg_trg_Nom_ville_vJass" _________________
Inscrit le: 12 Sep 2009 Messages: 801 Sujets: 64 Spécialité en worldedit: Ne pas.
Posté le: 24/05/10 21:20 Sujet du message:
Jass:
function TirageDeNomDeVille takes nothing returns nothing
local integer mot1 = GetRandomInt( 1, 7 )
local integer mot2 = GetRandomInt( 1, 6 )
local string s="Bienvenue dans la ville "
if (mot1==1) then
set s=s+"Colline"
elseif (mot1==2) then
set s=s+"Ville"
elseif (mot1==3) then
set s=s+"Théâtres"
elseif (mot1==4) then
set s=s+"Terres"
elseif (mot1==5) then
set s=s+"Tertres"
elseif (mot1==6) then
set s=s+"Gouffre"
elseif (mot1==7) then
set s=s+"Trous"
endif
if (mot2==1) then
set s=s+" des Lapinous égorgés"
elseif (mot2==2) then
set s=s+" éventrés de la peur sans fin"
elseif (mot2==3) then
set s=s+" vociférents enfouis"
elseif (mot2==4) then
set s=s+" supérieurs damnés"
elseif (mot2==5) then
set s=s+" de Yukito la rédemptrice"
elseif (mot2==6) then
set s=s+" des morts relevés"
endif
call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, 20, s)
endfunction
//===========================================================================
function InitTrig_Nom_ville_vJass takes nothing returns nothing
local trigger gg_trg_Nom_ville_vJass
call TriggerRegisterTimerEventSingle( gg_trg_Nom_ville_vJass, 6.00 )
call TriggerAddAction( gg_trg_Nom_ville_vJass, function TirageDeNomDeVille)
endfunction
Marche pas, help ! _________________
||**||
Dernière édition par DaKanibal le 24/05/10 21:59; édité 1 fois
Inscrit le: 29 Juil 2008 Messages: 786 Sujets: 30 Spécialité en worldedit: Un nain compétent en Tour de GUI -> IA, Bugs, Systèmes, only for you !
Posté le: 24/05/10 21:31 Sujet du message:
Fais moi un MP lorsque tu auras finis ta map sur hordes, je suis impatient. _________________
Je suis un nain connu, mais pas un nain signifiant, car je suis un nain portant, qui plus est un nain populaire. Je suis un nain fortuné, mais je reste un nain payable, car je suis un nain formateur... Je ne suis pas un nain pitoyable, mais un nain soupçonné d'être un nain compris de tous... Je peux être un nain poli et un nain patient. En clair, je suis un nain critiquable, un nain culte, un nain contournable, un nain dispensable, un nain PARFAIT !
Signé, un nain supportable.
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
Posté le: 25/05/10 09:48 Sujet du message:
Euh, alors tu peux utiliser une variable locale mais tu ne pourras pas faire référence au déclencheur dans un autre. N'oublies pas de mettre un CreateTrigger() de toutes façons.
Sinon, il faut voir le nom du déclencheur (càd celui qui y'a marqué dans la liste des déclencheurs à gauche). Je pensais que c'était Nom ville vJass mais si ça bug, c'est que ça ne l'est pas.
Si tu mets le déclo dans la partie "Custom script", WE ne créer pas de quoi le mettre en place et il faut le faire toi-même ou remettre ces 2 fonctions dans un déclo.
Ce que WE fait en plus si c'est dans un déclo, c'est créer une variable gg_trg_.... et appeler la fonction InitTrig_.... en début de partie. _________________
Page 1 sur 1 La question posée dans ce topic a été résolue !
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