• 03 Mai 2025, 22:14:10


Auteur Sujet: OnPlayerDisconnect  (Lu 1190 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Jeffreeeey

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
OnPlayerDisconnect
« le: 11 Novembre 2009, 13:01:34 »
Voila j'ai un certain problème pour aficher "x a quitté le serveur (raison = y)"


public OnPlayerDisconnect(playerid, reason)
{
new astring[256];
  new plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, plname, sizeof(plname));
gActivePlayers[playerid]--;
numplayers--;
    if(OnDuty[playerid]==1)
    {
        Flicservice --;
    }
if(reason == 0)
{
    PlayerInfo[playerid][pCrashed] = 1;
    format(astring, sizeof(astring), "%s a quitté x (Crash).",plname);
    SendClientMessageToAll(COLOR_RED, astring);
    for(new slot = 0; slot != 12; slot++)
    {
        new wep, ammo;
        GetPlayerWeaponData(playerid, slot, wep, ammo);

        if(wep != 0 && ammo != 0)
        {
            if(PlayerInfo[playerid][pGun1] == 0) { PlayerInfo[playerid][pGun1] = wep; PlayerInfo[playerid][pAmmo1] = ammo; }
            else if(PlayerInfo[playerid][pGun2] == 0) { PlayerInfo[playerid][pGun2] = wep; PlayerInfo[playerid][pAmmo2] = ammo; }
            else if(PlayerInfo[playerid][pGun3] == 0) { PlayerInfo[playerid][pGun3] = wep; PlayerInfo[playerid][pAmmo3] = ammo; }
            else if(PlayerInfo[playerid][pGun4] == 0) { PlayerInfo[playerid][pGun4] = wep; PlayerInfo[playerid][pAmmo4] = ammo; }
        }
    }
}
else if(reason == 2)
{
    PlayerInfo[playerid][pKicked] = 2;
    format(astring, sizeof(astring), "%s a quitté x (Kické).",plname);
    SendClientMessageToAll(COLOR_RED, astring);
}
else if(reason == 1)
{
format(astring, sizeof(astring), "%s a quitté x (Quitté).",plname);
SendClientMessageToAll(COLOR_RED, astring);
OnPlayerUpdate(playerid);
}
Merci de votre futur aide.

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : OnPlayerDisconnect
« Réponse #1 le: 11 Novembre 2009, 13:34:11 »
Voila j'ai un certain problème pour aficher "x a quitté le serveur (raison = y)"


if(reason == 0)
{
    PlayerInfo[playerid][pCrashed] = 1;
    format(astring, sizeof(astring), "%s a quitté x (Crash).",plname);
    SendClientMessageToAll(COLOR_RED, astring);
    for(new slot = 0; slot != 12; slot++)
    {
        new wep, ammo;
        GetPlayerWeaponData(playerid, slot, wep, ammo);

        if(wep != 0 && ammo != 0)
        {
            if(PlayerInfo[playerid][pGun1] == 0) { PlayerInfo[playerid][pGun1] = wep; PlayerInfo[playerid][pAmmo1] = ammo; }
            else if(PlayerInfo[playerid][pGun2] == 0) { PlayerInfo[playerid][pGun2] = wep; PlayerInfo[playerid][pAmmo2] = ammo; }
            else if(PlayerInfo[playerid][pGun3] == 0) { PlayerInfo[playerid][pGun3] = wep; PlayerInfo[playerid][pAmmo3] = ammo; }
            else if(PlayerInfo[playerid][pGun4] == 0) { PlayerInfo[playerid][pGun4] = wep; PlayerInfo[playerid][pAmmo4] = ammo; }
        }
    }
}
else if(reason == 2)
{
    PlayerInfo[playerid][pKicked] = 2;
    format(astring, sizeof(astring), "%s a quitté x (Kické).",plname);
    SendClientMessageToAll(COLOR_RED, astring);
}
else if(reason == 1)
{
format(astring, sizeof(astring), "%s a quitté x (Quitté).",plname);
SendClientMessageToAll(COLOR_RED, astring);
OnPlayerUpdate(playerid);
}

S'est déjà dedans -_-
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Jeffreeeey

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
Re : OnPlayerDisconnect
« Réponse #2 le: 11 Novembre 2009, 14:03:53 »
C'est deja dedans mais sa ne fonctionne pas =)

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : OnPlayerDisconnect
« Réponse #3 le: 11 Novembre 2009, 14:27:55 »
Bizarre que ça ne fonctionne pas, je ne vois rien dans ton code qui explique cela.

Par contre, si tu testes en local avec une seule machine, c'est normal que tu ne vois jamais ces messages, ils ne sont jamais affichés pour le joueur qui se déconnecte (puisqu'en fait, il n'est plus là), seulement chez les autres.

La seul chose que je peux te conseiller, c'est de mettre un printf au début de OnPlayerDisconnect et de vérifier qu'il apparait bien dans le log du serveur (ou dans la fenêtre du serveur). Ce qui voudra dire que le callback est bien appelée.

Ex :
public OnPlayerDisconnect(playerid, reason)
{
   printf ("Deconnexion de %d, raison %d", playerid, reason);
   ...
}

Si ceci fonctionne, déplace le printf plus à l'intérieur de la callback OnPlayerDisconnect et refais la même vérification.
NB : Si tu veux tu peux mettre plusieurs printf un peu partout pour suivre le déroulement de OnPlayerDisconnect.

++
Syg
Courtesy of GtaManiac

Hors ligne Jeffreeeey

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
Re : OnPlayerDisconnect
« Réponse #4 le: 11 Novembre 2009, 15:04:48 »
Merci je vais esseyer sa.

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : OnPlayerDisconnect
« Réponse #5 le: 11 Novembre 2009, 16:37:27 »
Comme tu utilise mon gm, je peux t'assurer que ça fonctionne, car chez moi je n'ai pas de soucis, a moins que tu aie bidouiller le onplayer
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Jeffreeeey

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
Re : OnPlayerDisconnect
« Réponse #6 le: 11 Novembre 2009, 17:15:13 »
Je sais pas, car sa me le faisait non plus avant. Je vais reeseyé. mais la plus part des bugs que j'ai sont du a la compilation du 0.2 a la 0.3 ...
Je viens de retest ton serveur depuis 0 mais sa change rien.
« Modifié: 11 Novembre 2009, 17:21:34 par Jeffreeeey »

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : Re : OnPlayerDisconnect
« Réponse #7 le: 11 Novembre 2009, 17:30:16 »
Je sais pas, car sa me le faisait non plus avant. Je vais reeseyé. mais la plus part des bugs que j'ai sont du a la compilation du 0.2 a la 0.3 ...
Je viens de retest ton serveur depuis 0 mais sa change rien.


Si tu est seul tu ne vera pas que tu a quitter le serv
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Jeffreeeey

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
Re : OnPlayerDisconnect
« Réponse #8 le: 11 Novembre 2009, 17:43:58 »
J'ai fais une erreur sur le gamemode. J'ai modifier quelque chose qui ne fallait pas. Maintenant va faloir recommencer a zero =(

Hors ligne Zordiache

  • *
  • Mafioso
  • Messages: 2219
    • Voir le profil
Re : Re : OnPlayerDisconnect
« Réponse #9 le: 11 Novembre 2009, 18:15:41 »
J'ai fais une erreur sur le gamemode. J'ai modifier quelque chose qui ne fallait pas. Maintenant va faloir recommencer a zero =(

Pense à faire des sauvegarde de ton GM, quand tu invente par exemple une commande et tout ça et que ça fonctionne bien copie le .amx et le .pwn dans un autre dossier comme ça si tu te plante tu peux toujours reprendre où tu en était avant que tu foire le GM ;)