• 22 Avril 2025, 22:46:27


Auteur Sujet: [RESOLUE]Bloqué à 23 joueurs  (Lu 4568 fois)

0 Membres et 2 Invités sur ce sujet

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Re : Bloqué à 23 joueurs
« Réponse #15 le: 08 Juin 2011, 12:53:58 »
Rien à avoir avec le  Max_Player_Name
sa faiut juste 3fois que nous lui disons mais pas grave a mon avis il est borner

Astuce 1/ jete moi ce script
Astuce 2/ Ouvre pawno.exe
Astuce 3/ Go les tutos :)
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 Americandream

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #16 le: 08 Juin 2011, 15:26:34 »
Nan maiss le script marche --' et j'ai changé de Gamemode j'ai pris toujours miamirp modifié et toujours le même problème donc ce weekends on vas monter a 24 - 26 on pourra voir :/ parce que sinon je vois pas qu'est ce qu'il faut modifier !

Aidez moi :/

Hors ligne Toobias

  • *
  • Criminel
  • Messages: 28
    • Voir le profil
    • La vie virtuelle
Re : Re : Bloqué à 23 joueurs
« Réponse #17 le: 09 Juin 2011, 00:58:23 »
Ok alors note :
ce n'est pas Max_Player puisque le miens était à (500) mais en levant les yeux j'ai vu  MAX_PLAYER_NAME (24) je pense que c'est ça =)

Faudra voir ce weekend quand les joueurs pleuvent en masse sur le serveur =)

Merci t'es un dieu je construit un temple a ton image ou tu veux !! =D

Bon après ça reste à vérifier mais je pense que c'est bon

Oui change MAX_PLAYER_NAME mais le a 50 (exemple) quitte le pawno est enregistre.

Aprés ouvre ton gamemode puis recompile le .
"Vous dite que sa n'a rien avoir avec le Max_Player_Name ... mais enfaite si ..... Il dit bien aprés le 24éme JOUEURS ;Il prend le compte d'un autres joueurs connecté est se mais en spec dessu donc sa a bien avoir avec le "NOM"
De plus je l'ai deja eu ce bug , J'ai changer le Max_Player_Name est j'ai plus jamais eu ce probléme.

Enfin bon, De tout de façon vous n'aidez personne ici vous ne faite que critiquer et rabaisser. ;)
« Modifié: 09 Juin 2011, 01:03:26 par Toobias »

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #18 le: 09 Juin 2011, 09:36:08 »
Toobias ton poste n'est pas acceptable pour moi on aide si on te dit qu'il ne faut pas changer les valeurs dans l'include c'est pour une bonne raison c'est que vous utliser MAX_PLAYER_NAME a la place de MAX_PLAYERS donc STP arrete de dire des sautise aussi enorme Go apprendre a corriger des bug que de buger les includes pour que ton script fonctionne
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 Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Re : Bloqué à 23 joueurs
« Réponse #19 le: 09 Juin 2011, 10:08:37 »
Salut,

sauf si dans le code il y a une erreur et que MAX_PLAYER_NAME a été utilisé à la place de MAX_PLAYERS à un ou plusieurs endroits...

mais ça... c'est difficile à savoir

++Sim++
La réponse est certainement là.
Et pour Americandream ce ne sera certainement pas très difficile de savoir.
Pour vérifier, il faut rechercher toutes les occurrences de MAX_PLAYER_NAME dans le script et vérifier qu'il n'est pas utiliser dans une boucle, dans un test ou dans un tableau autre qu'un nom de joueur.

Et il ne faut SURTOUT PAS changer la valeur de MAX_PLAYER_NAME.

++
Syg
Courtesy of GtaManiac

Hors ligne Americandream

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #20 le: 10 Juin 2011, 19:18:41 »
Je lai modifier des que j'ai eu la réponse me proposant de changer Max_Player.
Pour l'instant aucun problème a signaler et avec ce long weekends on va pouvoir tester...

Je teste on sais jamais ^^ moi j'ai fait un lien entre le 24 et mon bug a 24 joueurs, on vas tester :$

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #21 le: 12 Juin 2011, 22:28:11 »
Et pourquoi n'as tu pas fait le lien entre la limite à 24 joueurs et le fait que la journée fasse 24 heures ?
Ou alors que 24 est aussi le numéro atomique du chrome ou le nombre de carats de l'or pur ? (cf http://fr.wikipedia.org/wiki/24_%28nombre%29).

Je pense que tu devrais sérieusement prendre en compte la remarque de Sim concernant la mauvaise utilisation de MAX_PLAYER_NAME. Et corriger les endroits où ce define est utilisé à tort.

++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #22 le: 12 Juin 2011, 23:34:53 »
Il est entêté Syg, je crois que pour qu'il comprenne faut écrire en gros.


Vérifie dans ton code si tu n'as pas des boucles qui ont pour limite MAX_PLAYER_NAME, et SURTOUT, SURTOUT ne change pas la valeur de MAX_PLAYER_NAME.

Hum, j'espère que tu comprendra mieux now.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #23 le: 13 Juin 2011, 01:40:31 »
Pas sur, il faudrait mettre de la couleur :

Vérifie dans ton code si tu n'as pas des boucles qui ont pour limite MAX_PLAYER_NAME, et SURTOUT, SURTOUT ne change pas la valeur de MAX_PLAYER_NAME.

Si ça marche toujours pas, on augmentera la taille de la police et on écrira en rouge.

++
Syg
Courtesy of GtaManiac

Hors ligne Americandream

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #24 le: 13 Juin 2011, 11:43:25 »
Voilà on a pas encore monté a 24 joueurs, on est resté à 23 --'

Mais en faisant ce que vous avez dit je suis retombé sur un bout de script qui me semblait étrange, je vous l'envoi :

public Spectator()
{
new string[256];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
   if(KickPlayer[i]==1) { Kick(i); }
else if(KickPlayer[i]==2) { Ban(i); }
if(Spectate[i] < 253 && Spectate[i] != 255)
{
SetPlayerColor(i,COLOR_SPEC);
TogglePlayerControllable(i, 0);
new targetid = Spectate[i];
if(IsPlayerConnected(targetid))
{
   TogglePlayerSpectating(i, 1);
   if(PlayerInfo[i][pAdmin] >= 1)
   {
       new Float:health;
   new name[MAX_PLAYER_NAME];
   GetPlayerName(targetid, name, sizeof(name));
   GetPlayerHealth(targetid, health);
   format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~y~%s(ID:%d)~n~~y~vie:%.1f",name,targetid,health);
   GameTextForPlayer(i, string, 2500, 3);
   }
   if(IsPlayerInAnyVehicle(targetid))
{
   new carid = GetPlayerVehicleID(targetid);
   PlayerSpectateVehicle(i, carid);
}
else
{
   PlayerSpectatePlayer(i, targetid);
}
if(GetPlayerInterior(targetid) == 0)
{
SetPlayerInterior(i,0);
}
else if(GetPlayerInterior(targetid) > 0)
{
SetPlayerInterior(i,GetPlayerInterior(targetid));
}
}
}
if(Spectate[i] == 253)
{
TogglePlayerControllable(i, 1);
TogglePlayerSpectating(i, 0);
SetPlayerInterior(i,Unspec[i][sPint]);
PlayerInfo[i][pInt] = Unspec[i][sPint];
PlayerInfo[i][pLocal] = Unspec[i][sLocal];
Unspec[i][sLocal] = 255;
SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][sPx],  Unspec[i][sPy], Unspec[i][sPz]-1.0, 1.0, -1, -1, -1, -1, -1, -1);
gTeam[i] = PlayerInfo[i][pTeam];
SetPlayerToTeamColor(i);
MedicBill[i] = 0;
if(PlayerInfo[i][pDonateRank] > 0)
       {
           SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][Coords][0], Unspec[i][Coords][1], Unspec[i][Coords][2], 10.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(i);
SetCameraBehindPlayer(i);
       }
       else
       {
SpawnPlayer(i);
}
Spectate[i] = 255;
}
if(Spectate[i] == 254)
{
TogglePlayerControllable(i, 1);
SetPlayerInterior(i,Unspec[i][sPint]);
PlayerInfo[i][pInt] = Unspec[i][sPint];
PlayerInfo[i][pLocal] = Unspec[i][sLocal];
SetPlayerPos(i, Unspec[i][sPx],  Unspec[i][sPy], Unspec[i][sPz]);
Spectate[i] = 255;
}
if(Spectate[i] == 256)
{
SetPlayerToTeamColor(i);
Spectate[i] = 255;
}
if(Spectate[i] == 257)
{
Spectate[i] = 254;
}
}
}
}
Si vous pouviez jeter un oeil, y'a des ligne qui indique les même chose que ce que les joueurs qui sont en spec voit...
« Modifié: 13 Juin 2011, 13:46:58 par Americandream »

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #25 le: 13 Juin 2011, 11:55:30 »
Salut, déjà je te conseil d'aller lire les règles tu devrai savoir que les bouts de code sont à mettre entre les balises code, et les codes de plus de 20 lignes sont à mettre sur Pastebin.


Peut-être que ce code en est la cause, mais nous t'avons dit de chercher une boucle où la limite est MAX_PLAYER_NAME, un truc de ce genre

for( new i = 0; i < MAX_PLAYER_NAME; i++ )



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Americandream

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #26 le: 13 Juin 2011, 12:56:58 »
Arf désolé j'ai pas trop l'habitude de demander de l'aide ^^'
J'ai justement chercher les boucles, cherché tous les MAX_PLAYER_NAME du script mais rien...

Je me suis demandé si ce script pouvais être la cause aussi mais après je me suis posé une questions :

Es-ce que un Filterscript ou Include peut être une source de ce problème ?

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #27 le: 13 Juin 2011, 13:38:30 »
Oui, un FS peut mettre le bazar dans un gamemode.

Sinon, pour ton bout de code il manque :
- Comment est initialisée la variable spectate ?
- Où est appelée la fonction Spectator () ?

++
Syg
Courtesy of GtaManiac

Hors ligne Americandream

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #28 le: 13 Juin 2011, 13:51:19 »
Justement c'est ça qui me rend fou quand je vois cette fonction, elle m'a pas l'air comme les autres et j'en vois pas son utilité...
Tenez tout ce que j'ai sur Spectator :
forward Spectator();
spectatetimer = SetTimer("Spectator", 2000, 1);
new spectatetimer;
KillTimer(spectatetimer);
J'ai que ça sur Spectator et ce qui l'entoure.


Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Bloqué à 23 joueurs
« Réponse #29 le: 14 Juin 2011, 10:15:15 »
Et la déclaration du tableau Spectate[] ?

Sinon, j'ai regardé la fonction Spectator.
Elle n'a pas été écrite par quelqu'un qui a beaucoup réfléchi à ce qu'il (ou elle) faisait :

if(Spectate[i] < 253 && Spectate[i] != 255)Si Spectate est inférieur à 253, il est forcément différent de 255 donc la deuxième partie du test ne sert à rien.

--------------------

if(GetPlayerInterior(targetid) == 0)
{
SetPlayerInterior(i,0);
}
else if(GetPlayerInterior(targetid) > 0)
{
SetPlayerInterior(i,GetPlayerInterior(targetid));
}
Inutile, il suffit de faire :
SetPlayerInterior(i,GetPlayerInterior(targetid));------------------

Bref, ce code fait surement partie d'un système de spec.
C'est la variable Spectate[] qui décide dans quel état on est.
La valeur 255 désactive la chose donc à voir comment est initialisée la variable Spectate[].

++
Syg
Courtesy of GtaManiac