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
Idée de poste uniquement dédié au script
Mod tools cod5 :: Projet :: Idées
Page 1 sur 1 • Partagez
Idée de poste uniquement dédié au script
Salut a tous
Arrivant maintenant a faire quelque script j'aimerai bien faire une page tuto voir une annexe dédié uniquement a la prog que ce soit au niveau de la syntaxe ou différente fonction disponible.Je travaille sur un mini tuto et l'idée est que au fur et a mesure des question on finisse par avoir un "dictionnaire" complet et français pour les script de waw.
Arrivant maintenant a faire quelque script j'aimerai bien faire une page tuto voir une annexe dédié uniquement a la prog que ce soit au niveau de la syntaxe ou différente fonction disponible.Je travaille sur un mini tuto et l'idée est que au fur et a mesure des question on finisse par avoir un "dictionnaire" complet et français pour les script de waw.
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Re: Idée de poste uniquement dédié au script
- Code:
Tous les ??? sont à remplacer par des noms ou chiffres aux choix
//Variable\\
??? = getEnt("???", "targetname");//déclaration de variable
??? = false/true/0/1;//association de valeur a une variable
//Conditions\\
if(??? == "???")//si
/*
cost = 50000;
if( IsDefined( self.zombie_cost ) )
{
cost = self.zombie_cost;
}
*/
//tous ça permet de donner un prix a un trigger
if(maps\_zombiemode_weapons::is_weapon_upgraded( weapon ))//si un tir provient d'une arme amélioré
if(weap == "ray_gun")//si un tir provient d'un ray_gun
|| = ou
while(???/true/1)>>true et 1 font que la boucle ne s'arrête jamais(se répète tant qu'elle n'est pas cassé)
while(??? == "???")//boucle qui s'active que lorsque une condition et remplis(différent du if car le if ne se joue qu'une fois)
for(;;)//qui ne s'arrête jamais comme un while(true)
Le for set a faire une boucle généralement a l'aide d'un compteur
//Différentes fonctions\\
???_trig setCursorHint("HINT_NOICON");// C'est pour ne pas afficher la main quand on s'approche du trigger
thread ???(); // appelle la fonction "???"
???_trig waittill("damage",dmg,attacker,dir,point,type); // en attente de l'activation de "???" en recevant des dommages
weap = attacker getCurrentWeapon(); // La variable weap définit le nom de l'arme que portait le joueur au moment de l'impact
break; // Casser la bouble conditionnel
???_trig delete(); // supprimer le trigger qui ne sert plus à rien
iprintlnbold("???"); // afficher ce message à l'Ãcran
/*
#include common_scripts\utility;
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_anim;
*/
Les include sont obligÃes au début de chaque script
???_trig waittill("trigger", player);//attente de l'activation du trigger par le joueur
player maps\_zombiemode_score::minus_to_player_score( cost );//Enlever au joueur "cost" point
/*
level notify ("end_game");
thread maps\_zombiemode::end_game();
*/
//Terminer la partie
if(IsPlayer(attacker)) // si c'est le joueur qui inflige des dommages au trigger et non d'un zombie
/*
players = get_players();
for(i=0;i<players.size;i++)//Noter le nombre de joueur
{
players[i].??? = false;//variable qui permet de valider une condition qui ici s'appliquera au nombre de joueur
*/
/*
???Rotate( ??? )
{
self endon( "took_gun" );
self endon( "disconnect" );
while(1)
{
??? rotateyaw( 360 ,1.5 );
wait 1.5;
}
}
*/
//faire tourner un model en thread cette fonction(voir la fonction qui suit pour mieux comprendre)
/*
??? = Spawn( "script_model", ???.origin ); //faire apparaitre un model/remplacer ??? a coté de origin par le nom d'un trigger ou va apparaitre le model
???.angles = (-30,0,-30);
??? setmodel( "???" );//choisir le nom du model a faire apparaitre
thread ???Rotate( ??? );//renvoie a la fonction ???Rotate( ??? )
playfxontag (level._effect["powerup_on"], ???, "tag_origin");//Jouer un effet sur model
*/
/*
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;//obligatoire pour un if
}
*/
//en mettant ceci suite a l'activation d'un trigger, donnera a chaque joueur le ray_gun
???_trig disable_trigger();//désactiver le trigger(différent de supprimer)
???_trig enable_trigger();//activer le trigger
???_trig play_sound_2d( "???" );//jouer un son sur un trigger
//diff sons : "sam_fly_last" "sam_fly_first" "sam_fly_second"
/*
CheckRound()
{if(level.round_number < 30)
level waittill("between_round_over");
flag_wait ("round_ok");//attendre le flag pour continué dans le script
flag_set ("round_ok");//mettre le flag sur ok
*/
//attendre une manche particulière(ici 30)
flag_set("electricity_on");//activer le courant
/*/
level notify("Pack_A_Punch_on");
level notify("sleight_on");
level notify("revive_on");
level notify("juggernog_on");
level notify("doubletap_on");
*/
//activer les atout(uniquement a utiliser si vous activer le courant par un script custom
/*
tour1_trig waittill("grenade_fire", grenade, weapname);
if ( weapname == "tomahawk" && grenade istouching(tour1_trig) )
{
grenade delete();
tour1_trig delete();
wait 0.1;
thread Rewards();//fonction de récompense
break;
}
*/
//attente de dégat de grenade(ici tomahawk)car ça ne marche pas comme les armes
level.??? = 0;//définir une variable qui s'appliquera a tous le jeu et tous les script et pas seulement la fonction dans laquelle elle se trouve
//voici la fonction que j'ai utiliser pour faire touner le tomahawk dans mon script
Tomahawk()
{
take = getEnt("take_trig", "targetname");
free_tomahawk = 0;
Tomahawk = Spawn( "script_model", take.origin );
Tomahawk.angles = (-30,0,-30);
Tomahawk setmodel( "worldmodel_bo2_hachet" );
thread TomahawkRotate( Tomahawk );
playfxontag (level._effect["powerup_on"], Tomahawk, "tag_origin");
take setCursorHint("HINT_NOICON");
take UseTriggerRequireLookAt();
take setHintString( &"ZOMBIE_TOMAHAWK_REWARD" );
while(1)
{
take waittill( "trigger", player );
if( free_tomahawk == 0)
{
free_tomahawk = 1;
old_gun = player getcurrentweapon();
player giveweapon( "tomahawk" );
player switchtoweapon( "tomahawk" );
player playsound( "weap_pickup_plr" );
take notify( "took_gun" );
Tomahawk delete();
take delete();
}
else if( free_tomahawk == 1 )
{
iprintlnbold( &"ZOMBIE_ALREADY_TOMAHAWK");
}
wait 0.1;
}
}
TomahawkRotate( Tomahawk )
{
take = getEnt("take_trig", "targetname");
take endon( "took_gun" );
take endon( "disconnect" );
while(1)
{
Tomahawk rotateyaw( 360 ,1.5 );
wait 1.5;
}
}
//et voici la fonction que j'ai utiliser pour donner une arme en récompense de construction
weapon_ready() //this is what runs when you add all the parts
{
weapon_trig = getEnt("weapon_trig", "targetname");
weap_model = Spawn( "script_model", weapon_trig.origin );
weap_model setmodel( "bo1_scavenger_non_upgraded_world" );
weapon_trig SetCursorHint( "HINT_NOICON" );
weapon_trig UseTriggerRequireLookAt();
weapon_trig setHintString(&"ZOMBIE_TAKE_PARTS");
while(1)
{
weapon_trig waittill( "trigger", player );
if( level.free_weap == 0 )
{
old_gun = player getcurrentweapon();
player takeweapon( "old_gun" );
player giveweapon( "scavenger" );
player switchtoweapon( "scavenger" );
player playsound( "weap_pickup_plr" );
self notify( "took_gun" );
weap_model delete();
level.free_weap = 1;
}
else if( level.free_weap == 1 )
{
iprintlnbold( &"ALREADY_WEAP");
}
wait 0.1;
}
}
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Re: Idée de poste uniquement dédié au script
Il y'a quelques erreurs mais pourquoi pas? Ca pourrait être sympas ^^
Re: Idée de poste uniquement dédié au script
Je voulai aussi demander comment on fait spawn un trigger radius et faire attendre x kill dans le radius pour continué dans le script
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Re: Idée de poste uniquement dédié au script
J'ai rien compris ! je suis pro mapping pas modding ! pour ca attend wolf_silver
nightmare695- Administrateur
- Messages : 88
Réputation : 1
Date d'inscription : 06/06/2015
Age : 26
Localisation : Valence
Re: Idée de poste uniquement dédié au script
C'est a lui que je pensait C'est lui qui m'a apprit le modding
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Re: Idée de poste uniquement dédié au script
dans _zombiemode_spawner.gsc ajoute en bas:
dans ta fonction ajoute :
et déclare cette variable aussi:
a tester
- Code:
death_watch()
{
self waittill( "death" );
last_origin = self.origin;
area_radius = undefined;
kill_area_radius = getentarray( "radius_area" , "targetname") ;
for(i=0;i<kill_area_radius.size;i++)
{
area_radius = kill_area_radius[i].radius;
if( self IsTouching( soul_chest_area[i] ) )
{
kill_area_radius[i] FONCTION A CHARGER ICI
break;
}
else
{
}
wait 0.05;
}
}
dans ta fonction ajoute :
- Code:
self_origin = self.origin;
self.death_count++;
et déclare cette variable aussi:
- Code:
self.death_count = 0;
a tester
Re: Idée de poste uniquement dédié au script
ok merci j'avais pas vu le message je vcais test ça
Razor1700- Prestige 13
- Messages : 386
Réputation : 1
Date d'inscription : 25/04/2015
Age : 26
Localisation : Moselle
Mod tools cod5 :: Projet :: Idées
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|