• 06 Juin 2026, 12:42:03


Auteur Sujet: connection imposssible (fin de page)  (Lu 2057 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
connection imposssible (fin de page)
« le: 19 Février 2013, 11:55:23 »
salut
j'ai enfin fini mon petit magasin apres tant de temps ^^
alors j'ai fais des lots d'armes; des voitures...
mais j'aimerai faire que lorsque quelqu'un meurt deux fois sans avoir fait de kill, il recoi un gilet par balle,
c'est possible? je suis encore débutant, j'aimerai les commande et une belle explication ^^

et aussi un systeme de niveau d'arme,
il comence avec un lot d'arme z
c'est a dire que quand un joueur fait un kill : on lui donne un lot d'arme x
et lorsqu'il en fait 3 de kill on lui donne le lot d'arme y qui sera meilleur que le x
sachant que dès qu'il meurt il revient avec un lot d'arme z

ce serait vraiment cool !
merci x)
si cela n'existe pas il y a une alternative?
« Modifié: 20 Février 2013, 12:27:20 par natsu00 »

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : gilet si tu meurt
« Réponse #1 le: 19 Février 2013, 12:17:18 »
Bah c'est simple, suffit d'utiliser des variables pour que quand le joueur meurt et que son nombre de mort est plus grand que 1 (donc 2 minimum), on modifie son armure, etc... :closedeyes

Voici ce que ça donne approximativement (il peut y avoir des erreurs)
new Kill[MAX_PLAYERS], Death[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, reason)
{
     if(killerid!=INVALID_PLAYER_ID)
     {
          Death[killerid]=0; //On met son nombre de mort à zéro
          Kill[killerid]++; //On ajoute 1 à son nombre de kill
          if(Kill[killerid]==1) //Si le nombre de kill est égal à un...
          {
               GetPlayerWeapon(playerid, 0, 0); //Id de l'arme, et munition
               GetPlayerWeapon(playerid, 0, 0); //Id de l'arme, et munition
          }

          if(Kill[killerid]==2)
          {
               GetPlayerWeapon(playerid, 0, 0); //Id de l'arme, et munition
               GetPlayerWeapon(playerid, 0, 0); //Id de l'arme, et munition
          }
     }

     Kill[playerid]=0; //On met son nombre d'arme à zéro
     Death[playerid]++; //On ajoute une mort
     return 1;
}

public OnPlayerSpawn(playerid)
{
     if(Death[playerid]>1) SetPlayerArmor(playerid, 100); //On modifie son armure
     return 1;
}

C'est un truc dans le genre :)

[/url]

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : gilet si tu meurt
« Réponse #2 le: 19 Février 2013, 12:29:03 »
oh merci ca fait des heures que je cherche merci x)
 je l'ai reussi, la compilation a reussi mais dans le jeu ça marche pas j'ai pourtant mis les armes, qu'il faut , il y a une erreur dans la variable?
« Modifié: 19 Février 2013, 13:30:16 par natsu00 »

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : gilet si tu meurt
« Réponse #3 le: 19 Février 2013, 13:32:29 »
[spoiler]// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
   print("\n--------------------------------------");
   print(" my script");
   print("--------------------------------------\n");
   return 1;
   
   new Kill[MAX_PLAYERS], Death[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, reason)
{
     if(killerid!=INVALID_PLAYER_ID)
     {
          Death[killerid]=0; //On met son nombre de mort à zéro
          Kill[killerid]++; //On ajoute 1 à son nombre de kill
          if(Kill[killerid]==1) //Si le nombre de kill est égal à un...
          {
               GetPlayerWeapon(playerid, 8, 1); //Id de l'arme, et munition
               GetPlayerWeapon(playerid, 16, 15);
            GetPlayerWeapon(playerid, 23, 500);
            GetPlayerWeapon(playerid, 26, 500);
            GetPlayerWeapon(playerid, 30, 500);
            GetPlayerWeapon(playerid, 32, 500);
            GetPlayerWeapon(playerid, 37, 500);
            GetPlayerWeapon(playerid, 42, 500);
            GetPlayerWeapon(playerid, 34, 500); //Id de l'arme, et munition
          }

          if(Kill[killerid]==2)
          {
               GetPlayerWeapon(playerid, 9, 1);
            GetPlayerWeapon(playerid, 39, 15);
            GetPlayerWeapon(playerid, 24, 500);
            GetPlayerWeapon(playerid, 26, 500);
            GetPlayerWeapon(playerid, 27, 500);
            GetPlayerWeapon(playerid, 29, 500);
            GetPlayerWeapon(playerid, 31, 500);
            GetPlayerWeapon(playerid, 34, 500);
            GetPlayerWeapon(playerid, 40, 1);
            GetPlayerWeapon(playerid, 35, 5);
            SetPlayerArmore(playerid, 100);//Id de l'arme, et munition
          }
     }
     return 1;
}

public OnPlayerSpawn(playerid)
{
     if(Death[playerid]>1) SetPlayerArmor(playerid, 100); //On modifie son armure
     return 1;}

#endif

[/spoiler]

voici mon filescript
et au bout de 1 kill je n'ai pas de nouvelles armes...

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : gilet si tu meurt
« Réponse #4 le: 19 Février 2013, 19:34:03 »
Voilà ce que ça pourrait donner.
Je l'ai fait à la vas-vite, je ne l'ai pas compilé, il peut (et il doit) avoir des erreurs.


Code: (pawn) [Sélectionner]
public givePlayerWeapons(playerid);

enum player {
kills,
deaths,
killSpree,
deathSpree
}

new players[MAX_PLAYERS][player];

public OnPlayerConnect(playerid) {
players[playerid][kills]      = 0; // initialisation des données du joueur
players[playerid][deaths]     = 0;
players[playerid][killSpree]  = 0;
players[playerid][deathSpree] = 0;

}

public OnPlayerSpawn(playerid) {
if (deathSpree[playerid] >= 2) { // si le joueur est mort plus de deux fois sans tués de joueurs
// TODO: donner un gilet pare-balle
}

givePlayerWeapon(playerid); // donne ses armes en fonction du nombre de joueur tués sans mourir (0)

return 1;
}

public OnPlayerDeath(playerid, killerid, reason) {
if (killerid != INVALID_PLAYER_ID) {
players[killerid][kills]++; // augmente le nombre de joueurs tués au total
players[killerid][kill]++; // augmente le nombre de joueurs tués sans mourir
players[killerid][deathSpree] = 0; // met à zéro le nombre de morts sans avoir tué de joueur

givePlayerWeapons(killerid); // donne ses armes en fonction du nombre de joueurs tués sans mourir

players[playerid][deaths]++; // augmente le nombre de morts total
players[playerid][deathSpree]++; // augmente le nombre de morts sans tué de joueur
players[playerid][killSpree] = 0; // met à zéro le nombre de joueurs tués sans mourir
}

return 1;
}

public givePlayerWeapons(playerid) {
switch (players[playerid][killSpree]) {
case 0: { // si le joueur n'a tué aucun joueur à la suite
// TODO: donner les armes du rang z
break;
}
case 1: { // si le joueur a tué un joueur à la suite
// TODO: donner les armes du rang x
break;
}
case 3: { // si le joueur a tué 3 joueurs à la suite
// TODO: donner les armes du rang y
break;
}
}
}

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : Re : gilet si tu meurt
« Réponse #5 le: 19 Février 2013, 22:25:42 »
[spoiler]// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
   print("\n--------------------------------------");
   print(" my script");
   print("--------------------------------------\n");
   return 1;
   
   new Kill[MAX_PLAYERS], Death[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, reason)
{
     if(killerid!=INVALID_PLAYER_ID)
     {
          Death[killerid]=0; //On met son nombre de mort à zéro
          Kill[killerid]++; //On ajoute 1 à son nombre de kill
          if(Kill[killerid]==1) //Si le nombre de kill est égal à un...
          {
               GetPlayerWeapon(playerid, 8, 1); //Id de l'arme, et munition
               GetPlayerWeapon(playerid, 16, 15);
            GetPlayerWeapon(playerid, 23, 500);
            GetPlayerWeapon(playerid, 26, 500);
            GetPlayerWeapon(playerid, 30, 500);
            GetPlayerWeapon(playerid, 32, 500);
            GetPlayerWeapon(playerid, 37, 500);
            GetPlayerWeapon(playerid, 42, 500);
            GetPlayerWeapon(playerid, 34, 500); //Id de l'arme, et munition
          }

          if(Kill[killerid]==2)
          {
               GetPlayerWeapon(playerid, 9, 1);
            GetPlayerWeapon(playerid, 39, 15);
            GetPlayerWeapon(playerid, 24, 500);
            GetPlayerWeapon(playerid, 26, 500);
            GetPlayerWeapon(playerid, 27, 500);
            GetPlayerWeapon(playerid, 29, 500);
            GetPlayerWeapon(playerid, 31, 500);
            GetPlayerWeapon(playerid, 34, 500);
            GetPlayerWeapon(playerid, 40, 1);
            GetPlayerWeapon(playerid, 35, 5);
            SetPlayerArmore(playerid, 100);//Id de l'arme, et munition
          }
     }
     return 1;
}

public OnPlayerSpawn(playerid)
{
     if(Death[playerid]>1) SetPlayerArmor(playerid, 100); //On modifie son armure
     return 1;}

#endif

[/spoiler]

voici mon filescript
et au bout de 1 kill je n'ai pas de nouvelles armes...
Oh mais que je suis bête, j'ai mit "GetPlayerWeapon(playerid..."
Alors qu'il faut mettre l'id du tueur, donc killerid.
Corrige ça sur toutes les armes et ça devrait être bon :)

[/url]

Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : gilet si tu meurt
« Réponse #6 le: 20 Février 2013, 09:48:04 »
merci a vous deux je l'ai compilé et plus de soucis merci je le tes apres et je vous dit quoi x)

maintenant j'aimerai ajouté une musique au jeu, c'est a dire qu'une musique se lance automatiquement au menu du serveur, ici grand larceny et a la selection du skin, et elle s'arrete au spawn?
j'ai deja vu ça sur des serveurs, comment on fait?
merci
« Modifié: 20 Février 2013, 11:07:38 par natsu00 »

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3551
    • Voir le profil
Re : question pawn
« Réponse #7 le: 20 Février 2013, 11:10:38 »
Code: (pawn) [Sélectionner]
PlayAudioStreamForPlayer()


Adju ♥
(-_-)



Hors ligne natsu00

  • *
  • Tueur en série
  • Messages: 169
    • Voir le profil
Re : question pawn
« Réponse #8 le: 20 Février 2013, 11:28:09 »
ok j'ai reussi merci
maintenant mon ami à un probleme pour ce connecter
serveur didn't respond!

je ne sais pas d'ou ca vient , il a la même version du jeu/ la même version de serveur 0.3x R12
et il arrive a se connecter sur les autres serveurs ...
mon frere qui joue avec moi n'a pas ce soucis ( sachant qu'il est sur la même box que moi )
merci
« Modifié: 20 Février 2013, 12:06:01 par natsu00 »