Return to post
variables
{
globale:
0: Partie
1: Points_for_win
2: Options_hote
3: event_timer
4: event
de joueur:
0: TPA
1: points
2: can_TP
3: options
}
sous-programmes
{
0: Timer
1: Event_type
}
règle("TPA")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
Joueur exécutant.TPA == Vrai;
Joueur exécutant.can_TP == Vrai;
}
actions
{
désactivé Téléportation(Joueur exécutant, Vecteur mondial de(Haut, Joueur exécutant, Rotation et Translation));
désactivé Téléportation(Joueur exécutant, Vecteur mondial de(Avant, Joueur exécutant, Rotation et Translation));
désactivé Attente(0.050, Ignorer la condition);
désactivé Boucle si la condition est vraie;
désactivé Attente(1, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("2"));
Attente(1, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("1"));
Attente(1, Interrompre quand faux);
Joueur exécutant.TPA = Faux;
Message en petit(Joueur exécutant, Chaîne personnalisée("AFK zone"));
}
}
règle("Init")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
actions
{
Global.Partie = Faux;
Désactiver l’annonceur prédéfini par le mode de jeu;
Désactiver le calcul des points prédéfini par le mode de jeu;
Définir le temps de jeu(10000);
Créer un effet(Joueur exécutant, Mauvaise aura, Bleu ciel, Vecteur(-71.639, 1.249, 66.492), 3, Visible pour Position et Rayon);
Créer un effet(Joueur exécutant, Mauvaise aura, Bleu ciel, Vecteur(-76.831, 1.249, 72.005), 3, Visible pour Position et Rayon);
Créer un effet(Joueur exécutant, Anneau, Bleu ciel, Vecteur(-75.602, 1.749, 67.846), 2, Visible pour Position et Rayon);
Créer du texte en jeu(Joueur exécutant, Chaîne personnalisée("Join game"), Vecteur(-75.685, 1.749, 67.715), 1,
Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Blanc, Visibilité par défaut);
Désactiver la musique prédéfinie par le mode de jeu;
Créer un effet(Joueur exécutant, Puits de lumière, Bleu ciel, Vecteur(-80.598, 45.536, 62.942), 2, Visible pour Position et Rayon);
Définir la description d’objectif(Joueur exécutant, Chaîne personnalisée("Go to {0} Points", Global.Points_for_win),
Visible pour et Chaîne de texte);
Créer du texte en jeu(Joueur exécutant, Chaîne personnalisée("AFK zone"), Vecteur(-77.971, 3, 65.521), 2, Ne pas masquer,
Visible pour Position et Chaîne de texte, Vert, Visibilité par défaut);
Joueur exécutant.TPA = Faux;
Désactiver l’accomplissement prédéfini par le mode de jeu;
désactivé Si(Dans les paramètres);
Créer du texte d’interface(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("score of {0} : {1}", Joueur exécutant,
Joueur exécutant.points), Non applicable, Non applicable, Droite, 0, Blanc, Blanc, Blanc, Visible pour et Chaîne de texte,
Visibilité par défaut);
Global.Points_for_win = 500;
désactivé Créer du texte d’interface(Joueur hôte, Chaîne personnalisée("Y : {0}", Distance entre(Vecteur(-45.493, 34.873, 99.603),
Joueur exécutant)), Non applicable, Non applicable, Droite, 0, Blanc, Blanc, Blanc, Visible pour et Chaîne de texte,
Visibilité par défaut);
Global.Options_hote = Faux;
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Need {0} points for win", Global.Points_for_win),
Vecteur(-80.312, 6.375, 63.191), 2, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Blanc,
Visibilité par défaut);
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("+10 points needed", Global.Points_for_win),
Vecteur(-77.273, 6.375, 61.928), 1.500, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Rouge,
Visibilité par défaut);
désactivé Créer un effet(Tous les joueurs(Toutes les équipes), Anneau, Bleu ciel, Vecteur(-79.916, 6.376, 66.009), 2,
Visible pour Position et Rayon);
désactivé Créer un effet(Tous les joueurs(Toutes les équipes), Anneau, Bleu ciel, Vecteur(-77.330, 6.376, 63.305), 2,
Visible pour Position et Rayon);
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("-10 points needed", Global.Points_for_win),
Vecteur(-81.500, 6.375, 66.212), 1.500, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Vert,
Visibilité par défaut);
Créer un effet(Tous les joueurs(Toutes les équipes), Anneau, Bleu ciel, Vecteur(-72.697, 6.374, 70.662), 2,
Visible pour Position et Rayon);
Créer du texte en jeu(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Return to AFK menu", Global.Points_for_win),
Vecteur(-72.697, 6.374, 70.662), 1, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Vert,
Visibilité par défaut);
Créer du texte en jeu(Joueur exécutant, Chaîne personnalisée(
"Instructions : Bump other player, earn points by being in the blue zone and WIN THE GAME !"), Vecteur(-78.054, 2.100, 65.460),
1, Masquer derrière les surfaces, Visible pour Position et Chaîne de texte, Citron vert, Visibilité par défaut);
Interdire le bouton(Joueur exécutant, Tir principal);
}
}
règle("Bumped")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Distance entre(Vecteur(-80.559, 46.536, 62.789), Joueur exécutant) >= 20;
Global.Partie == Vrai;
}
actions
{
Si(Joueur exécutant.TPA == Vrai);
désactivé Tuer(Joueur exécutant, Tous les joueurs en vie(Toutes les équipes));
Jouer un effet(Tous les joueurs(Toutes les équipes), Bonne explosion, Cyan, Joueur exécutant, 5);
Jouer un effet(Tous les joueurs(Toutes les équipes), Son de l’explosion, Blanc, Joueur exécutant, 90);
Annuler l’action principale(Joueur exécutant);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Tir secondaire), 0);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Capacité 2), 0);
Définir le temps de recharge de la capacité(Joueur exécutant, Bouton(Capacité 1), 0);
Téléportation(Joueur exécutant, Vecteur(-80.140, 56.520, 62.942));
Si(Joueur exécutant.points > 0);
Joueur exécutant.points -= 1;
Fin;
Sinon;
Téléportation(Joueur exécutant, Vecteur(-81.614, 1.752, 61.763));
}
}
règle("Join")
{
évènement
{
Un joueur a rejoint la partie;
Les deux;
Tout;
}
conditions
{
désactivé Dans la salle d’apparition(Joueur exécutant) == Faux;
}
actions
{
Joueur exécutant.TPA = Faux;
Joueur exécutant.can_TP = Faux;
Attente(En vie(Joueur exécutant), Ignorer la condition);
désactivé Attente(3, Ignorer la condition);
Téléportation(Joueur exécutant, Vecteur(-81.614, 1.752, 61.763));
Définir les dégâts infligés(Joueur exécutant, 0);
désactivé Définir un statut(Joueur exécutant, Non applicable, Piraté, 9999);
}
}
règle("Bump 1")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Distance entre(Vecteur(-71.385, 1.751, 66.338), Joueur exécutant) <= 2;
}
actions
{
Annuler l’action principale(Joueur exécutant);
Forcer l’accélération(Joueur exécutant, 0, 0, 1, 1, 0, 1);
Définir la direction du regard(Joueur exécutant, Vecteur vers(Joueur exécutant, Vecteur(-65.177, Composante Y de(Joueur exécutant),
72.657)), Au monde);
désactivé Appliquer une impulsion(Joueur exécutant, Arrière, 3, Au monde, Annuler le mouvement contraire);
Attente(0.050, Ignorer la condition);
Boucle si la condition est vraie;
Arrêter de forcer l’accélération(Joueur exécutant);
Téléportation(Joueur exécutant, Vecteur(-73.283, 1.751, 64.559));
}
}
règle("capacitée utilisée")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Capacité d’évènement == Vrai;
Joueur exécutant.TPA == Faux;
}
actions
{
Annuler l’action principale(Joueur exécutant);
}
}
règle("Bump 2")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Distance entre(Vecteur(-77.013, 1.751, 71.873), Joueur exécutant) <= 2;
}
actions
{
Annuler l’action principale(Joueur exécutant);
Forcer l’accélération(Joueur exécutant, 0, 0, 1, 1, 0, 1);
Définir la direction du regard(Joueur exécutant, Vecteur vers(Joueur exécutant, Vecteur(-70.680, Composante Y de(Joueur exécutant),
78.179)), Au monde);
désactivé Appliquer une impulsion(Joueur exécutant, Arrière, 3, Au monde, Annuler le mouvement contraire);
Attente(0.050, Ignorer la condition);
Boucle si la condition est vraie;
Arrêter de forcer l’accélération(Joueur exécutant);
Téléportation(Joueur exécutant, Vecteur(-79.066, 1.749, 69.771));
}
}
règle("join game [B]")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Distance entre(Vecteur(-75.602, 1.749, 67.846), Joueur exécutant) <= 2;
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
désactivé Nombre de joueurs(Toutes les équipes) > 1;
Global.Options_hote == Faux;
}
actions
{
Joueur exécutant.can_TP = Faux;
désactivé Créer du texte d’interface(Joueur exécutant, Chaîne personnalisée("Press Interact for go in AFK zone"), Non applicable,
Non applicable, Haut, 0, Vert, Blanc, Blanc, Visible pour et Chaîne de texte, Jamais visible);
Annuler l’action principale(Joueur exécutant);
Joueur exécutant.TPA = Vrai;
Global.Partie = Vrai;
Téléportation(Joueur exécutant, Vecteur(-80.140, 56.520, 62.942));
Attente(0.250, Ignorer la condition);
Message en petit(Joueur exécutant, Chaîne personnalisée("Press Interact for go in AFK zone"));
Joueur exécutant.can_TP = Vrai;
}
}
règle("points")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Distance entre(Vecteur(-80.804, 46.537, 62.927), Joueur exécutant) < 2;
}
actions
{
Attente(0.250, Interrompre quand faux);
Joueur exécutant.points += 1;
Définir le score d’un joueur(Joueur exécutant, Joueur exécutant.points);
Boucle si la condition est vraie;
}
}
règle("points for win")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur exécutant.points >= Global.Points_for_win;
}
actions
{
Déclarer la victoire d’un joueur(Joueur exécutant);
}
}
règle("distant 2")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Vecteur(0, 0, 0) + Joueur exécutant > 4;
Joueur exécutant.TPA == Faux;
Joueur exécutant != Joueur hôte;
}
actions
{
Téléportation(Joueur exécutant, Vecteur(-81.614, 1.752, 61.763));
Joueur exécutant.options = Faux;
Global.Options_hote = Faux;
Attente(0.250, Ignorer la condition);
Boucle si la condition est vraie;
}
}
règle("distant")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Distance entre(Vecteur(-77.550, 1.748, 65.463), Joueur exécutant) > 10;
Joueur exécutant.TPA == Faux;
}
actions
{
Téléportation(Joueur exécutant, Vecteur(-81.614, 1.752, 61.763));
Joueur exécutant.options = Faux;
Global.Options_hote = Faux;
Attente(0.250, Ignorer la condition);
Boucle si la condition est vraie;
}
}
règle("hoté")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur exécutant == Joueur hôte;
désactivé Joueur exécutant != Dans la salle d’apparition(Joueur exécutant);
désactivé Vecteur(-81.614, 1.749, 61.763) == Joueur exécutant;
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
Joueur exécutant.TPA == Faux;
(Distance entre(Vecteur(-75.510, 1.749, 67.890), Joueur exécutant) && Distance entre(Vecteur(-80.176, 6.376, 66.078),
Joueur exécutant) && Distance entre(Vecteur(-77.462, 6.376, 63.186), Joueur exécutant)) > 2;
Joueur exécutant.options == Faux;
}
actions
{
désactivé Attente(1.250, Ignorer la condition);
désactivé Message en petit(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("You are the hote of this game"));
désactivé Message en petit(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("You have acces to some options"));
désactivé Message en petit(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Press 'interact'"));
désactivé Si(Joueur exécutant.options == Faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("2"));
Attente(1, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("1"));
Attente(1, Interrompre quand faux);
Message en petit(Joueur exécutant, Chaîne personnalisée("Hote options"));
Téléportation(Joueur hôte, Vecteur(-77.948, 5, 65.506));
Joueur exécutant.options = Vrai;
désactivé Sinon;
désactivé Joueur exécutant.options = Faux;
désactivé Message en petit(Joueur exécutant, Chaîne personnalisée("2"));
désactivé Attente(1, Interrompre quand faux);
désactivé Message en petit(Joueur exécutant, Chaîne personnalisée("1"));
désactivé Attente(1, Interrompre quand faux);
désactivé Message en petit(Joueur exécutant, Chaîne personnalisée("AFK zone"));
désactivé Téléportation(Joueur hôte, Vecteur(-81.614, 2, 61.763));
désactivé Fin;
désactivé Attente(1, Ignorer la condition);
}
}
règle("comeback_option")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Global.Options_hote == Vrai;
Joueur exécutant != Joueur hôte;
}
actions
{
Joueur exécutant.TPA = Faux;
Joueur exécutant.can_TP = Faux;
Téléportation(Joueur exécutant, Vecteur(-81.614, 1.752, 61.763));
Message en petit(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Hote is in options"));
}
}
règle("+ point [b]")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur hôte == Joueur exécutant;
Bouton maintenu enfoncé(Joueur exécutant, Tir principal) == Vrai;
Distance entre(Position d’impact du rayon émis(Position des yeux(Joueur exécutant), Position des yeux(Joueur exécutant)
+ Regard en direction de(Joueur exécutant) * 1000, Tous les joueurs(Toutes les équipes), Joueur exécutant, Vrai), Vecteur(
-77.273, 6.375, 61.928)) < 1;
Global.Points_for_win >= 30;
}
actions
{
Attente(0, Interrompre quand faux);
Global.Points_for_win += 10;
Global.Options_hote = Vrai;
Attente(0.100, Interrompre quand faux);
désactivé Boucle si(Bouton maintenu enfoncé(Joueur exécutant, S’accroupir));
Boucle si la condition est vraie;
}
}
règle("- point [b]")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur hôte == Joueur exécutant;
désactivé Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
désactivé Distance entre(Vecteur(-77.211, 6.376, 62.508), Joueur exécutant) < 2;
Bouton maintenu enfoncé(Joueur exécutant, Tir principal) == Vrai;
Distance entre(Position d’impact du rayon émis(Position des yeux(Joueur exécutant), Position des yeux(Joueur exécutant)
+ Regard en direction de(Joueur exécutant) * 1000, Tous les joueurs(Toutes les équipes), Joueur exécutant, Vrai), Vecteur(
-81.500, 6.375, 66.212)) < 1;
Global.Points_for_win <= 9980;
}
actions
{
Attente(0, Interrompre quand faux);
Global.Points_for_win -= 10;
Global.Options_hote = Vrai;
Attente(0.100, Interrompre quand faux);
désactivé Boucle si(Bouton maintenu enfoncé(Joueur exécutant, S’accroupir));
Boucle si la condition est vraie;
}
}
règle("back to lobby [b]")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Joueur hôte == Joueur exécutant;
Bouton maintenu enfoncé(Joueur exécutant, Interaction) == Vrai;
Distance entre(Vecteur(-72.707, 6.375, 70.662), Joueur exécutant) < 2;
}
actions
{
Global.Options_hote = Faux;
Joueur exécutant.options = Faux;
Téléportation(Joueur exécutant, Vecteur(-80.140, 56.520, 62.942));
}
}
règle("event")
{
évènement
{
Toute la partie - Chaque joueur;
Les deux;
Tout;
}
conditions
{
Global.Partie == Vrai;
}
actions
{
Passer si(Global.event_timer > 0, 1);
Global.event_timer = 30;
Sous-programme à appeler(Timer);
Attente(1, Ignorer la condition);
Boucle si la condition est vraie;
}
}
règle("Timer")
{
évènement
{
Sous-programme;
Timer;
}
actions
{
Attente(1, Ignorer la condition);
Global.event_timer -= 1;
Boucle si(Global.event_timer > 0);
Sous-programme à appeler(Event_type);
Global.event = Nombre entier aléatoire(4, 4);
}
}
règle("event type")
{
évènement
{
Sous-programme;
Event_type;
}
actions
{
Si(Global.event == 0);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Hacked 3sc"));
Définir un statut(Joueur exécutant, Non applicable, Piraté, 3);
Fin;
Si(Global.event == 1);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Stun 1sc"));
Définir un statut(Joueur exécutant, Non applicable, Étourdi, 1);
Fin;
Si(Global.event == 2);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("200% speed for 10sc"));
Définir la vitesse de déplacement(Joueur exécutant, 200);
Attente(10, Ignorer la condition);
Définir la vitesse de déplacement(Joueur exécutant, 100);
Fin;
Si(Global.event == 3);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("Bumped "));
Appliquer une impulsion(Joueur exécutant, Haut, 25, Au monde, Annuler le mouvement contraire);
Fin;
Si(Global.event == 4);
Message en grand(Tous les joueurs(Toutes les équipes), Chaîne personnalisée("180 !"));
Définir la direction du regard(Joueur exécutant, Joueur exécutant - 180, Au monde);
Fin;
}
}
- 9W0ZH