Rechercher
Derniers sujets
» FR-mapping ! ouverture du site prochainement par Wolf_silver Jeu 28 Nov - 17:19
» Nightmare prend les commandes
par Wolf_silver Mer 27 Nov - 15:49
» SITE HEBERGER FERME !
par Razor1700 Ven 25 Mai - 13:36
» problème de motivation
par Enzotoy Dim 25 Oct - 20:33
» [FR-Mapping mod]Changer soi-même son menu principale!!
par Wolf_silver Sam 24 Oct - 17:19
Partie2
Page 1 sur 1 • Partagez
Partie2
Hello nous voici à la partie 2 de l'apprentissage de comment scripter sur WAW?
Tout d'abord voici la solution à l'énigme de la partie 1:
La fonction main() sert à charger les autres fonctions en même temps! Voila pourquoi dans les indices je vous avais mis que vous devrez utilisez plusieurs fonctions car tout mettre dans une fonction créer un ordre pour ramasser les objects! En clair, tant que l'object 1 n'a pas été ramassé l'object 2 ne peut l'être.... et exactement pareil dans le cas où vous n'aurez créer que 3 fonctions (1 pour chaque object) et appeler les autres fonctions à la fin de la 1ère fonction!
On se calme ! on se calme! je vous ai aussi dit que "break;" "cassait" la boucle while et d'ailleurs n'importe quel autre boucle...
oui ;oui il y'en a deux autres DoWhile() et for()
DoWhile() je n'en parlerai pas car c'est franchement inutile dans waw
et for()est en fait est une boucle que l'on retrouve très frequemment!
surtout ça:
C'est farfaitement normal que vous ne compreniez c'est très compliqué à dechifrer sans comprendre comment marche une boucle for mais déja sachez que i++ est comme par exemple mavariable ++ ou mavariable -- qui sont en fait un calcul! Respectivement le 1er calcul est égal à mavariable + 1 et le 2nd à mavariable - 1 après il y'a aussi:
-mavariable // Divise par 1
-mavariable ** multiplie par 1
-mavariable %% Division euclidienne par 1
-mavariable /= 7 Divise par 7
-mavariable += 3 multiplie par 3 ....etc bref il y'en à vraiment beaucoup!
Du coup maintenant on va déchiffrer le contenu de la boucle:
Soit:
Donc les arguments c'est à dire les valeurs à rentrer dans une commande;fonctions...etc sont:
Bon vous n'avez pas compris pourquoi mettre en plus de la condition une déclarations de variables et un calcul? c'est normal!
Mais maintenant si je vous dis qu'a l'instar de while() for() necessite que la condition soit vérifié pour que la boucle soit répété et à la différence de while() le calcul à gauche se fait à chaque fois que la boucle se répète!! donc en occurence ce for sert à égaler i au nombres de joueurs dans la partie !! Donc l'ordi en voyant cette ligne comprend:
-Ah d'accord! i est égal à 0
- Si i est inférieur au nombres de joueur je répéte le calcul et l'intérieur de la boucle ok!
-donc le calcul est de rajouter de 1 à i
-(dans le cas où le nombres de joueur serait 2)
-Ah bas i est inférieur à 2! je fait le calcul ok!
-merde! c'est encore le cas!! j'en ai marre moi de refaire la boucle! y'en à pas qui peux ragequit?
-Ah ca y'est i est égal au nombres de joueur je ne refait plus la boucle!
Bon voilà grossomodo ce qui se passe plus tard nous parlerons de [i] une fonction avancé de for()!
Bon vous en avez pas marre vous de voir sans arrêt des messages à l'écrans sans accent?? moi si!
Les hintstrings = Les tables de chaînes
à la place de :
Mettez par exemple:
??? à remplacer par un ID (ce que voulez) tant que c'est c'est en majuscules et inutilisé par défaut le "ZOMBIE_" est obligatoire par contre enfin pas vraiment bref vous verrez plus tard
et ajouter:
Bon passons aux Self
Très simple! Par exemple ce code:
C'est un peu long hein! Maintenant on va le remplacer par ce code:
Bon ca n'a pas tellement diminué c'est vrai... mais ça vous permet d'expliquer ce qu'est "self" c'est tout simplement un redirecteur vers la dernière variable définie par getEnt()
Maintenant regardez ce code:
C'est déjà un petit peu plus court non?
Attention ce n'est plus :
oh et au fait! qu'est ce que [i]? souvenez-vous de la boucle for! et bien c'est tout simple...
Dans notre cas:
Voici à quoi pourrait servir '[i]'
Bon si vous ne comprenez pas le commandes ce n'est pas bien grave elle sont assez hardcore! il faut juste que vous compreniez le [i]
Rere-grardez bien ce code:
En fait c'est le nombre d'entités correspondant à la variable players! donc Object1.size serait le nombre d'entités avec pour targetname Object1
Si l'on remplace ça:
Par ça:
Là si UN joueur active le trigger TOUS les joueurs recevront le laser
Et voilà!
Tout d'abord voici la solution à l'énigme de la partie 1:
- Code:
#include common_scripts\utility;
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_anim;
main() // Pour l'appeler dans nazi_zombie_???.gsc : thread maps\monscript::main();
{
level.object_found = 0;
thread Object1();
thread Object2();
thread Object3();
}
Object1()
{
Object1 = getEnt("object1", "targetname");
Object1_trig = getEnt("object1_trig", "targetname");
Object1_trig waittill("trigger");
Object1_trig delete();
Object1 delete();
while(1)
{
if (level.object_found == 0)
{
iprintlnbold("1 object de trouve!");
level.object_found = 1;
break;
}
if (level.object_found == 1)
{
iprintlnbold("Encore un autre object!");
level.object_found = 2;
break;
}
if (level.object_found == 2)
{
iprintlnbold("Un bruit etrange a retenti dans la salle...");
level.object_found = 3;
break;
}
}
}
Object2()
{
Object2 = getEnt("object2", "targetname");
Object2_trig = getEnt("object2_trig", "targetname");
Object2_trig waittill("trigger");
Object2_trig delete();
Object2 delete();
while(1)
{
if (level.object_found == 0)
{
iprintlnbold("1 object de trouve!");
level.object_found = 1;
break;
}
if (level.object_found == 1)
{
iprintlnbold("Encore un autre object!");
level.object_found = 2;
break;
}
if (level.object_found == 2)
{
iprintlnbold("Un bruit etrange a retenti dans la salle...");
level.object_found = 3;
break;
}
}
}
Object3()
{
Object3 = getEnt("object3", "targetname");
Object3_trig = getEnt("object3_trig", "targetname");
Object3_trig waittill("trigger");
Object3_trig delete();
Object3 delete();
while(1)
{
if (level.object_found == 0)
{
iprintlnbold("1 object de trouve!");
level.object_found = 1;
break;
}
if (level.object_found == 1)
{
iprintlnbold("Encore un autre object!");
level.object_found = 2;
break;
}
if (level.object_found == 2)
{
iprintlnbold("Un bruit etrange a retenti dans la salle...");
level.object_found = 3;
break;
}
}
}
La fonction main() sert à charger les autres fonctions en même temps! Voila pourquoi dans les indices je vous avais mis que vous devrez utilisez plusieurs fonctions car tout mettre dans une fonction créer un ordre pour ramasser les objects! En clair, tant que l'object 1 n'a pas été ramassé l'object 2 ne peut l'être.... et exactement pareil dans le cas où vous n'aurez créer que 3 fonctions (1 pour chaque object) et appeler les autres fonctions à la fin de la 1ère fonction!
Salaud! tu nous a menti!! tu nous a dit que while() fesait repéter tout ce qui était entre crochet!!
On se calme ! on se calme! je vous ai aussi dit que "break;" "cassait" la boucle while et d'ailleurs n'importe quel autre boucle...
Hein! Il y'en à d'autre des boucles??
oui ;oui il y'en a deux autres DoWhile() et for()
DoWhile() je n'en parlerai pas car c'est franchement inutile dans waw
et for()est en fait est une boucle que l'on retrouve très frequemment!
surtout ça:
- Code:
for( i = 0; i < players.size; i++ )
C'est farfaitement normal que vous ne compreniez c'est très compliqué à dechifrer sans comprendre comment marche une boucle for mais déja sachez que i++ est comme par exemple mavariable ++ ou mavariable -- qui sont en fait un calcul! Respectivement le 1er calcul est égal à mavariable + 1 et le 2nd à mavariable - 1 après il y'a aussi:
-mavariable // Divise par 1
-mavariable ** multiplie par 1
-mavariable %% Division euclidienne par 1
-mavariable /= 7 Divise par 7
-mavariable += 3 multiplie par 3 ....etc bref il y'en à vraiment beaucoup!
- anecdote sur le nom du C++:
- le nom du C++ ne vient pas de la mise à jour du C+ puisque ce dernier n'existe pas! en réalité C++est un jeu de mot ça correspond à dire C+1
Du coup maintenant on va déchiffrer le contenu de la boucle:
- Code:
for( i = 0; i < players.size; i++ )
Soit:
- Code:
for(Déclaration de variables "i"; Si i est inférieurs à players.size; i + 1)
Donc les arguments c'est à dire les valeurs à rentrer dans une commande;fonctions...etc sont:
- Code:
for(Déclaration de variables; Condition; Calcul)
Bon vous n'avez pas compris pourquoi mettre en plus de la condition une déclarations de variables et un calcul? c'est normal!
Mais maintenant si je vous dis qu'a l'instar de while() for() necessite que la condition soit vérifié pour que la boucle soit répété et à la différence de while() le calcul à gauche se fait à chaque fois que la boucle se répète!! donc en occurence ce for sert à égaler i au nombres de joueurs dans la partie !! Donc l'ordi en voyant cette ligne comprend:
-Ah d'accord! i est égal à 0
- Si i est inférieur au nombres de joueur je répéte le calcul et l'intérieur de la boucle ok!
-donc le calcul est de rajouter de 1 à i
-(dans le cas où le nombres de joueur serait 2)
-Ah bas i est inférieur à 2! je fait le calcul ok!
-merde! c'est encore le cas!! j'en ai marre moi de refaire la boucle! y'en à pas qui peux ragequit?
-Ah ca y'est i est égal au nombres de joueur je ne refait plus la boucle!
Bon voilà grossomodo ce qui se passe plus tard nous parlerons de [i] une fonction avancé de for()!
Bon vous en avez pas marre vous de voir sans arrêt des messages à l'écrans sans accent?? moi si!
Les hintstrings = Les tables de chaînes
à la place de :
- Code:
iprintlnbold("Un bruit etrange a retenti dans la salle...");
Mettez par exemple:
- Code:
iprintlnbold(&"ZOMBIE_???");
??? à remplacer par un ID (ce que voulez) tant que c'est c'est en majuscules et inutilisé par défaut le "ZOMBIE_" est obligatoire par contre enfin pas vraiment bref vous verrez plus tard
ça veut dire que le jeu va chercher la phrase avec pour ID "ZOMBIE_???" et le remplacerCa veut dire quoi cette ligne??
Il faut ouvrir zombie.str qui se trouve dans raw/english/localized_strings et ajouter en dessous de :Comment créer un nouveau ID
- Code:
CONFIG "C:\cod5\cod\cod5\bin\StringEd.cfg"
FILENOTES ""
et ajouter:
- Code:
REFERENCE ???
LANG_FRENCH "Un bruit étrange a retenti dans la salle..."
- Code:
localize,LE_NOM_DU_FICHIER
Bon passons aux Self
Très simple! Par exemple ce code:
- Code:
main()
{ trigger1 = getEnt("trigger1", "targetname");
trigger1 waittill("trigger");
trigger1 delete();
trigger2 = getEnt("trigger2", "targetname");
trigger2 waittill("trigger");
trigger2 delete();
trigger3 = getEnt("trigger3", "targetname");
trigger3 waittill("trigger");
trigger3 delete();
trigger4 = getEnt("trigger4", "targetname");
trigger4 waittill("trigger");
trigger4 delete();
trigger5 = getEnt("trigger5", "targetname");
trigger5 waittill("trigger");
trigger5 delete();
trigger6 = getEnt("trigger6", "targetname");
trigger6 waittill("trigger");
trigger6 delete();
trigger7 = getEnt("trigger7", "targetname");
trigger7 waittill("trigger");
trigger7 delete();
trigger8 = getEnt("trigger8", "targetname");
trigger8 waittill("trigger");
trigger8 delete();
trigger9 = getEnt("trigger9", "targetname");
trigger9 waittill("trigger");
trigger9 delete();
trigger10 = getEnt("trigger10", "targetname");
trigger10 waittill("trigger");
trigger10 delete();
trigger11 = getEnt("trigger11", "targetname");
trigger11 waittill("trigger");
trigger11 delete();
trigger12 = getEnt("trigger12", "targetname");
trigger12 waittill("trigger");
trigger12 delete();
trigger13 = getEnt("trigger13", "targetname");
trigger13 waittill("trigger");
trigger13 delete();
trigger14 = getEnt("trigger14", "targetname");
trigger14 waittill("trigger");
trigger14 delete();
}
C'est un peu long hein! Maintenant on va le remplacer par ce code:
- Code:
trigger1 = getEnt("trigger1", "targetname");
self waittill("trigger");
self delete();
trigger2 = getEnt("trigger2", "targetname");
self waittill("trigger");
self delete();
trigger3 = getEnt("trigger3", "targetname");
self waittill("trigger");
self delete();
trigger4 = getEnt("trigger4", "targetname");
self waittill("trigger");
self delete();
trigger5 = getEnt("trigger5", "targetname");
self waittill("trigger");
self delete();
trigger6 = getEnt("trigger6", "targetname");
self waittill("trigger");
self delete();
trigger7 = getEnt("trigger7", "targetname");
self waittill("trigger");
self delete();
trigger8 = getEnt("trigger8", "targetname");
self waittill("trigger");
self delete();
trigger9 = getEnt("trigger9", "targetname");
self waittill("trigger");
self delete();
trigger10 = getEnt("trigger10", "targetname");
self waittill("trigger");
self delete();
trigger11 = getEnt("trigger11", "targetname");
self waittill("trigger");
self delete();
trigger12 = getEnt("trigger12", "targetname");
self waittill("trigger");
self delete();
trigger13 = getEnt("trigger13", "targetname");
self waittill("trigger");
self delete();
trigger14 = getEnt("trigger14", "targetname");
self waittill("trigger");
self delete();
Bon ca n'a pas tellement diminué c'est vrai... mais ça vous permet d'expliquer ce qu'est "self" c'est tout simplement un redirecteur vers la dernière variable définie par getEnt()
Maintenant regardez ce code:
- Code:
main()
{
trigger1 = getEnt("trigger1", "targetname");
trigger1 Fonction15();
trigger2 = getEnt("trigger2", "targetname");
trigger2 Fonction15();
trigger3 = getEnt("trigger3", "targetname");
trigger3 Fonction15();
trigger4 = getEnt("trigger4", "targetname");
trigger4 Fonction15();
trigger5 = getEnt("trigger5", "targetname");
trigger5 Fonction15();
trigger6 = getEnt("trigger6", "targetname");
trigger6 Fonction15();
trigger7 = getEnt("trigger7", "targetname");
trigger7 Fonction15();
trigger8 = getEnt("trigger8", "targetname");
trigger8 Fonction15();
trigger9 = getEnt("trigger9", "targetname");
trigger9 Fonction15();
trigger10 = getEnt("trigger10", "targetname");
trigger10 Fonction15();
trigger11 = getEnt("trigger11", "targetname");
trigger11 Fonction15();
trigger12 = getEnt("trigger12", "targetname");
trigger12 Fonction15();
trigger13 = getEnt("trigger13", "targetname");
trigger13 Fonction15();
trigger14 = getEnt("trigger14", "targetname");
trigger14 Fonction15();
}
Fonction15()
{
self waittill("trigger");
self delete();
}
C'est déjà un petit peu plus court non?
Attention ce n'est plus :
- Code:
thread Fonction15()
- Code:
NOM_DE_LA_VARIABLE Fonction15();
oh et au fait! qu'est ce que [i]? souvenez-vous de la boucle for! et bien c'est tout simple...
Dans notre cas:
- Code:
for( i = 0; i < players.size; i++ )
Voici à quoi pourrait servir '[i]'
- Code:
main()
{
players = get_players(); // La variable player n'est pas défini par défaut mais ne vous occupez pas de ça en cas de besoin de ce for copiez ce code pour la variable!
for(i=0;i<players.size;i++) // le fameux code!
{
old_gun = player getcurrentweapon(); //sert à déterminer l'arme que porte le joueur
players[i].free_laser = false;
if(player[i].free_laser == false) // si le joueur n'a pas déjà pris la laser
{
Laser_trig[i] waittill("trigger"); // Le petit [i]!
players[i] takeweapon("old_gun");
players[i] giveweapon("ray_gun");
players[i] switchtoweapon("ray_gun"); // ces trois commandes sont necessaires pour ne pas avoir de bug lors du changement d'arme!
player[i].free_laser = true; // dit que le joueur à déjà pris le laser
}
}
wait 0.1; // lors d'une boucle for à mettre après pour éviter les freezes et lag
}
Bon si vous ne comprenez pas le commandes ce n'est pas bien grave elle sont assez hardcore! il faut juste que vous compreniez le [i]
Il sert tout simplement dans ce cas là là a que soit CHAQUE joueur qui active le triger pour recevoir SON laser donc si richtofen active son trigger il reçoit le laser mais pas nikolai qui devra lui aussi le recevoir en utilisant le trigger!Mais à quoi sert-t-il ce [i]??
Rere-grardez bien ce code:
- Code:
for(i=0;i<players.size;i++)
- Code:
players.size
En fait c'est le nombre d'entités correspondant à la variable players! donc Object1.size serait le nombre d'entités avec pour targetname Object1
Si l'on remplace ça:
- Code:
Laser_trig[i] waittill("trigger");
players[i] takeweapon("old_gun");
players[i] giveweapon("ray_gun");
players[i] switchtoweapon("ray_gun");
Par ça:
- Code:
Laser_trig waittill("trigger");
players takeweapon("old_gun");
players giveweapon("ray_gun");
players switchtoweapon("ray_gun");
Là si UN joueur active le trigger TOUS les joueurs recevront le laser
Et voilà!
Re: Partie2
Les énigmes... et oui je n'avais pas oubliè... je sens l'angoisse monter....
1) Mettez des hintstring là où c'est neccessaire (à vous de juger là où ça l'est)
2)Mettre des self pour les ObjectX_trigger dans une fonction à part
3)Prenez le code source du début et en plus de reçevoir des messages; donner le laser à tous les joueurs des le 3ème object ramassé...
indices:
-un Array (le fameux [i]) vous sera utile!
-c'est en vérité d'une simplicité extrème! vous allez forcement y arriver! si vous n'y arrivez pas c'est soit que vous n'avez pas compris l'énigme ou alors que ... que ... hmm ben vous n'avez pas compris l'énigme
Franchement je pense que ça sera plus facile pour vous qu'avant...
1) Mettez des hintstring là où c'est neccessaire (à vous de juger là où ça l'est)
2)Mettre des self pour les ObjectX_trigger dans une fonction à part
3)Prenez le code source du début et en plus de reçevoir des messages; donner le laser à tous les joueurs des le 3ème object ramassé...
indices:
-un Array (le fameux [i]) vous sera utile!
-c'est en vérité d'une simplicité extrème! vous allez forcement y arriver! si vous n'y arrivez pas c'est soit que vous n'avez pas compris l'énigme ou alors que ... que ... hmm ben vous n'avez pas compris l'énigme
Franchement je pense que ça sera plus facile pour vous qu'avant...
Re: Partie2
#include common_scripts\utility;
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_anim;
main() // Pour l'appeler dans nazi_zombie_???.gsc : thread maps\monscript::main();
{
level.object_found = 0;
thread Object1();
thread Object2();
thread Object3();
}
Object1()
{
Object1 = getEnt("object1", "targetname");
Object1_trig = getEnt("object1_trig", "targetname");
self waittill("trigger");
self delete();
Object1 delete();
thread LeTexte();
}
Object2()
{
Object2 = getEnt("object2", "targetname");
Object2_trig = getEnt("object2_trig", "targetname");
self waittill("trigger");
self delete();
Object2 delete();
thread LeTexte();
}
Object3()
{
Object3 = getEnt("object3", "targetname");
Object3_trig = getEnt("object3_trig", "targetname");
self waittill("trigger");
self delete();
Object3 delete();
thread LeTexte();
}
LeTexte()
{
while(1)
{
if (level.object_found == 0)
{
iprintlnbold(&"ZOMBIE_DEBUT");
level.object_found = 1;
break;
}
if (level.object_found == 1)
{
iprintlnbold(&"ZOMBIE_MID");
level.object_found = 2;
break;
}
if (level.object_found == 2)
{
iprintlnbold(&"ZOMBIE_FIN");
level.object_found = 3;
players = get_players();
for(i=0;i<players.size;i++)
{
old_gun = player getcurrentweapon();
players[i].free_laser = false;
if(player[i].free_laser == false)
{
players[i] takeweapon("old_gun");
players[i] giveweapon("ray_gun");
players[i] switchtoweapon("ray_gun");
iprintlnbold("Recevez l'arme suprême(ou pas)!");
player[i].free_laser = true;
}
}
wait 0.1;
}
break;
}
}
}
//J'ai ajouter a zombie.str:
//REFERENCE FIN
//LANG_FRENCH "Un bruit étrange a retenti dans la salle..."
//REFERENCE DEBUT
//LANG_FRENCH "1 object de trouve!"
//REFERENCE MID
//LANG_FRENCH "Encore un autre object!"
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_anim;
main() // Pour l'appeler dans nazi_zombie_???.gsc : thread maps\monscript::main();
{
level.object_found = 0;
thread Object1();
thread Object2();
thread Object3();
}
Object1()
{
Object1 = getEnt("object1", "targetname");
Object1_trig = getEnt("object1_trig", "targetname");
self waittill("trigger");
self delete();
Object1 delete();
thread LeTexte();
}
Object2()
{
Object2 = getEnt("object2", "targetname");
Object2_trig = getEnt("object2_trig", "targetname");
self waittill("trigger");
self delete();
Object2 delete();
thread LeTexte();
}
Object3()
{
Object3 = getEnt("object3", "targetname");
Object3_trig = getEnt("object3_trig", "targetname");
self waittill("trigger");
self delete();
Object3 delete();
thread LeTexte();
}
LeTexte()
{
while(1)
{
if (level.object_found == 0)
{
iprintlnbold(&"ZOMBIE_DEBUT");
level.object_found = 1;
break;
}
if (level.object_found == 1)
{
iprintlnbold(&"ZOMBIE_MID");
level.object_found = 2;
break;
}
if (level.object_found == 2)
{
iprintlnbold(&"ZOMBIE_FIN");
level.object_found = 3;
players = get_players();
for(i=0;i<players.size;i++)
{
old_gun = player getcurrentweapon();
players[i].free_laser = false;
if(player[i].free_laser == false)
{
players[i] takeweapon("old_gun");
players[i] giveweapon("ray_gun");
players[i] switchtoweapon("ray_gun");
iprintlnbold("Recevez l'arme suprême(ou pas)!");
player[i].free_laser = true;
}
}
wait 0.1;
}
break;
}
}
}
//J'ai ajouter a zombie.str:
//REFERENCE FIN
//LANG_FRENCH "Un bruit étrange a retenti dans la salle..."
//REFERENCE DEBUT
//LANG_FRENCH "1 object de trouve!"
//REFERENCE MID
//LANG_FRENCH "Encore un autre object!"
Dernière édition par Razor1700 le Ven 3 Juil - 23:29, édité 3 fois
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Re: Partie2
??
Il ne faut pas un trig à part! il faut que une fois les 3 object trouvé ; tu as un message qui apparait et directement sans rien faire d'autre le laser! Mais si tu voulais un trig à part c'est vrai en revanche
En plus tu n'as pas fait les "self" en plus je sait que tu savais déjà en faire!
C'est exactement ton cas!si vous n'y arrivez pas c'est soit que vous n'avez pas compris l'énigme ou alors que ... que ... hmm ben vous n'avez pas compris l'énigme
Il ne faut pas un trig à part! il faut que une fois les 3 object trouvé ; tu as un message qui apparait et directement sans rien faire d'autre le laser! Mais si tu voulais un trig à part c'est vrai en revanche
En plus tu n'as pas fait les "self" en plus je sait que tu savais déjà en faire!
Re: Partie2
C'est mieux comme ça
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Re: Partie2
Nan mais je demander ^^J'ai modif mon message entre temps
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Re: Partie2
- Code:
Object3_trig LeTexte();
?? ca sert à rien çà laisse en thread il n'y a aucun self dans "LeTexte()"
Re: Partie2
Comment on fait attendre des dégat de grenade Et de claymore a un trigger damage
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|