• 17 Mai 2024, 21:56:52


Auteur Sujet: Limitation de térritoire  (Lu 5626 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Limitation de térritoire
« Réponse #15 le: 27 Août 2009, 19:59:30 »
Alors, tu fait un
new FragEquipe1new FragEquipe2etc..

Ensuite dans OnPlayerDeath
Tu met :
new victimteam = gTeam[playerid];
new killerteam = gTeam[killerid];

Ensuite tu met si la team 1 a tué la team 2, alors FragEquipe 1 a +1 dans sa variable.
Bon c'est mal expliqué, mais tu peux comprendre ><


++
ApocKalipsS

Hors ligne GTK_Xt4Zii3

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Limitation de térritoire
« Réponse #16 le: 27 Août 2009, 20:23:54 »
merci, néanmoins j'aimerais un peux t'aide ^^

Code: (pawn) [Sélectionner]
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(599) : error 035: argument type mismatch (argument 1)
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(610) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(610) : error 017: undefined symbol "SetPlayerToTeamColour"

J'voudrais , si il y a moyen de m'expliqué chacun des différent cas ?

Oubliez quelque chose ou bien quelque chose d'autre ? Je dois faire quoi ?

Merci d'avance +


Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Limitation de térritoire
« Réponse #17 le: 27 Août 2009, 21:21:07 »
Slt

Si tu veux moi je compte les kills des joueurs en faisant (ex: ci contre entre des ballas et des vagos):

à mettre tout en haut:

new killvagosfull;
new killballasfull;



à mettre dans oneplayerdeath en vérifiant que les joueurs est bien un ballas ou un vagos ( moi je le vérifié avec une variable ex:
ballas[MAX_PLAYERS] et vagos[MAX_PLAYERS]:

killvagosfull ++;
Killballasfull ++;

A+ :D




Hors ligne GTK_Xt4Zii3

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Limitation de térritoire
« Réponse #18 le: 27 Août 2009, 21:27:05 »
Merci, car enfaite j'ai deja les code pour donner ou bien +1 ou bien -1 a la team gagnante/perdante me faudrait juste qu'il reconnaisse quel team reussis a avoir 25 kill en premiers ...

PS : [HS] LPC tu peux te connecter sur msn ? [/HS]

Double post
il me reste une erreur => C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(607) : error 002: only a single statement (or expression) can follow each "case"

dans ce code (Dsl je suis débutant ^^) :
Code: (pawn) [Sélectionner]
//---------------------------------------------------------



public OnPlayerSpawn(playerid)

{

switch (gPlayerClass[playerid]) {

case 0, 1:

{

 GameTextForAll("La premiere equipe a 25 Frag Gagne!", 2000, 5);

}


{
        if(gTeam[playerid] == TEAM_ATTACK) {

SetPlayerColor(playerid,COLOR_RED); // Red

} else if(gTeam[playerid] == TEAM_DEFENCE) {

    SetPlayerColor(playerid,COLOR_GREEN); // Green

}

    return 1;
}
« Modifié: 27 Août 2009, 21:52:22 par GTK_Xt4Zii3 »

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Limitation de térritoire
« Réponse #19 le: 28 Août 2009, 09:43:44 »
Fait plutôt comme ça :
public OnPlayerSpawn(playerid)
{
GameTextForAll("La premiere equipe ayant 25 Frags Gagne!", 2000, 5);
if(gTeam[playerid] == TEAM_ATTACK)
{
SetPlayerColor(playerid,COLOR_RED); // Red
}
else if(gTeam[playerid] == TEAM_DEFENCE)
{
SetPlayerColor(playerid,COLOR_GREEN); // Green
}
    return 1;
}

Ensuite Xt4Zii3, tu peux mettre dans OnPlayerDeath :

if(gTeam[killerid] == TEAM_ATTACK && gTeam[victimid] == TEAM_DEFENCE) // Si la team ATTACK a tuer qqn + si la victime est de la team defence...
{
FragTeam_Attack ++;// Alors on monte la variable de +1 pour les FragTeam_Attack
SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
}
else if(gTeam[killerid] == TEAM_DEFENCE && gTeam[victimid] == TEAM_ATTACK)// pareil que touit à l'heure mais inversé
{
FragTeam_Defence ++;
SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
}


Ensuite tu peux rajouter en dessous de ça, toujours dans OnPlayerDeath si une team a 25 frags, alors...

if(FragTeam_Defence == 25)
{
//l'action à faire
}
else if(FragTeam_Attack == 25)
{
// ...
}

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Limitation de térritoire
« Réponse #20 le: 28 Août 2009, 09:58:25 »
moi je ferais plus comme ceci

OnPlayerDeath(kilerid,playerid,reason)
{
   if(gTeam[killerid] != gTeam[playerid]
   {
      
       if(gTeam[killerid] == TEAM_DEFENCE)
       {
           SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
           FragTeam_Defence ++;
       }
       else
       {
           SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
           FragTeam_Attack ++;
       }
   }
   else
   {
       SendClientMessage(killerid,COLOR_RED, "Attention tu as tuer un equipier.");
   }
}

ensuite tu peu meme mettre combien de kill il reste a faire pour avertir les autre de se secouer un peu
« Modifié: 28 Août 2009, 10:00:53 par cristab »
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Limitation de térritoire
« Réponse #21 le: 28 Août 2009, 10:06:02 »
Oui, ca peut le faire aussi  :)

Hors ligne GTK_Xt4Zii3

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Limitation de térritoire
« Réponse #22 le: 28 Août 2009, 11:20:54 »
Ok merci les gars pour votre aide  8) En faite je peut a chaque fois metre un message disant le nombre de kill qu'il reste pour chaque equipe, Mais je dois augmenter la variable de chaque Equipe 25 fois ?

Et le pro t'entend quoi par //L'action a faire ?

EDIT : Après avoir mit le code de Cristab, ils me mettent une erreur //C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(598) : error 025: function heading differs from prototype

Dans la ligne OnPlayerDeath
« Modifié: 28 Août 2009, 11:42:09 par GTK_Xt4Zii3 »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Limitation de térritoire
« Réponse #23 le: 28 Août 2009, 11:56:12 »
quelle est la ligne 598 et il y a une faute dans mon code ^^

pour mettre combien de frag restan

tu fait un truc du genre

new reste;
reste = 25 - FragTeam_Defence;
format(string sizeof (string),"il reste a cette equipe %d frag pour gagner",reste);
SendCliantMessage(Rouge,string);

le code peu etre ameliorer optimiser simplifier sa donne juste un aperçu
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne GTK_Xt4Zii3

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Limitation de térritoire
« Réponse #24 le: 28 Août 2009, 12:03:57 »
Il ne reconnait pas FragTeam  ;D et presque toute mes erreur sont des Undefined Symbole ...

C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(558) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(573) : error 025: function heading differs from prototype
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(575) : error 017: undefined symbol "killerid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : error 017: undefined symbol "FragTeam_Attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : warning 215: expression has no effect
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(580) : error 017: undefined symbol "killerid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(582) : error 017: undefined symbol "FragTeam_Defence"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(582) : warning 215: expression has no effect
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(585) : error 017: undefined symbol "killerid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(591) : error 010: invalid function or declaration
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(800) : warning 203: symbol is never used: "attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(800) : warning 203: symbol is never used: "defence"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(800) : warning 203: symbol is never used: "strtok"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


7 Errors.
« Modifié: 28 Août 2009, 12:10:10 par GTK_Xt4Zii3 »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Limitation de térritoire
« Réponse #25 le: 28 Août 2009, 12:16:05 »
as tu trouver l'erreure dans mon code??
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne GTK_Xt4Zii3

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Limitation de térritoire
« Réponse #26 le: 28 Août 2009, 12:18:07 »
bah je pense que a ton OnPlayerDeath tu a oublier le public, mais je doit définir comment les "symbole" ?

Code: (pawn) [Sélectionner]
public OnPlayerDeath(killerid, playerid, reason)
{
   if(gTeam[killerid] == TEAM_ATTACK && gTeam[victimid] == TEAM_DEFENCE) // Si la team ATTACK a tuer qqn + si la victime est de la team defence...
   {
   FragTeam_Attack ++;// Alors on monte la variable de +1 pour les FragTeam_Attack
   SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Alien", reste);
   SendClientMessage(COLOR_RED,string);
   }
   else if(gTeam[killerid] == TEAM_DEFENCE && gTeam[victimid] == TEAM_ATTACK)// pareil que touit à l'heure mais inversé
   {
   FragTeam_Defence ++;
   SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Predator", reste);
   SendClientMessage(COLOR_RED,string);
   }
   SendDeathMessage(killerid, playerid, reason);

   SetPlayerColor(playerid,COLOR_GREY);

   GameTextForPlayer(playerid,"Tes morts", 500 ,1);
   }
   return 1;
}

et les erreur ,

C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(558) : warning 217: loose indentation
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(573) : error 025: function heading differs from prototype
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(575) : error 017: undefined symbol "victimid"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : error 017: undefined symbol "FragTeam_Attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(577) : warning 215: expression has no effect
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(580) : error 017: undefined symbol "FragTeam_Attack"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : error 017: undefined symbol "string"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : error 035: argument type mismatch (argument 1)
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : error 017: undefined symbol "string"
C:\Program Files\RockstarGame\GTA San Andreas\gamemodes\Area51V2.pwn(581) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


8 Errors.
« Modifié: 28 Août 2009, 12:39:35 par GTK_Xt4Zii3 »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Limitation de térritoire
« Réponse #27 le: 28 Août 2009, 12:42:47 »
tu as une accolade de fermeture en trop
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne GTK_Xt4Zii3

  • *
  • Tueur en série
  • Messages: 110
    • Voir le profil
Re : Limitation de térritoire
« Réponse #28 le: 28 Août 2009, 12:45:09 »
Tu pourrais me dire la quelle ? Car personnellement je vois pas ...  :(

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Limitation de térritoire
« Réponse #29 le: 28 Août 2009, 12:51:35 »
Citer
public OnPlayerDeath(killerid, playerid, reason)
{
   if(gTeam[killerid] == TEAM_ATTACK && gTeam[victimid] == TEAM_DEFENCE) // Si la team ATTACK a tuer qqn + si la victime est de la team defence...
   {
   FragTeam_Attack ++;// Alors on monte la variable de +1 pour les FragTeam_Attack
   SendClientMessageToAll(COLOR_RED, "La team Attaquant a tué un Défenseur.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Alien", reste);
   SendClientMessage(COLOR_RED,string);
   }
   else if(gTeam[killerid] == TEAM_DEFENCE && gTeam[victimid] == TEAM_ATTACK)// pareil que touit à l'heure mais inversé
   {
   FragTeam_Defence ++;
   SendClientMessageToAll(COLOR_RED, "La team Défense a tué un Attaquant.");
   new reste;
   reste = 25 - FragTeam_Attack;
   format(string sizeof (string),"il reste %d frag pour Les Predator", reste);
   SendClientMessage(COLOR_RED,string);
   }
   SendDeathMessage(killerid, playerid, reason);

   SetPlayerColor(playerid,COLOR_GREY);

   GameTextForPlayer(playerid,"Tes morts", 500 ,1);
   }
   return 1;
}
celle en rouge
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici