AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  

Partagez | 
 

 [Script] Variables

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: [Script] Variables   Sam 08 Juin 2013, 09:39

Hello à tous! Je suis encore de retour.
(je reviens d'un voyage au Japon, puis j'ai enchainé avec le boulot direct etc etc...)

Je me suis remis au mapping DOOM etc etc... Et là j'utilise les scripts avec (G)ZDOOM (sous DOOMbuilder). Bon j'ai déjà utilisé des scripts l'année dernière mais y'a deux-trois trucs que je comprend pas vraiment.


Ce que je voudrais faire :

Je voudrais faire en sorte qu'en "utilisant" un ordinateur (un linedef en fait) on puisse : Premièrement voir un commentaire ou un dialogue (ça ok je sais le faire), deuxièmement pouvoir faire lever un sol (floor raise) et troisièmement faire baisser ce sol (floor lower).

Bon, les commandes de scripts sont pas compliquées : ça marche comme une action linedef avec un interrupteur basique. Mon soucis est qu'en fait je sais pas faire "premièrement, deuxièmement et troisièmement". Je sais pas si je suis assez clair en fait...
Je voudrais faire apparaitre le dialogue uniquement la première fois que j'appuie sur espace sur la linedef. Une fois le dialogue passé, je voudrais qu'à chaque fois que j'appuie sur espace sur la linedef, le sol s'abaisse ou se lève selon si il est en bas ou en haut (là aussi, je sais pas si il faut que le jeu détecte la position Y du sol pour faire baisser ou lever).


Dernière édition par ironmugen le Lun 01 Juil 2013, 22:41, édité 1 fois
Revenir en haut Aller en bas
http://dssunit.com
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Dim 09 Juin 2013, 14:06

(désolé pour le double post) Pour faire plus simple, je voudrais que quand on appuie une première fois sur un linedef, il y ai SCRIPT1, et quand on appuie une deuxième fois il y ai SCRIPT2.
Revenir en haut Aller en bas
http://dssunit.com
_DaRk_
Membre banni


Nombre de messages : 8487
Age : 27
Localisation : 71300 Montceau les Mines
Clan(s) : BaseQ

MessageSujet: Re: [Script] Variables   Dim 09 Juin 2013, 14:24

La technique que j'aurais à t'indiquer serait :
-Vérifier une variable
-Première pression: Lancer une action et incrémenter la variable
-Deuxième pression: Vérifier que la variable a changé et lancer une autre action

L'idée est là, je sais ps comment faire en revanche. Chow ou JC pourront t'en dire plus.
Revenir en haut Aller en bas
http://Straff50.free.fr/
Ch0wW
Arch-Vile


Nombre de messages : 747
Age : 24

MessageSujet: Re: [Script] Variables   Dim 09 Juin 2013, 15:00

Perso, j'ai la flemme de faire un script en entier, mais je résoud juste une partie de ta question :


Code:
//===================
// Multi-Run Script
// Attention, penser à remplacer XXX par le numero du script à lancer (>0 && <256) !
// De plus, faire les modifications necessaires.
//
// Ce script lance une action au switch, puis une autre au rappui de ce dernier (et ainsi de suite)
//===================

int iActionType;                    // 0: Message / 1: Lower / 2: Upper

script XXX (void)
{
 if (!iActionType)
 {
    print(s:"SI vous cliquez, ca uppe. Si vous recliquez, ca down!");
    iActionType = 1; // Next => Upper
 }
 else if (iActionType == 1)
 {
    // Faire l'action pour Upper le sol
    iActionType = 2; // Next => Lower
 }
else // >= 2
 {
    // Faire l'action pour Lower le sol
    iActionType = 1; // Next => Upper
 }
}

Je pense que la base est désormais faite, plus qu'à upper/lower le sol à ta guise avec ton code =D

A part ca, Oxyde à raison de l'idée à faire ; plutôt que de lancer 3 scripts qui vont lancer un code différent et se casser la tête à faire quelque chose d'assez compliqué pour 1 seul et même linedef, pourquoi ne pas faire simple, et lancer tout ca dans un seul et même script? C'est l'idée à faire quand on veut faire du multi-actions (un peu comme les leviers dans HL1 par exemple qui, une fois appuié, part dans un sens, et dans l'autre si on le réactive).
Revenir en haut Aller en bas
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Dim 09 Juin 2013, 20:54

Ah merci les gars! J'ai un peu l'habitude des variables via MUGEN, je ne savais juste pas du tout comment ça fonctionnait sous ZDOOM. =)

