GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: [StAfF]MaN le 22 Février 2008, 18:18:27

Titre: Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 18:18:27
Salut ^^ alors voila, j'ai créé mes zones DM (sans faire de zones, avec des grillages c plus fun ^^ ) Et j'aimerais bien que quand un player meurt, il respawn de lui même dans le DM, c'est plus cool que de refaire la commadnde a chaque fois. J'ais entendu qu'il fallais mettre un bool mais je ne sais pas manipuler ce genre de choses ;) Je vous demande donc un petit coup de main ;) Merci d'avance ^^  :king
Titre: Re : Tite question pour DM
Posté par: Franky™ le 22 Février 2008, 18:32:25
Ba sa tombe bien car je pensais à posé la meme question.

Car sur mon Serveur la personne fait /dm mais pour sortir elle doit aller sur un icon et faire /exitdm, mais quand une personne meure dans le DM elle spawn directement au spawn d'origine.


Donc ma question revien à la meme question de [StAfF]mAn

Merci à vous

Cordialement Franky Patou
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 22 Février 2008, 18:40:32
Je pense que il faut faire 1 variables qui dit : Si il est dans un DM

Si il meurt, il est respawn donc si il est spawn et qu'il a la variable, eh bien on le met dans le DM !

Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 18:43:04
/hs Lol ^^ Vive nous ^^\hs

Le bool ou le array en question c'est du style : IsPlayerDM[playerid] = 0 mais je ne sais pas comment l'utiliser, enfin ou le mettre et qu'est ce qui faut faire après quoi...

 édit: Pour LePro, comme j'ai fais plusieurs zones, faut que je fasse plusieurs variable, pour le DM, DM1, DM2 etc... ?? ça parrait logique, mais il serait possible de tout regrouper en une seule variable ??
Titre: Re : Tite question pour DM
Posté par: Franky™ le 22 Février 2008, 18:44:37
moi les Variable c'est pas trop mon truc.^^

[HS] Et oui vive nous ^^ [/HS]
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 22 Février 2008, 18:52:25
Franky : Variable = super simple !

Alors

En haut :

new DM[MAX_PLAYERS];
On lance l'action qui l'agrandie à 1 quand le joueur se téléporte dans ta zone de DM :
DM[playerid] = 1;
Quand il est en train de mourir on fait rien(lol) mais quand il est spawné, on va le remetre dans son DM

public OnPlayerSpawn(playerid)
{
     if(DM[playerid] ==1)//si la variable = 1
     {
//action à faire
     }else if(DM[playerid] ==0) {//si la variable = 0
//là on fait rien...
     }
}

Voilà !
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 18:56:46
Ok mici de la réponse je vais essayer de reproduire ça ;)

thx thx ^^
Titre: Re : Tite question pour DM
Posté par: S!m le 22 Février 2008, 18:57:32
salut a tous,

comme le dit lepro, c'est super simple

si tu veut faire plusieurs dm, tu ne fait que rajouter plusieures valeurs différentes pour la variable, si le joueur va au dm 1, dm = 1, si il va au 2e dm =2......
donc:
public OnPlayerSpawn(playerid)
{
     if(DM[playerid] == 2) {//si la variuable = 2
     { //on le spawn au dm 2 ......
     }else if(DM[playerid] ==1)//si la variable = 1
     {
     //spawn dm 1
     }else if(DM[playerid] ==0) {//si la variable = 0
//là on met le spawn original
     }
}


et voila, je ne fait que completer lepro

++Sim++
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 22 Février 2008, 18:58:05
Man ton Edit je comprend pas trop...

Si tu à plusieur zone je pense que oui il faudrais faire plusieur variable...

 ;)

EDIT : Ou alors tu suit le conseil de SIM (j'ai poster en même temps qu'il postais... ;) )
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 18:59:28
ba en faite ta compris :p
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 19:34:27
Bon j'ai  2 petites erreurs et un warning :

C:\Documents and Settings\********\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(720) : error 029: invalid expression, assumed zero
C:\Documents and Settings\********\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(720) : warning 215: expression has no effect
C:\Documents and Settings\********\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(720) : error 001: expected token: ";", but found "if"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

    if(DM[playerid] == 1)
    {
    SetPlayerPos(playerid,-1317.4471,2508.7642,87.0420);
    {
    else if(DM[playerid] == 2) /// ligne 720
    {
    SetPlayerPos(playerid,-2347.6570,1557.1335,23.1481);
    }
    else if(DM[playerid] == 3)
    {
    SetPlayerPos(playerid,-1831.6189,570.9436,234.8874);
    }
    else if(DM[playerid] == 4)
    {
    SetPlayerPos(playerid,-89.5422,-33.4034,6.4844);
    }
    else if(DM[playerid] == 5)
    {
    SetPlayerPos(playerid,-1423.3300,1488.9124,1.8672);
    }
   }
  }
 }

??  :-\
Titre: Re : Tite question pour DM
Posté par: S!m le 22 Février 2008, 19:52:10
Salut,

voila une petite erreur de rien


   if(DM[playerid] == 1)
    {
    SetPlayerPos(playerid,-1317.4471,2508.7642,87.0420);
    }
    else if(DM[playerid] == 2) /// ligne 720
    {
    SetPlayerPos(playerid,-2347.6570,1557.1335,23.1481);
    }
    else if(DM[playerid] == 3)
    {
    SetPlayerPos(playerid,-1831.6189,570.9436,234.8874);
    }
    else if(DM[playerid] == 4)
    {
    SetPlayerPos(playerid,-89.5422,-33.4034,6.4844);
    }
    else if(DM[playerid] == 5)
    {
    SetPlayerPos(playerid,-1423.3300,1488.9124,1.8672);
    }
   }
  }
 }

++Sim++
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 19:54:36
 :dry j'ai honte ...  :lmfao

Merci beaucoup ;)
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 20:25:29
C'est encore moi ^^ Voila j'ais mis des couleur, pour faire des team DM, rouge et violet, en tapant une commande comme ça le perso choisi sa team comme il veut. Et en faite, quand on fait /qDMrouge, par exemple, c'est la commande pour quitter la team rouge en DM, ba le perso doit récupérer sa couleur d'origine, mais il y a un prob, j'arrive a ce que ça fasse ça... Le perso garde la couleur du DM...

Est ce que quelqu'un peut m'aider ?? j'ais mis ça dans ma commande /qDMrouge

}
    else if(strcmp(cmdtext,"/qDMrouge", true)==0){
    new playerdm[MAX_PLAYER_NAME];
    new PlayerConnecteddm[256];
    GetPlayerName(playerid, playerdm, sizeof(playerdm));
    format(PlayerConnecteddm, sizeof(PlayerConnecteddm), "Le player %s a quitté la team rouge", playerdm);
    SendClientMessageToAll(COLOR_YELLOW, PlayerConnecteddm);
GetPlayerColor(playerid);
return 1;
}

Sinon y a encore autre chose ^^

J'arive pas a insérer de else if pour si le perso n'est pas dans la zone DM approprié a la commande pour quitter cette zone, il ne puisse pas faire la commande pour quitter justement.

Si le perso est dans le DM4 et qu'il fait la commande pour quitter le DM2, que ça affiche un message d'erreur.

Voila ;)
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 22 Février 2008, 20:54:15
2eme error bête : SetPlayerColor, pas Gt ;)
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 20:57:44
Mais avec le SetPlayerColor je doit mettre une couleur, ou je peu mettre classid ?? parce que j'ai pas mal de class de player avez des couleurs différentes et ça me ferais faire un script assez conséquent...

Edit: Je pense avoir trouvé, on peut mettre gTeam[playerid] dedans, je pense que ça marche ^^

Edit: Encore moi, oui... Voila donc pour les messages j'ais essayé quelques truks mais sa ne fonctionnent pas :

    else if(strcmp(cmdtext,"/qDM4", true)==0){
    SendClientMessageToAll(COLOR_BLUE,"Un joueur a quitté la zone DM4");
    SetPlayerInterior(playerid,0);
    DM[playerid] = 0;
    new rand = random(sizeof(PlayerSpawns));
    SetPlayerPos(playerid, PlayerSpawns[rand][0], PlayerSpawns[rand][1], PlayerSpawns[rand][2]);// place le joueur
    SetPlayerColor(playerid, gTeam[playerid]);
return 1;
}else{
    if(DM[playerid]== 1){
    if(DM[playerid]== 2){
    if(DM[playerid]== 3){
    if(DM[playerid]== 5){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 1, 2, 3 ou 5, tu ne peut pas quitter une zone ou tu ni est pas");
}
}
}
}
}

la ligne 2500 est la ligne juste après tout ça...
et mes erreurs :
C:\Documents and Settings\******\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(2500) : error 029: invalid expression, assumed zero
C:\Documents and Settings\******\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(2500) : warning 215: expression has no effect
C:\Documents and Settings\******\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(2500) : error 001: expected token: ";", but found "if"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 22 Février 2008, 21:58:06
C'est à cause du else, il n'y a pas deif avant ca !
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 22:00:58
Quoi ?? Excuse mais j'ais pas bien compris, c'est a cause du esle, mais il n'y a pas de IF avant.. Je doit ajouter quoi ?? éclaire moi stp c'est flou la  :laugh

edit : Alors j'ais ajouté ça :

    else if(strcmp(cmdtext,"/qDM4", true)==0){
    if(DM[playerid] = 4){ ///////////////////////////////////////////////////////////////<<<<<<<<<<<Ajout
    SendClientMessageToAll(COLOR_BLUE,"Un joueur a quitté la zone DM4");
    SetPlayerInterior(playerid,0);
    DM[playerid] = 0;
    new rand = random(sizeof(PlayerSpawns));
    SetPlayerPos(playerid, PlayerSpawns[rand][0], PlayerSpawns[rand][1], PlayerSpawns[rand][2]);// place le joueur
    SetPlayerColor(playerid, gTeam[playerid]);
return 1;
}else{
    if(DM[playerid]== 1){
    if(DM[playerid]== 2){
    if(DM[playerid]== 3){
    if(DM[playerid]== 5){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 1, 2, 3 ou 5, tu ne peut pas quitter une zone ou tu ni est pas");
}
}
}
}
}
}/////////////////////////////////////////////////////////////////////////////////<<<<<<<<<<<<<< Ajout

et j'ais plus qu'un warning :
C:\Documents and Settings\*******\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(2482) : warning 211: possibly unintended assignment
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.

C'est quoi le prob ?? je l'avais jamais vue ce warning  :blink

2482 c'est la 1er ligne ajoutée
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 22 Février 2008, 22:11:06
Si j'ai bien compté, le warning viens du else. Il faut donc enlever le "{" juste après ton else...

PS : J'avais pas vu que tu a mis que la ligne 2482 été la ligne ajouté...
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 22:12:21
Pawno crash si je fait ça...
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 22 Février 2008, 22:15:34
Bon tu fais :

