Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -28%
Brandt LVE127J – Lave-vaisselle encastrable 12 ...
Voir le deal
279.99 €

 

 strafejump 'maison' qui bug

Aller en bas 
4 participants
AuteurMessage
vegetalain
Spectre



Nombre de messages : 115
Clan(s) : ( Aucun )

strafejump 'maison' qui bug Empty
MessageSujet: strafejump 'maison' qui bug   strafejump 'maison' qui bug EmptyDim 25 Juin 2023, 17:16

Bonjour tout le monde Smile

Je tente de bricoler un script qui se déclenche dès que l'on franchit la ligne de départ de la course. Il faut appuyer sur les touches "avancer" et "droite" (ou gauche), pour progresser... un peu à la façon des "deFrag Movie" visibles sur youtube mais en plus simple mdr...

Bref, ça bug. Voici ce qui ne va pas : si dans le script je laisse "zevitesse", je n'avance pas... sinon ça fonctionne si je mets "0.3*5" ça marche, on va bien plus vite. "zevitesse" s'affiche bien à l'écran et augmente, mais c'est juste à l'affichage. Comme le but est d'augmenter la vitesse à chaque fois que l'on saute, je... bloque  Razz

Quelqu'un pourrait-il me dire où je me gourre afin que ça fonctionne svp?

Merci de vos conseils et bonne semaine  Cool

Code:

#include "zcommon.acs"

int zevitesse;

script 80 OPEN
{
   HudMessage(s:"Vitesse: ", i:zevitesse; HUDMSG_PLAIN, 1, CR_YELLOW, 0.9, 0.05, 1.0);
   Delay(1);
   Restart;
}
// -------------------------------------------------------------------------------------------------
script 1 (void)
{
   int buttons;
   while (TRUE)
   {
      buttons = GetPlayerInput(-1, INPUT_BUTTONS);

      if ((buttons & BT_JUMP))
      {
         zevitesse++;
      }

      if ((buttons & BT_FORWARD && buttons & BT_MOVELEFT) || (buttons & BT_FORWARD && buttons & BT_MOVERIGHT))
      {
         SetActorProperty(0, APROP_Speed, zevitesse); http://0.3*5);   //vitesse acceleree
         SetActorProperty(0, APROP_JumpZ, 0.4*22);   //hauteur de saut augmente
      } else {
         SetActorProperty(0, APROP_Speed, 0.1*5);   // vitesse normale (a mon avis...)
         SetActorProperty(0, APROP_JumpZ, 0.5*15);   // hauteur de saut normale (je pense))
      }
      delay(1);
   }


}
Revenir en haut Aller en bas
shotgun_jo
Démon
shotgun_jo


Nombre de messages : 90
Age : 44
Localisation : Nantes
Clan(s) : ( Aucun )

strafejump 'maison' qui bug Empty
MessageSujet: Re: strafejump 'maison' qui bug   strafejump 'maison' qui bug EmptyLun 26 Juin 2023, 15:12

Perso je ne pourrai pas t'aider, je n'ai que de pauvre base en langage C et ne connais pas du tout l'ACS.
As-tu essayé le débogage du pauvre ? J'entends par là, à chaque étape tu fais un print pour voir si tu as bien le résultat souhaité ou du moins un résultat qui s'affiche. Smile

Pas besoin de double parenthèse pour if (buttons & BT_JUMP), mais ça n'est pas le problème.

Si je comprends un peu, "int zevitesse" est une variable globale, mais quelle valeur a-t-elle ?

Dans les paramètres de la fonction HudMessage ne faut-il pas mieux mettre d:zevitesse au lieu de i:zevitesse ?

vegetalain aime ce message

Revenir en haut Aller en bas
[WH]-Wilou84
Rêveur perpétuel
[WH]-Wilou84


Nombre de messages : 30927
Age : 40
Localisation : Paris, France

strafejump 'maison' qui bug Empty
MessageSujet: Re: strafejump 'maison' qui bug   strafejump 'maison' qui bug EmptyLun 26 Juin 2023, 19:03

Hello,

Je n'ai jamais fait de script ACS non plus, tu t'y connais certainement plus que moi, mais on va essayer de réfléchir un peu Smile

En regardant le ZDoom Wiki, on voit que APROP_Speed est de type "Fixed point" et non "integer".
Peut-être as-tu une conversion à faire sur "zevitesse" avant d'essayer de faire le SetActorProperty sur APROP_Speed ?

_________________
Un peuple qui élit des corrompus, des renégats, des imposteurs, des voleurs et des traîtres n'est pas victime !
Il est complice.

George Orwell

vegetalain aime ce message

Revenir en haut Aller en bas
https://dsdarchive.com/players/william_huber
vegetalain
Spectre



Nombre de messages : 115
Clan(s) : ( Aucun )

strafejump 'maison' qui bug Empty
MessageSujet: Re: strafejump 'maison' qui bug   strafejump 'maison' qui bug EmptyMer 28 Juin 2023, 16:08

Merci, j'ai supprimé les doubles parenthèses x), et depuis le moment de mon post, j'ai modifié le script. Alors "zevitesse" c'est le... multiplicateur qui va augmenter la vitesse.

Et depuis la modif' on dirait que ça marche "bien". Lorsque j'appuie sur "avancer" et "latéral droit", je vais plus vite. Et lorsque j'appuie aussi sur le bouton de saut, ça s'incrémente à l'écran en  haut droite, mais aussi au niveua de la vitesse du joueur, donc... c'est ce que je voulais, à un détail près :

En fait ça augmente tant que j'appuie sur le buoton de saut, ce qui fait que ça augmentre bien trop vite. L'idéal serait que ça augmente uniquement lorsque je relâche la touche de saut.

Il faudrait que ce soit genre :

Code:

if (buttons & BT_JUMP.released)
{
zevitesse++
}

Mais comme on peut le voir ci-dessus, je ne connais pas la synthaxe du coup, ça serait la nouvelle question de mon post mdr : comment ça pourrait s'écrire svp?

Sinon voilà le script avec l'incrémentation qui marche (mais trop vite, donc):

Code:

#include "zcommon.acs"

int zevitesse;

script 80 OPEN
{
   HudMessage(s:"Vitesse: ", i:zevitesse; HUDMSG_PLAIN, 1, CR_YELLOW, 0.9, 0.05, 1.0);
   Delay(1);
   Restart;
}
// -------------------------------------------------------------------------------------------------
script 1 (void)
{
   int buttons;
   while (TRUE)
   {
      buttons = GetPlayerInput(-1, INPUT_BUTTONS);

      if (buttons & BT_JUMP)
      {
         zevitesse++;
      }

      if ((buttons & BT_FORWARD && buttons & BT_MOVELEFT) || (buttons & BT_FORWARD && buttons & BT_MOVERIGHT))
      {
         SetActorProperty(0, APROP_Speed, 0.3*zevitesse);   //vitesse acceleree
         SetActorProperty(0, APROP_JumpZ, 0.4*22);         //hauteur de saut augmente
      } else {
         SetActorProperty(0, APROP_Speed, 0.1*5);         // vitesse normale (a mon avis...)
         SetActorProperty(0, APROP_JumpZ, 0.5*15);         // hauteur de saut normale (je pense))
      }
      delay(1);
   }

}
Revenir en haut Aller en bas
[WH]-Wilou84
Rêveur perpétuel
[WH]-Wilou84


Nombre de messages : 30927
Age : 40
Localisation : Paris, France

strafejump 'maison' qui bug Empty
MessageSujet: Re: strafejump 'maison' qui bug   strafejump 'maison' qui bug EmptyMer 28 Juin 2023, 22:21

vegetalain a écrit:
Il faudrait que ce soit genre :

Code:

if (buttons & BT_JUMP.released)
{
zevitesse++
}

Mais comme on peut le voir ci-dessus, je ne connais pas la synthaxe du coup, ça serait la nouvelle question de mon post mdr : comment ça pourrait s'écrire svp?
Là il te faudrait de vrais pros de l'ACS... Smile
Il y a peut-être des mods de gameplay sur les forums ZDoom qui contiennent la syntaxe que tu cherches.
Je pense par exemple à QCDE : https://zdoom.org/wiki/Quake_Champions:_Doom_Edition

Une recherche Google sur "site:zdoom.org ACS key release" ne donne pas grand chose à priori, mais les gens du forum ZDoom auront certainement de meilleures idées.

_________________
Un peuple qui élit des corrompus, des renégats, des imposteurs, des voleurs et des traîtres n'est pas victime !
Il est complice.

George Orwell
Revenir en haut Aller en bas
https://dsdarchive.com/players/william_huber
shotgun_jo
Démon
shotgun_jo


Nombre de messages : 90
Age : 44
Localisation : Nantes
Clan(s) : ( Aucun )

strafejump 'maison' qui bug Empty
MessageSujet: Re: strafejump 'maison' qui bug   strafejump 'maison' qui bug EmptyJeu 29 Juin 2023, 17:07

Alors il faudrait que tu compares l'état des bouttons (attention je ne te parle pas d'éventuelle problème d'acné ! Putain j'suis drôle).

Un truc genre :

if (buttons & BT_JUMP == 0 && oldbuttons & BT_JUMP == 1)

Il te faudra sûrement déclarer ta variable comme pour buttons :

int oldbuttons = GetPlayerInput (-1, INPUT_OLDBUTTONS);
Revenir en haut Aller en bas
gr!se
Spectre
gr!se


Nombre de messages : 103
Age : 14
Localisation : derrrière mon ordi

strafejump 'maison' qui bug Empty
MessageSujet: Re: strafejump 'maison' qui bug   strafejump 'maison' qui bug EmptyJeu 29 Juin 2023, 18:03

shotgun_jo a écrit:
(attention je ne te parle pas d'éventuelle problème d'acné ! Putain j'suis drôle).
ROFL

vegetalain a écrit:
quand j'aurai un peu de temps, j'essayerais de voir ce que je peux faire pour toi
Revenir en haut Aller en bas
Contenu sponsorisé





strafejump 'maison' qui bug Empty
MessageSujet: Re: strafejump 'maison' qui bug   strafejump 'maison' qui bug Empty

Revenir en haut Aller en bas
 
strafejump 'maison' qui bug
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» et voici l avatar + signature fait maison de big slaughter

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