Je vais tester après manger et je reviens en cas de pépins!

Merci encore.
Revenir en haut Aller en bas
http://dssunit.com
Ch0wW
Arch-Vile


Nombre de messages : 747
Age : 24

MessageSujet: Re: [Script] Variables   Dim 09 Juin 2013, 21:38

Pas de problèmes!

Tiens nous au courant de l'avancement du script, mais normalement, il n'y a pas de problèmes dans la structure de base (donc le multiswitch) en tout cas ( °w°)/ !

Revenir en haut Aller en bas
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Dim 09 Juin 2013, 23:51

RE!

J'ai fait un petit test sur "autre chose". Il s'agit de "mails" reçu dans un ordinateur. Le principe est le même : ça utilise les variables.

1ère utilisation : premier mail sur une cargaison de Chainsaws
2ème utilisation : réponse au mail
3ème utilisation : "plus de mails"
Puis on repart avec le premier mail.


En gros tout fonctionne comme je l'espérais. Merci à vous. =)

Quelques screens :








Je refais plus où moins le DOOM2RPG de l'iPhone en fait. C'est un projet un peu flemmard je sais mais bon, comme j'aime ce jeu, voilà.



EDIT : Ah si juste une petite question, la ligne "int iActionType;" je dois la mettre avant chaque scripts qui utilisent les variables?
Revenir en haut Aller en bas
http://dssunit.com
Ch0wW
Arch-Vile


Nombre de messages : 747
Age : 24

MessageSujet: Re: [Script] Variables   Lun 10 Juin 2013, 00:33

pour le "int iActionType" (ou ce que tu veux d'ailleurs comme nom d'integer), tu dois le placer avant la fonction ou script, sinon la valeur sera locale.

Si elle est locale, quand tu vas relancer la fonction, elle reviendrait à sa valeur par défaut, ce qui n'est pas vraiment ce que l'on souhaite =/ .

Ah, et pour éviter une éventuelle autre question (bon, ok, je prend le truc comme si tu débutes en scripting, le prend pas mal), si tu veux en refaire de ce type de valeurs dans le même niveau, change le nom de la valeur, sinon y'aura un conflit!

Exemple:
Code:


int iActionType;                    // 0: Message / 1: Lower / 2: Upper
int iActionType2;                  // 0: message/ 1: XXXX / 2: YYYY

script 345 (void)
{
 if (!iActionType)
 {
    print(s:"SI vous cliquez, ca uppe. Si vous recliquez, ca down!");
    iActionType = 1; // Next => Upper
 }
 else if (iActionType == 1)
 {
    // Faire l'action pour Upper le sol
    iActionType = 2; // Next => Lower
 }
else // >= 2
 {
    // Faire l'action pour Lower le sol
    iActionType = 1; // Next => Upper
 }
}

script 678 (void)
{
 if (!iActionType2)
 {
    print(s:"Mayday, mayday, Nagato a disparue");
    iActionType2 = 1;
 }
 else if (iActionType2 == 1)
 {
    // Faire l'action XXXX
    iActionType2 = 2;
 }
else // >= 2
 {
    // Faire l'action YYYY
    iActionType2 = 1;
 }
}

En tout cas, j'aime bien tes screens =) !
Revenir en haut Aller en bas
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Lun 10 Juin 2013, 00:48

Okay merci beaucoup! =)
Ça tombe bien que tu m'en parles parce que y'a d'autres scripts qui auront besoin de variables. Very Happy


Citation :
En tout cas, j'aime bien tes screens =) !

Merci. =) Je posterai plus de screens quand le 1er niveau sera presque fini. J'espère faire la suite si ma motivation tombe pas. D'ailleurs pour les screens j'ai mal choisi l'arme : j'aurai du prendre la tronçonneuse qui a les sprites sortis tout droit du jeu RPG. xD (la prochaine fois)
Revenir en haut Aller en bas
http://dssunit.com
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Lun 10 Juin 2013, 16:14

Pour te remercier, quelques screens supplémentaires. xD

Là il s'agit de l'I.A. nommé "SAL" qui est un peu borné et qui voudra pas vraiment coopérer.


Pas moyen de passer!


"Casse toi!" Ok... (après un petit "delay", notre héro dit "um, cet ordinateur me demande de me barrer?")


"Laisse moi tranquille!" (là, le héro dit "cet ordinateur n'est pas près de coopérer...")


Troisième essai : "Bon, tiens voilà...", suivi du screen suivant :