else if( DM[playerid == 1 && 2 && 3 enfin un truk du genre je sais plus lol...
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 22:21:40
toujours le même warning mdr ^^

    else if(strcmp(cmdtext,"/qDM4", true)==0){
    if(DM[playerid] = 4){
    SendClientMessageToAll(COLOR_BLUE,"Un joueur a quitté la zone DM4");
    SetPlayerInterior(playerid,0);
    DM[playerid] = 0;
    new rand = random(sizeof(PlayerSpawns));
    SetPlayerPos(playerid, PlayerSpawns[rand][0], PlayerSpawns[rand][1], PlayerSpawns[rand][2]);// place le joueur
    SetPlayerColor(playerid, gTeam[playerid]);
return 1;
}else{
if(DM[playerid] == 1 && 2 && 3 &&5){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 1, 2, 3 ou 5, tu ne peut pas quitter une zone où tu n'y est pas");
}
}
}

C:\Documents and Settings\*******\Bureau\sa-mp 2.2 r2\gamemodes\truk.pwn(2482) : warning 211: possibly unintended assignment
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.

et on peut mettre ça aussi

if(DM[playerid] == 1 & 2 & 3 & 5){

Je ne sais pas ce que ça change  :blink
Titre: Re : Re : Tite question pour DM
Posté par: UrbanGhetto le 22 Février 2008, 22:23:30
Bon tu fais :

else if( DM[playerid == 1 && 2 && 3 enfin un truk du genre je sais plus lol...

Tu veut dire :

Code: (cpp) [Sélectionner]
else if(DM[playerid]==1 && DM[playerid]==2 DM[playerid]==3){
Enfin je crois...
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 22:26:46
Le else IF fonctionne pas, ça me fait 2 erreurs, les mêmes qu'avant le warnings....

Sinon pour les couleurs, PTDR !! Ba faut pas mettre gTeam[playerid], sinon le player devient noir.... enfin dans le panneau "tab" ^^ Donc je ne sais pas quoi mettre :s
Titre: Re : Tite question pour DM
Posté par: UrbanGhetto le 22 Février 2008, 22:33:03
Ah je vois ce que tu veut faire.

Code: (cpp) [Sélectionner]
if(DM[playerid]==0){/* Si aucun DM n'est activé pour le joueur */
SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 1, 2, 3 ou 5, tu ne peut pas quitter une zone où tu n'y est pas");
if(DM[playerid]==1){
/*Actions*/
}else if(DM[playerid==2){
/*Actions*/
}else if(DM[playerid==3){
/*Actions*/
}else if(DM[playerid==4){
/*Actions*/
}else if(DM[playerid==5){
/*Actions*/
}
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 22:36:15
non c'est pour quand le player fait la commande pour quitter la zone DM : s'il tape une commande pour quitter une zone DM mais pas la bonne, je veut qu'un message s'affiche, c'est ça que je cherche faire ^^
Titre: Re : Tite question pour DM
Posté par: UrbanGhetto le 22 Février 2008, 22:39:13
Ben oui c'est exactement ce que j'ai fais  :closedeyes
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 22:44:45
Et je le place ou ton bout de code alors stp ^^  :D

Dans onPlayerRequestClass ??
Titre: Re : Tite question pour DM
Posté par: UrbanGhetto le 22 Février 2008, 22:57:22
Ben non, Dans ta commande, C'est bien ce que tu veut faire non ?

Code: (cpp) [Sélectionner]
if(strcmp(cmdtext,"/qDMrouge", true)==0){
if(DM[playerid]==0){/* Si aucun DM n'est activé pour le joueur */
SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 1, 2, 3 ou 5, tu ne peut pas quitter une zone où tu n'y est pas");
if(DM[playerid]==1){
/*Actions*/
}else if(DM[playerid==2){
/*Actions*/
}else if(DM[playerid==3){
/*Actions*/
}else if(DM[playerid==4){
/*Actions*/
}else if(DM[playerid==5){
/*Actions*/
}
return 1;
}
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 22 Février 2008, 23:06:26
Merci beaucoup Urban c'est bon ça fonctionne nickel ^^, heu, en faite, non, pas nickel nickel, il y a un ti défaut :

    else if(strcmp(cmdtext,"/qDM1", true)==0){
    if(DM[playerid]==0){/* Si aucun DM n'est activé pour le joueur */
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone DM, tu ne peut donc pas quitter de zone");
    }else if(DM[playerid]==1){
    SendClientMessageToAll(COLOR_BLUE,"Un joueur a quitté la zone DM1");
    SetPlayerInterior(playerid,0);
    DM[playerid] = 0;
    new classid;
    new rand = random(sizeof(PlayerSpawns));
    SetPlayerPos(playerid, PlayerSpawns[rand][0], PlayerSpawns[rand][1], PlayerSpawns[rand][2]);// place le joueur
    SetPlayerColor(playerid, classid);
    }else if(DM[playerid]==2){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 2");
    }else if(DM[playerid]==3){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 3");
    }else if(DM[playerid]==4){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 4");
    }else if(DM[playerid]==5){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 5");
    }
}

Quand je suis dans aucune zone DM le message s'affiche comme il faut, mais si je suis par exemple, dans la zone 1, que je tape /qDM3,ou une autre sauf /qDM1, par exemple, il m'affiche, "tu n'es pas dans la zone 1"
Si je suis dans la zone 2, que je tape, pareil, /qDM5 ou une autre sauf /qDM2, il m'affiche, "tu n'es pas dans la zone 2"

etc avec toutes les zones... J'ai retourner le prob en essayant de trouver mais rien :(... Quelqu'un peut m'aider ??
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 23 Février 2008, 08:54:12
J'ai pas vraiment compris... ;D
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 23 Février 2008, 14:25:56
Alors en faite, je vous explique en détail :

Un player est dans aucune zone, s'il tape une commande pour quitter une zone, un message s'affiche : "Tu n'es pas en zone DM, tu ne peut donc pas quitter de zone"

Un player est dans la zone DM 1, s'il tape une commande autre que /qDM1, un message s'affiche :

"Tu n'es pas en zone 2"    Pour la commande /qDM2

"Tu n'es pas en zone 3"    pour la commande /qDM3

"Tu n'es pas en zone 4"    pour la commande /qDM4

"Tu n'es pas en zone 5"    pour la commande /qDM5

Mais voila, c'est là qu'il y a un prob, quoi que le player fasse, Il y a le même message qui s'affiche : "Tu n'es pas en zone 1"

Et ce pour toute les commandes sauf la /qDM1 qui fonctionne comme il faut.

Pour la zone DM2, c'est pareil, sauf que le message est "Tu n'es pas en zone 2"

Alors que les messages devraient être :

"Tu n'es pas en zone 1"    Pour la commande /qDM1

"Tu n'es pas en zone 3"    pour la commande /qDM3

"Tu n'es pas en zone 4"    pour la commande /qDM4

"Tu n'es pas en zone 5"    pour la commande /qDM5

Etc... Est ce que vous avez compris mon problème ??

Le code pour la commande /qDM1 c'est :

    else if(strcmp(cmdtext,"/qDM1", true)==0){
    if(DM[playerid]==0){/* Si aucun DM n'est activé pour le joueur */
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone DM, tu ne peut donc pas quitter de zone");
    }else if(DM[playerid]==1){
    SendClientMessageToAll(COLOR_BLUE,"Un joueur a quitté la zone DM1");
    SetPlayerInterior(playerid,0);
    DM[playerid] = 0;
    new rand = random(sizeof(PlayerSpawns));
    SetPlayerPos(playerid, PlayerSpawns[rand][0], PlayerSpawns[rand][1], PlayerSpawns[rand][2]);// place le joueur
    }else if(DM[playerid]==2){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 2");
    }else if(DM[playerid]==3){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 3");
    }else if(DM[playerid]==4){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 4");
    }else if(DM[playerid]==5){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 5");
    }
}
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 23 Février 2008, 15:59:11
Ba faut faire ça :

  else if(strcmp(cmdtext,"/qDM2", true)==0){//si il tape la cmd /qDM2
    if(DM[playerid]==0){/* Si aucun DM n'est activé pour le joueur */
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone DM, tu ne peut donc pas quitter de zone");
    }else if(DM[playerid]==2){//si il est dans la zone 2
    SendClientMessageToAll(COLOR_BLUE,"Un joueur a quitté la zone DM1");
    SetPlayerInterior(playerid,0);
    DM[playerid] = 0;
    new rand = random(sizeof(PlayerSpawns));
    SetPlayerPos(playerid, PlayerSpawns[rand][0], PlayerSpawns[rand][1], PlayerSpawns[rand][2]);// place le joueur
    }else if(DM[playerid]==1){//on le remplace par 1
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 2");
    }else if(DM[playerid]==3){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 3");
    }else if(DM[playerid]==4){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 4");
    }else if(DM[playerid]==5){
    SendClientMessage(playerid,COLOR_RED,"Tu n'est pas en zone 5");
    }
}
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 23 Février 2008, 18:11:08
Attend,  je te met tous ce qui concerne les DM dans un Pastbin tu va voir :

http://pastebin.gtaonline.fr/pastebin.php?show=361

Voila ^^

ça fonctionne bien ^^
Titre: Re : Tite question pour DM
Posté par: Sismix84 le 23 Février 2008, 19:11:46
Je crois savoir pourquoi, au lieu de mettre :

Code: (cpp) [Sélectionner]
DM[playerid] = 2;
DM[playerid] = 3;
DM[playerid] = 4;
etc...

met ça :

Code: (cpp) [Sélectionner]
DM1[playerid] = 1;
DM2[playerid] = 1; /*Une variable pour chaque DM*/
DM3[playerid] = 1;
etc...

sans oublier d'ajouter de nouvelle variable :

Code: (cpp) [Sélectionner]
new DM1[playerid] = 0;
new DM2[playerid] = 0;
new DM3[playerid] = 0;
etc...
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 23 Février 2008, 19:12:25
Non ca change rien...
Titre: Re : Tite question pour DM
Posté par: Sismix84 le 23 Février 2008, 19:15:11
Comment ça change rien  ???
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 23 Février 2008, 20:05:56
Merci sismix mais le pastbin que j'ais mis est la solution ^^ Et effectivement ce que tu a mis ne changeais pas a mon problème. j'avais essayé ;)

Merci quand même ^^

Sinon reste les couleur, LePro ma expliqué comment faire, (il a fait un tour sur mon serveur ^^ ) Et je pense m'en sortir, je mettrai la solution quand je l'aurais scripté ^^

a++
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 23 Février 2008, 21:24:10
Re !!! alors j'ai réussi a faire ce que je voulais ^^ Pas complètement mais déjà une grosse partie :D

Quand un player a choisi une team (soit rouge, soit violet) et qu'il meurt, il garde la couleur qu'il avait choisi ^^

C'est déjà pas mal, ça m'a pris  1h50 montre en main pour trouver !! Voila le code si vous vouler voir a quoi ça ressemble :

 
http://pastebin.gtaonline.fr/pastebin.php?show=365

Me reste plus qu'a trouver comment faire pour quand un joueur tape /qDMrouge ou /qDMviolet pour que le player retrouve sa couleur Initiale de jeu.... pas simple...
Titre: Re : Tite question pour DM
Posté par: ApocKalipsS le 24 Février 2008, 10:29:32
Citer
Me reste plus qu'a trouver comment faire pour quand un joueur tape /qDMrouge ou /qDMviolet pour que le player retrouve sa couleur Initiale de jeu.... pas simple...

Je t'ai déjà expliquer comment faut faire :...

Et puis sur ton Pastbin, ca marche çà nan ? Tu as un SetPlayerColor et un GetPlayerColor...
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 24 Février 2008, 11:19:26
Ba oui je sais ^^ Mais j'arrive pas, j'ais mis un GetPlayerColor(color); Avec son new.

Après, ba comme tu ma dit, un SetPlayerColor(playerid, lacouleurquej'aismis (soit rouge ou violet suivant la cmd) );

Et une fois que la commande a été quitté avec /qdmrouge, ou /qdmviolet, j'ais mis le SetPlayerColor (playerid, color); avec le new aussi.

Mais ça ne marche pas.... Donc voila.

Concernant le pastebin, ce qu'il fait le code que j'ai donné, c'est qu'il permet au player de garder sa couleur au personnage quand il a choisi une couleur (rouge ou violet) et qu'il meurt.

C'est tout ^^

Voila, donc quelqu'un peut m'aider ^^


Edit :

Voila ^^ je suis content j'ai réussi, avec une méthode longue, mais j'ai réussi ^^

Code fonctionnant :

http://pastebin.gtaonline.fr/pastebin.php?show=366
Titre: Re : Tite question pour DM
Posté par: Sismix84 le 24 Février 2008, 13:07:51
Dans le pastbin, tu n'utilise pas correctement ces deux fonctions. Dans ta commande /DMrouge tu met par exemple :

Code: (cpp) [Sélectionner]
DMrouge[playerid] = GetPlayerColor(playerid);
et dans la commande /qDMrouge, tu met :

Code: (cpp) [Sélectionner]
SetPlayerColor(playerid, DMrouge[playerid]);
sans oublier :

Code: (cpp) [Sélectionner]
new DMrouge[MAX_PLAYERS];
tout en en haut.

Tu fait la même chose pour ton DMviolet

J'èspère t'avoir aidé ;)
Titre: Re : Tite question pour DM
Posté par: [StAfF]MaN le 24 Février 2008, 22:36:15
J'ais pas besoin de mettre quelque chose dasn OnPlayerSpawn ou OnPlayerRequestClass ??