AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  

Partagez | 
 

 Trop de script tue le script ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Trop de script tue le script ?   Jeu 15 Juil 2010, 19:32

Il y a un truc que je ne comprends pas, j'ai un compte à rebours tout beau, tout copié sur KDiZD, mais il est complétement erratique sur mon niveau... la faute aux 50 autres scripts ?
Revenir en haut Aller en bas
_DaRk_
Membre banni
avatar

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

MessageSujet: Re: Trop de script tue le script ?   Jeu 15 Juil 2010, 19:55

Non, si tu fais ça bien, aucune raison que ça bugue, t'as loupé un truc.
Revenir en haut Aller en bas
http://Straff50.free.fr/
Dislogical
Administrateur
avatar

Nombre de messages : 7523
Age : 27
Localisation : ...Somewhere Inside The Bowels Of Endlessness...
Clan(s) : [OFP] Obnoxious French People

MessageSujet: Re: Trop de script tue le script ?   Jeu 15 Juil 2010, 21:12

Y'a pas un petit point virgule manquant, ou une variante mal adaptée?

_________________
Blood Speedrunning by Dislogical

Dislogic's Metal Collection
Revenir en haut Aller en bas
K!r4
Capable de trouver une texture dans un megawad. Sans frais de port.
avatar

Nombre de messages : 8135
Localisation : =)
Clan(s) : Cheese Lovers

MessageSujet: Re: Trop de script tue le script ?   Jeu 15 Juil 2010, 21:14

Le mieux pour le savoir, c'est de voir l'ensemble du code, même si c'est indigeste.
Revenir en haut Aller en bas
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 09:04

Spoiler:
 

Pour le "if", tout est en ordre, et le "else", je n'ai même pas encore mis le choix de la langue, donc c'est assez clair… dans le jeu, il y a entre 1 et 5 (environ) décrémentation par seconde, alors que ça devrait rester constant.
Revenir en haut Aller en bas
K!r4
Capable de trouver une texture dans un megawad. Sans frais de port.
avatar

Nombre de messages : 8135
Localisation : =)
Clan(s) : Cheese Lovers

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 09:36

Essaye "chrono == chrono-1;" ?
Revenir en haut Aller en bas
[WH]-Wilou84
Rêveur perpétuel
avatar

Nombre de messages : 24581
Age : 33
Localisation : Paris, France

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 10:20

On dirait que tu ne testes jamais quand ton chrono descend plus bas que 0, ça peut donner lieu à des boucles infinies.
Il faut donc faire quitter le script lorsque chrono vaut -1 ou inférieur par exemple.

@ K!r4 : "==" serait pour une comparaison, là je pense qu'elle veut bel et bien faire une affectation de valeur.
Mais c'était bien essayé au vu de la précédente erreur :p

"chrono--;" est-il disponible en ACS ? Smile

_________________
"Manners maketh man."
Revenir en haut Aller en bas
http://doomedsda.us/player240lmps.html
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 10:54

Oui, c'est bien pour changer la valeur, mais bien essayé Razz

Il suffira de mettre un autre script qui bloque le script 2 une fois le chrono à 0, rien de compliqué, normalement.

chrono-- est disponible, mais ça me fait exactement le même problème.
Revenir en haut Aller en bas
[WH]-Wilou84
Rêveur perpétuel
avatar

Nombre de messages : 24581
Age : 33
Localisation : Paris, France

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 11:05

Peut-être pas besoin de nouveau script : avant de faire ton "restart", teste simplement la valeur de chrono, et ne fais un restart que si chrono est >= 0, ça marcherait j'imagine Smile

_________________
"Manners maketh man."
Revenir en haut Aller en bas
http://doomedsda.us/player240lmps.html
Xsnake
Baron de l'Enfer
avatar

Nombre de messages : 951
Localisation : Bordeaux, France
Clan(s) : #Ex.DoP

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 11:40

Cyanure a écrit:
Spoiler:
 