YAHOO!!!


C'est parti~

(PS : à partir du 4ème essai, le message "bridge restored" se relance en boucle.
Revenir en haut Aller en bas
http://dssunit.com
franckFRAG
Modérateur du chaos


Nombre de messages : 7057
Age : 26
Localisation : Morbihan(56)
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Lun 10 Juin 2013, 16:35

Ça me rappelle énormément un des niveaux de Doom3 ces screens Smile

_________________

Revenir en haut Aller en bas
http://doomstaze.free.fr
JC
Heresiarch


Nombre de messages : 2841
Age : 23
Localisation : Lille
Clan(s) : Destin.

MessageSujet: Re: [Script] Variables   Lun 10 Juin 2013, 16:56

ahah, ça ressemble beaucoup =)
Revenir en haut Aller en bas
http://82.66.133.154:85/ En ligne
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Lun 01 Juil 2013, 22:43

RE tout le monde! Je voulais juste savoir comment ça marchait pour mettre un variable random...

En gros j'ai la boite déposé par le père noel, je l'ouvre, et je voudrais avoir un truc au hasard. Je sais déjà comment SPAWNER un objet, je sais aussi faire en sorte de spawner un objet selon le nombre d'une variable. Mais ce qu'il me manque c'est lancer la variable au hasard.

Merci d'avance. =)
Revenir en haut Aller en bas
http://dssunit.com
Ch0wW
Arch-Vile


Nombre de messages : 747
Age : 24

MessageSujet: Re: [Script] Variables   Lun 01 Juil 2013, 23:15

pas trop dur, allez, cadeau, je te file une idée comment ca marche :

(Semi-Tiré du mutator VIP de la FCT 17)
Code:


#define MAXIMUM_WEAPONS 6

// Definition des armes
str VIP_allowed_Weapons[MAXIMUM_WEAPONS] =
{
  "Pistol",
  "Shotgun",
  "SuperShotgun",
  "Chaingun",
  "RocketLauncher",
  "PlasmaRifle",
};

/*
========
Spawn an item
========
*/
script 12 (void)
{
 int i;

i = random (0, MAXIMUM_WEAPONS - 1) // 0 = 1, 5 = 6

// Code pour spawn
Spawn ( VIP_allowed_Weapons[i], x, y); // Forcément, X et Y a mod
}
Revenir en haut Aller en bas
JC
Heresiarch


Nombre de messages : 2841
Age : 23
Localisation : Lille
Clan(s) : Destin.

MessageSujet: Re: [Script] Variables   Lun 01 Juil 2013, 23:33

enfoiré, sors pas nos codes comme ca xD
Revenir en haut Aller en bas
http://82.66.133.154:85/ En ligne
ironmugen
Cacodémon


Nombre de messages : 232
Age : 31
Localisation : Créteil
Clan(s) : ( Aucun )

MessageSujet: Re: [Script] Variables   Lun 01 Juil 2013, 23:36

Oh merci! =)


Donc si je comprend bien, on a le nom et le nombre d'items possible (6 dans ce cas).

Ensuite c'est le nom de l'item random c'est bien ça? Ce dont on va définir en tant que nom d'item à spawn?

Après c'est les items en question si je résonne correctement.

Le "int i" représente quoi? C'est la fameuse variable qu'on aura au hasard non? Après en gros on dit qu'on en a 6 différentes mais que le 0 compte donc ça va jusqu'à 5?

Et obligatoirement, le ode pour spawn l'item au pif.



Ai-je vu juste?
Revenir en haut Aller en bas
http://dssunit.com
Ch0wW
Arch-Vile


Nombre de messages : 747
Age : 24

MessageSujet: Re: [Script] Variables   Lun 01 Juil 2013, 23:39

@JCD : Le code sort de la FCT 17, qui a été release de toute façon!
Et puis, tu risques rien avec que cette partie de code limite copiée du wiki Zdoom \o/

@ironmugen : int i c'est la variable choisie aléatoirement .
Du coup, il va spawn le texte qui aura la variable i ;

par exemple, si le random a choisi 0, il aura un shotgun.
Si il a 5, c'est le plasma qu'il a!
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: [Script] Variables   

Revenir en haut Aller en bas
 
[Script] Variables
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Afficher une variable sur l'écran
» [Script] Variables
» Déclaration de variables dans le script header
» script menu catégories d'items
» Logiciel/script multijoueur [résolu]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
 :: ::: Autour du jeu ::: :: ::: Mapping / Editing :::-
Sauter vers: