• 09 Juillet 2025, 12:55:26


Auteur Sujet: SetTimer pour tous ?  (Lu 2532 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
SetTimer pour tous ?
« le: 03 Septembre 2007, 22:46:49 »
Bonjour, J'aimerait savoir comment mettre un SetTimer en ALL (Pour tout le monde sur le serveur..).

Merci d'avance et passer une bonne journer !  :D

Ordixp  ;)

Hors ligne Gr0und3r

  • ~Scripteur[A]~
  • *
  • Tueur en série
  • SiX Feet UnderGround
  • Messages: 108
    • Voir le profil
    • Site Sa-mp
Re : SetTimer pour tous ?
« Réponse #1 le: 03 Septembre 2007, 23:08:46 »
Bonjour !
Pourquoi tu veut mettre un Timer?

Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #2 le: 03 Septembre 2007, 23:18:56 »
bien pour un truc  ;) moi je demande comment mettre pour tous (en all)  ;)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #3 le: 03 Septembre 2007, 23:47:20 »
Ben en fait, c'est simple, tu appelles le fonction SetTimer et Ho !!, magie, il est pour tout le monde.
Juste pour dire qu'un timer n'est pas lié à un joueur et qu'il est forcément pour tout le monde.
Après ça depend de ce que tu fais dans le fonction du timer.

++
Syg
Courtesy of GtaManiac

Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #4 le: 03 Septembre 2007, 23:51:22 »
Bien ou que j'ai mis le SetTimer bien il y a une boucle... (Donc il faut mettre le i) Sinon il ne démare pas...  ;)

EDIT: J'atend toujours une réponse de votre part...  ;)
« Modifié: 04 Septembre 2007, 00:20:45 par ordixp »

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #5 le: 04 Septembre 2007, 01:42:02 »
Je n'ai pas compris ce que tu veux dire.
La fonction SetTimer n'admet que trois paramètres qui sont le nom de la fonction à appeler (entre quotes ""), la durée avant l'appel à la fonction ci-avant et un indicateur de répétition (true=on répète l'appel à la fonction, false=on appelle la fonction qu'une seule fois).
Je ne vois pas ce que viens faire le i là dedans. A moins que ce ne soit une variable de la fonction du timer.

Essaies d'expliquer mieux ton problème ou de poster la partie de ton script qui te pose problème (dans le pastebin).

++
Syg
Courtesy of GtaManiac

Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #6 le: 04 Septembre 2007, 02:01:48 »
je peut pas mettre une boucle car sinon le Timer ne souvra pas apres 2minute... ::) ;)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #7 le: 04 Septembre 2007, 09:45:06 »
Où est-ce que tu ne peux pas mettre de boucle, dans le timer, autour de l'appel à SetTimer ?
Et deux minutes, ça correspond à quoi, la durée de ton timer ?

Si tu fais pas l'effort d'expliquer mieux, on ne pourra pas t'aider correctement.
Donc essaies d'expliquer ton problème clairement et n'aies pas peur d'écrire plusieurs lignes.
Et si c'est parce que tu ne veux pas dévoiler ce que tu veux faire avec ton Timer de peur que l'on te piques ton idée et bien .... je ne sais pas, inventes.

++
Syg
Courtesy of GtaManiac

Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #8 le: 05 Septembre 2007, 00:03:37 »
Ouais je voulait pas trop parler vue que s'est chiant de parler sur sa PSP...  ::) Bon retournons au script..  :D

public Originalcheckpoint(playerid) {
    for(new i=0; i<MAX_PLAYERS; i++)
    if(gTeam[playerid] == TEAM_DEFENCE) {
    gPlayerCheckpointStatus[playerid] = CHECKPOINT_PLANE;
    SetPlayerCheckpoint(playerid,-2169.7300,-2394.4500,30.4700,10.0);
    }
    else if(gTeam[playerid] == TEAM_ATTACK) {
    gPlayerCheckpointStatus[playerid] = CHECKPOINT_AREA51;
    SetPlayerCheckpoint(playerid,-2169.7300,-2394.4500,30.4700,10.0);
    }
  return 1;
  }

J'ai fait cela mais cela ne fonctionne pas... :'( J'atend vos réponse  ;)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #9 le: 05 Septembre 2007, 01:26:02 »
Dans ton bout de script, tu n'utilise jamais la variable i.

Est-ce que c'est pas plutôt ça que tu voulais écrire :
public Originalcheckpoint()
{
    for(new j=0; j<MAX_PLAYERS; j++)
    if (IsPlayerConnected (j))
    if(gTeam[j] == TEAM_DEFENCE)
    {
        gPlayerCheckpointStatus[j] = CHECKPOINT_PLANE;
        SetPlayerCheckpoint(j,-2169.7300,-2394.4500,30.4700,10.0);
    }
    else if(gTeam[j] == TEAM_ATTACK)
    {
        gPlayerCheckpointStatus[j] = CHECKPOINT_AREA51;
        SetPlayerCheckpoint(j,-2169.7300,-2394.4500,30.4700,10.0);
    }
    return 1;
}
    Note : J'ai mis j au lieu de i sinon ça faisait la balise pour l'italique.
Il suffit maintenant d'appeler cette fonction une seule fois pour que tous les joueurs connectés aient un checkpoint en fonction de leur team.

Mais il serait plus judicieux de faire une fonction pour un seul joueur qui serait appeler au moment du spawn par exemple (OnPlayerSpawn) :
public Originalcheckpoint(playerid)
{
    if(gTeam[playerid] == TEAM_DEFENCE)
    {
        gPlayerCheckpointStatus[playerid] = CHECKPOINT_PLANE;
        SetPlayerCheckpoint(playerid,-2169.7300,-2394.4500,30.4700,10.0);
    }
    else if(gTeam[playerid] == TEAM_ATTACK)
    {
        gPlayerCheckpointStatus[playerid] = CHECKPOINT_AREA51;
        SetPlayerCheckpoint(playerid,-2169.7300,-2394.4500,30.4700,10.0);
    }
    return 1;
}

En plus, ça éviterait un timer.

Dernière remarque, les coordonnées de tes deux checkpoints sont les mêmes. Mais ça je te laisse corriger.

++
Syg
Courtesy of GtaManiac

Hors ligne MultiGamers

  • *
  • Grand Banditisme
  • Serveur à bas prix ! ;)
  • Messages: 857
    • Voir le profil
Re : SetTimer pour tous ?
« Réponse #10 le: 05 Septembre 2007, 01:29:16 »
Euh met cela ne va pas faire pour tout le monde ? car sinon sa va le faire pour tout le monde et status du checkpoint sera pas bien atribuer (la mauvaise...)  ;)