• 05 Juin 2026, 13:01:58


Auteur Sujet: Récompense kill pour TEAM DIFFéRENTES  (Lu 6183 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Récompense kill pour TEAM DIFFéRENTES
« le: 13 Octobre 2007, 21:19:02 »
Slt ^^ Alors voila c'est a mon tour de poser mes problèmes ^^

J'aimerais savoir si quelqu'un pourrais m'aider a faire en sorte que quand un player tue un player d'un team, il reçoivent une somme d'argent.

Jusque la c'est très simple ^^ C'est déjà dans mon script sa.

mais voila, quand il tue un player FLIC par exemple, il reçoit 1500,  quand il tue un player Alcooliques il reçoit 1000 etc. Des montants différent par team, de ce fait, un player alcoolique tue un FLIC il reçoit 2000 et quand il tue un stunter il reçoit rien et son argent baise a 0.

J'aimerais savoir si vous pouvez m'aider SVP ^^ Merci de vos réponses ;)
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #1 le: 14 Octobre 2007, 02:53:55 »
Fait un switch avec la team comme paramètre...


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #2 le: 14 Octobre 2007, 19:46:20 »
Quoi ?  :laugh
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #3 le: 14 Octobre 2007, 20:11:28 »
Un switch...tu sais..xD

Code: (c) [Sélectionner]
   
switch(LA_TEAM) {
case TEAM1: print("boooh"); //
case TEAM2: print("meh"); //
}

Tu prends la team comme paramètres et tu fais un switch dessus, qui va te permettre de faire une action selon la team.

« Modifié: 14 Octobre 2007, 20:13:58 par spykerc8 »


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #4 le: 14 Octobre 2007, 20:12:34 »

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #5 le: 14 Octobre 2007, 20:22:35 »
Merci d'avoir répondu mais j'ais tout ça dans mon OnPlayerDeath

    public OnPlayerDeath(playerid, killerid, reason)
{
new name[MAX_PLAYER_NAME];
new string[256];
new deathreason[20];
new playercash;
GetPlayerName(playerid, name, sizeof(name));
GetWeaponName(reason, deathreason, 20);
if (killerid == INVALID_PLAYER_ID) {
    switch (reason) {
case WEAPON_DROWN:
{
                format(string, sizeof(string), "*** %s c'est noyé.)", name);
}
default:
{
    if (strlen(deathreason) > 0) {
format(string, sizeof(string), "*** %s a été tué. (%s)", name, deathreason);
} else {
    format(string, sizeof(string), "*** %s c'est suicidé.", name);
}
}
}
}
else {
new killer[MAX_PLAYER_NAME];
GetPlayerName(killerid, killer, sizeof(killer));
if (strlen(deathreason) > 0) {
format(string, sizeof(string), "*** %s a tué %s. (%s)", killer, name, deathreason);
} else {
format(string, sizeof(string), "*** %s a tué %s.", killer, name);
GivePlayerMoney(playerid, 1000);
}
}
SendClientMessageToAll(COLOR_RED, string);
{
playercash = GetPlayerMoney(playerid);
if (playercash > 25000)
        {
}
else
{
}
}
  return 1;
}

Je met mes swicth a la fin ou entre les deux ??
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #6 le: 14 Octobre 2007, 23:58:44 »
En fait, dans ton cas le switch n'est pas trsè pratique puisque tu veux des cas tordus.
Donc je te conseille plutôt des simples if.

A la place de la ligne
GivePlayerMoney(playerid, 1000);

Tu met une suite de if/else if comme ci-dessous :
Code: (cpp) [Sélectionner]
/* Un alcoolique tue un flic */
if (gTeam[killerid] == TEAM_ALCOOLO && gTeam[playerid] == TEAM_FLIC)
{
   /* On lui donne 2000 $ */
   GivePlayerMoney (killerid, 2000);
}
/* Un flic tue un stunter */
else if (gTeam[killerid] == TEAM_FLIC && gTeam[playerid] == TEAM_STUNTER)
{
   /* On lui enlève tout son fric */
   SetPlayerMoney (killerid, 0);
}
else if ...... etc

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #7 le: 15 Octobre 2007, 19:40:53 »
OK merci je vais essayer cette technique ^^ ++

 ps: A la place de SetPlayerMOney, on peut mettre ,ResetPayerMoney ?? ça revien au même non ? puisque sa réset....


Bon ba en tout cas merci a tous de vos réponses ^^ c'est un truk que j'arrivais pas a faire lol, pourtant c'était pas bien compliqué (surtout long mais bon ^^ )

Donc maintenant me reste plus cas tester avec des gens ^^ ++
« Modifié: 15 Octobre 2007, 21:52:31 par [StAfF]mAn »
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Damaker03

  • *
  • Criminel
  • Messages: 38
    • Voir le profil
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #8 le: 15 Octobre 2007, 22:21:49 »
Reset c'est pas pour remettre a zéro ?? O_o

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #9 le: 15 Octobre 2007, 23:39:18 »
Oui, ResetPlayerMoney (playerid); ça remet l'argent du joueur à 0 donc ça fait bien la même chose que SetPlayerMoney (playerid, 0);.
On peut utiliser indifférement l'un ou l'autre.

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #10 le: 16 Octobre 2007, 19:18:01 »
Bon, slt deja ^^ mdr, Bah c'est juste pour dire que sa amrche pas, aucune erreur, un warning mais qui était deja la depuis un bon bout de temps... Et pas de récompce quand on kill un player... erf


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


erf.... (en faite j'ais peut être mal fait mon script....)

Vous pouvez m'aider ??  :laugh  :-[
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #11 le: 16 Octobre 2007, 22:08:53 »
T'avais un peu (beaucoup) merdé dans les accolades ce qui fait que ton code n'était exécuté que si la chaine deathreason était vide (ce qui n'est jamais le cas).

Tiens, j'ai fais une correction, ça devrait marcher :
http://pastebin.gtaonline.fr/pastebin.php?show=127

++
Syg
Courtesy of GtaManiac

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #12 le: 17 Octobre 2007, 14:16:15 »
aaaaaaaaaaaaaaaaaaaah ^^ PTDR   :lmao ^^ autant pour moi désolé, je savais pas pourquoi sa amrchais pas, bon ba je vous tien au courrant ^^ Merci encore tou t le monde ^^
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne spykerc8

  • *
  • 'The GTAOnline.fr GodFather'
  • Messages: 3821
    • Voir le profil
    • http://www.gtaonline.fr
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #13 le: 17 Octobre 2007, 14:35:00 »
Tu devrais utiliser


Code: (cpp) [Sélectionner]

               else if (gTeam[killerid] == gTeam[playerid])
                {
                   SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
                   GameTextForPlayer(playerid, "~r~Tu as tué un de tes potes !!!", 7000, 3);
                }

Au lieu de le faire pour toutes les teams...ça allègerait le code et l'optimiserait.


~ Leader honoraire de la FsK Team ~ -
~ Membre honoraire de la PCP Team ~

Co-fondateur de GTAO - Retraité de la communauté

"Nous ne sommes rien, soyons tout !"


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Récompense kill pour TEAM DIFFéRENTES
« Réponse #14 le: 17 Octobre 2007, 14:48:37 »
Oui pour regrouper tous les cas de teamkill ce serait bien.
Par contre, il devra conserver toutes les autres combinaisons ....
Donc je te conseille de ne pas rajouter de team.

++
Syg
Courtesy of GtaManiac