• 06 Mai 2025, 03:10:35


Auteur Sujet: Spectateur  (Lu 1703 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Spectateur
« le: 02 Mai 2008, 19:00:36 »
Bonjourrrr tout le monde  :)
Voila mon ptit soucis:
Jai récupéré le mode counter strike sur samp mais est ce qu'il serai possible d'y ajouter un truc de spectateur pendant quelques secondes apré notre mort puis etre respawner ??
Ex: je me fait tuer, re suis en spectateur du mec qui ma tuer pendant 10sec et je suis respawner.
Jesper que vous comprenez ;)
Merci d'avaaance...

++
nikko

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Spectateur
« Réponse #1 le: 02 Mai 2008, 19:05:38 »
C'est possible, tu fait dans ton OnPlayerDeath Un timer, avec celui qui ta killé dedans tu met :


      TogglePlayerSpectating(playerid, 1);
      PlayerSpectatePlayer(playerid, killerid);
      SetPlayerInterior(playerid,GetPlayerInterior(killerid));
      gSpectateID[pid] = killerid;
      SetCameraBehindPlayer(killerid);
      gSpectateType[killerid] = ADMIN_SPEC_TYPE_PLAYER;
      return 1;
}


Tu le met dans ton timer, pendant je ne sais pas, 5 secondes, c'est a peut prêt ça dans counter ;)

Une fois ton timer terminé, tu refais spawné ton perso et tu met ça :

   TogglePlayerSpectating(playerid, 0);
   gSpectateID[playerid] = INVALID_PLAYER_ID;
   gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
   return 1;
}

voila ^^
« Modifié: 02 Mai 2008, 19:07:36 par [StAfF]mAn »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Spectateur
« Réponse #2 le: 02 Mai 2008, 19:11:01 »
Jai placer tout ca dans oneplayerdeath:

   TogglePlayerSpectating(playerid, 1);
         PlayerSpectatePlayer(playerid, killerid);
         SetPlayerInterior(playerid,GetPlayerInterior(killerid));
         gSpectateID[pid] = killerid;
         SetCameraBehindPlayer(killerid);
         gSpectateType[killerid] = ADMIN_SPEC_TYPE_PLAYER;
         return 1;
   }
   TogglePlayerSpectating(playerid, 0);
      gSpectateID[playerid] = INVALID_PLAYER_ID;
      gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
      return 1;
   }

4 erreur a la ligne 184 ( gSpectateID[pid] = killerid; ), symboles indéfinies pour pid et gSpectateID.

Mais tu peu me montrer quest ce que je doit metre comme timer ?? Stp  :-[

++
nikko
« Modifié: 02 Mai 2008, 19:17:55 par nikko12 »

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Spectateur
« Réponse #3 le: 02 Mai 2008, 19:34:29 »
Ha mais non tu met le timer dans le OnPlayerDeath, et après tu fait un forward du timer dans lequel tu met le code pour remettre le player

En gros sa fera ça :

En haut :

forward counter(); (exemple)
new dmcounter[MAX_PLAYERS];
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];  (pour tes erreurs de undefined)

Dans ta commande pour aller au dm

dmcounter[playerid] = 1;

Après dans ton OnPlayerDeath :

if(dmcounter[playerid] == 1){
SetTimer("counter", 5000, 1); (pour 5 secondes)
   TogglePlayerSpectating(playerid, 1);
         PlayerSpectatePlayer(playerid, killerid);
         SetPlayerInterior(playerid,GetPlayerInterior(killerid));
         gSpectateID[pid] = killerid;
         SetCameraBehindPlayer(killerid);
         gSpectateType[killerid] = ADMIN_SPEC_TYPE_PLAYER;
         return 1;
   }

Voila, et dans ton public du timer :

public counter()
{
   TogglePlayerSpectating(playerid, 0);
   gSpectateID[playerid] = INVALID_PLAYER_ID;
   gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
  SendClientMessage(playerid, COLOR_RED,"Respawn");
  return 1;
}

Voila en gros ton code ;)
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Spectateur
« Réponse #4 le: 02 Mai 2008, 22:05:02 »
Nn, cest pas un DM :lmao cest un mode. En gros, tu arrive, tu a ct ou terro, et tu joue direct ac des timer pour amortcer la bombe et la desamorcer ....
Donc ce nest pas un DM, voila si tu pu me remettre les code en prenant compte de ca ;) Merciii

++
nikko

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Spectateur
« Réponse #5 le: 04 Mai 2008, 23:14:03 »
Donc heu, bah tu a juste a enlever le "dmcounter[playerid] = 1;" ... C'est tout lol, par contre dès que quelqu'un te tuera tu ne pourra plus jouer pendant 5 secondes mais tu verra celui qui ta tuer, c'est tout, donc bah dans ce cas le code sera :


forward counter(); (exemple)
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];  (pour tes erreurs de undefined)

OnPlayerDeath :
{ // cette accolade c'est celle du OnPlayerDeath, tu na pas besoin de la mettre elle y est déjà
SetTimer("counter", 5000, 1); (pour 5 secondes)
   TogglePlayerSpectating(playerid, 1);
         PlayerSpectatePlayer(playerid, killerid);
         SetPlayerInterior(playerid,GetPlayerInterior(killerid));
         gSpectateID[pid] = killerid;
         SetCameraBehindPlayer(killerid);
         gSpectateType[killerid] = ADMIN_SPEC_TYPE_PLAYER;
         return 1;
   }

public counter()
{
   TogglePlayerSpectating(playerid, 0);
   gSpectateID[playerid] = INVALID_PLAYER_ID;
   gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
  SendClientMessage(playerid, COLOR_RED,"Respawn");
  return 1;
}

Voila c'est tout ^^
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|