Pour le "if", tout est en ordre, et le "else", je n'ai même pas encore mis le choix de la langue, donc c'est assez clair… dans le jeu, il y a entre 1 et 5 (environ) décrémentation par seconde, alors que ça devrait rester constant.

Pour les différentes langues dans l'ACS : http://zdoom.org/wiki/LANGUAGE
Ca t'évitera de faire 200 if suivant la langue de l'utilisateur.

Ensuite remplace "chrono = chrono-1;" par
Code:
chrono--;

D'autre part, le "Else" ne nécessite pas d'accolades

Code:
   
else
chrono--;
hudmessagebold(s:"\cG", d:chrono, s:" \cCSeconds Left";
HUDMSG_FADEINOUT, 19, CR_UNTRANSLATED, 0.5, 0.1, 0.9, 0.0, 0.2);
delay(35);
restart;

Puis, un "restart", même dans un "Else", redémarre tout le script depuis le début il me semble. Comme le dit Wilou, fais en attention que ton timer n'aille pas dans les négatifs. Tu peux toujours regarder dans mon wad iu-part5 map28 au pire...
Revenir en haut Aller en bas
http://xsnake.online.fr/
[WH]-Wilou84
Rêveur perpétuel
avatar

Nombre de messages : 24581
Age : 33
Localisation : Paris, France

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 12:02

Sans accolades, tout ce qui est à la suite du else sera exécuté ?
En C en tout cas il faut des accolades, sinon seule la première instruction sera exécutée, pour l'ACS je sais pas trop mais j'imagine qu'il vaut mieux en mettre, question de sécurité Smile

_________________
"Manners maketh man."
Revenir en haut Aller en bas
http://doomedsda.us/player240lmps.html
Xsnake
Baron de l'Enfer
avatar

Nombre de messages : 951
Localisation : Bordeaux, France
Clan(s) : #Ex.DoP

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 12:34

Mouais, c'est juste que j'évite de foutre des trucs inutiles quand je rédige mes propres scripts Smile
Après, chacun sa façon de coder...
Revenir en haut Aller en bas
http://xsnake.online.fr/
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Re: Trop de script tue le script ?   Ven 16 Juil 2010, 18:06

Merci pour le lien, dommage que je ne l'avais pas vu avant Surprised

Comme dit plus haut, j'ai aussi essayé "chrono--;", mais le résultat est le même, le décompte n'est pas régulier du tout.

Pour le restart, ça redémarre bien tout le script, mais c'est volontaire.
Revenir en haut Aller en bas
yetimothee
Cyberdémon
avatar

Nombre de messages : 4329
Age : 24
Clan(s) : SL

MessageSujet: Re: Trop de script tue le script ?   Lun 19 Juil 2010, 19:12

Salut,
juste une idée pour rendre ton script moins indigeste : Charge toutes les chaines de caractère des différentes langue dans un script s'ouvrant au début de la map. De cette façon, tu n'auras plus qu'à appeler la chaine contenant le message à afficher à l'écran dans ton code, donc tu gagnes beaucoup de place.

De plus, est-il possible d'utiliser des switches plutôt que des if à répétitions, en ACS (comme montré ci dessous) ?
Code:

switch(variable)
{
  case 1: //Si variable = 1
      print(s: "variable = 1");
  case 2: // Si variable = 2
      print(s: "variable = 2");
  case default: // Si variable n'est pas égale aux autres cas
      print(s: "variable n'est pas égale à une valeur attendue);
}

Sinon, pour une question de relecture du code, il vaut mieux mettre les blocs d'instructions de plusieurs lignes entre accolades, ou alors avec une indentation différente (comme en python).
Néanmoins, comme l'ACS est emprunté directement du C, à mon avis la question ne se pose même pas...

D'autre part, où est initialisé la variable chrono ? Est-ce une variable globale ? Parce que là, il manque des éléments dans ton code pour qu'on puisse t'aider convenablement, je pense.
Revenir en haut Aller en bas
http://secteur-lambda.org/index.php?accueil
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Re: Trop de script tue le script ?   Mer 21 Juil 2010, 13:54

En clair tu me dis pareil que Xsnake, mais en moins compréhensible, non ? Laughing

Je n'ai pas Doom sous la main, mais la variable chrono est initialisé sur un script du genre

Spoiler:
 

donc avec le "enter", aucun problème ne peux pas venir de là, normalement.
Revenir en haut Aller en bas
ZyklonB
Cyberdémon
avatar

Nombre de messages : 4325
Age : 24
Localisation : Chez toi, je vide ton frigo.
Clan(s) : #RFest : Rocket Fest

MessageSujet: Re: Trop de script tue le script ?   Mer 21 Juil 2010, 15:13

Personnellement j'aurai mis des "else" après chaque "if" pour enchainer sur le "if" suivant* ou j'aurais mis un switch. Smile




EDIT:
(*)= Un peu comme ça:
Code:
Script 486 enter
{
    if (gameskill () == skill_easy)
    {
        chrono = 500;
        }
    else{
    if (gameskill () == skill_normal)
    {
        chrono = 250;
        }
    else{
    if (gameskill () == skill_hard)
    {
        chrono = 100;
        }
        }
        }
    }
Revenir en haut Aller en bas
[WH]-Wilou84
Rêveur perpétuel
avatar

Nombre de messages : 24581
Age : 33
Localisation : Paris, France

MessageSujet: Re: Trop de script tue le script ?   Jeu 22 Juil 2010, 13:52

Il te manque un cas "général" tout à la fin.

_________________
"Manners maketh man."
Revenir en haut Aller en bas
http://doomedsda.us/player240lmps.html
ZyklonB
Cyberdémon
avatar

Nombre de messages : 4325
Age : 24
Localisation : Chez toi, je vide ton frigo.
Clan(s) : #RFest : Rocket Fest

MessageSujet: Re: Trop de script tue le script ?   Jeu 22 Juil 2010, 14:51

Ah "Shiga"!
On s'embrouille facilement avec tout ces if et else.... C'est pour ça que c'est mieux les switch pour ce genre de cas qu'une série de if et else...
Revenir en haut Aller en bas
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Re: Trop de script tue le script ?   Lun 26 Juil 2010, 19:46

Pas besoin d'un cas "général", il n'y a que ces trois niveau de difficulté (grâce à un niveau d'intro à la Quake)

Et cette partie du script marche correctement, même si elle n'est pas forcément bien optimisée.
Revenir en haut Aller en bas
K!r4
Capable de trouver une texture dans un megawad. Sans frais de port.
avatar

Nombre de messages : 8135
Localisation : =)
Clan(s) : Cheese Lovers

MessageSujet: Re: Trop de script tue le script ?   Lun 26 Juil 2010, 20:00

Miam, c'est quand les tests ? Smile
Revenir en haut Aller en bas
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Re: Trop de script tue le script ?   Lun 26 Juil 2010, 20:15

Aucune idée, pour l'instant j'ai le niveau d'introduction ainsi que deux niveaux de presque fini (à priori j'ai juste ce problème de décompte à régler)

Après ça, les choses devraient aller un poil plus vite, ce sera du "y'a plus qu'à"
Revenir en haut Aller en bas
Cyanure
Chevalier de l'Enfer
avatar

Nombre de messages : 580

MessageSujet: Re: Trop de script tue le script ?   Ven 30 Juil 2010, 14:11

Problème résolu, en fait j'avais bêtement entouré la zone de départ par des lignes "répétables" actionnant le script.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Trop de script tue le script ?   

Revenir en haut Aller en bas
 
Trop de script tue le script ?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Trop de script tue le script ?
» [SCRIPT] Aide pour script de quête s''il vous plaît
» [ACS]Script en (void) mais qui agit en ENTER
» 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: