GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Anthony Wolf le 18 Mars 2009, 20:19:27
-
Bonjour,
J'ai donc copié coller la commande d'un autre GM dont je ne préfere pas cité de nom.
Erreur :
C:\DOCUME~1\COMPAQ~1\Bureau\SAMP\GAMEMO~1\REAL-L~1.PWN(23407) : warning 225: unreachable code
forward BackupClear(playerid, calledbytimer);
pRequestingBackup,
PlayerInfo[playerid][pRequestingBackup] = 0;
if(strcmp(cmd, "/renf", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
{
if (PlayerInfo[playerid][pRequestingBackup] != 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "CENTRAL : %s a besoin de renfort, vos GPS ont été mis à jours ! ( marqueur rouge sur la carte )).", sendername);
PlayerInfo[playerid][pRequestingBackup] = 1;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1)
{
SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
}
}
}
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Tapez /arenf pour arreter la demande.");
SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vous avec déjà demandé du renfort!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'êtes pas policier !");
}
}
return 1;
}
if(strcmp(cmd,"/backupclear",true)==0 || strcmp(cmd,"/arenf",true)==0)
{
BackupClear(playerid, 0);
return 1;
}
public BackupClear(playerid, calledbytimer)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
{
if (PlayerInfo[playerid][pRequestingBackup] == 1)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1)
{
SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
}
}
}
if (calledbytimer != 1)
{
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Your backup request has been cleared.");
}
else
{
SendClientMessage(playerid, TEAM_BLUE_COLOR, "Your backup request has been cleared automatically.");
}
PlayerInfo[playerid][pRequestingBackup] = 0;
}
else
{
if (calledbytimer != 1)
{
SendClientMessage(playerid, COLOR_DARKNICERED, "You don't have an active backup request!");
}
}
}
else
{
if (calledbytimer != 1)
{
SendClientMessage(playerid, COLOR_GREY, "You are not a cop!");
}
}
}
return 1;
Et la commande marche pas :snip :snip :snip " PAWNO COMPILER "
-
Pas besoin que tu dise de quel gamemode tu la prit j'l'ai vu direct XD tu la prit d'un GM moderntopia ou un derivé j'pari bref
Je supose que sa marche pas car tu a un ShowPlayerMarkers(0); dans ton OnGameModeInit
Si c'est le cas retire le, ensuite faut mettre la couleur de tout t'est joueur en invisible (SetPlayerColor(....)) par contre j'ai plus le code de couleur invisible sous la main ...
-
COLOR_SPEC, Je pense que c'est invisible,
sinon je sais plus il faut ajouter quoi après le code de la couleur je pense que c'est 00 ( à la fin du code de la couleur )
-
COLOR_SPEC, Je pense que c'est invisible,
sinon je sais plus il faut ajouter quoi après le code de la couleur je pense que c'est 00 ( à la fin du code de la couleur )
exactement, pour donner un exemple plus concret:
#define COULEUR_INVISIBLE 0x00000000
#define COULEUR_INVISIBLE 0xFAD28300
il faut comprendre ce que représente chacun de ses chiffres:
0xRRGGBBAA
RR => partie de rouge (0 - 256)
GG => partie de vert (0 - 256)
BB => partie de bleu (0 - 256)
AA => alpha (transparence, donc 0 ici si l'ont veut invisible, un 76, par exemple, corresponderait a une couleur partiellement transparente)
Ne pas oublier,
toutes les couleurs = blancs
aucunes couleurs = noir
++Sim++
-
Salut,
Oui Sim, mais la COLOR_SPEC => N'est pas invisible aussi ??
-
Je supose que sa marche pas car tu a un ShowPlayerMarkers(0); dans ton OnGameModeInit
Si c'est le cas retire le
Et bien non, toujours la même erreur, mais a essayer en jeu
-
Tout d'abord, pour ton erreur, le compilateur te dit qu'une partie de ton code n'est pas accessible (unreachable code).
Ceci veut dire que quelques soient les conditions, cette partie de code ne sera jamais exécutée.
Exemple :
Mafonction ()
{
printf ("Bonjour\n");
return;
printf ("Au revoir\n"); // Cette ligne n'est pas accessible à cause du return juste en dessus
}
Les bouts de script que tu donnes ne montrent pas de partie de code non accessible. Donc soit tu cherches toi-même ce qui ne va pas, soit tu donnes ton script en entier (dans le pastebin bien évidement).
---------------------------
En ce qui concerne les couleurs des joueurs voici une fonction utile pour rendre visible ou invisible le marqueur d'un seul joueur sans changer sa couleur de base (cette fonction ne modifie que la composante alpha -> voir post de Sim).
ChangerMarqueurJoueur (playerid, bool:Visible)
{
new PlayerColor;
PlayerColor = GetPlayerColor (playerid);
if(Visible == true)
{
/* Rend le marqueur du joueur visible */
PlayerColor = PlayerColor | 0xFF;
}
else
{
/* Rend le marqueur du joueur invisible */
PlayerColor = PlayerColor & 0xFFFFFF00;
}
SetPlayerColor (playerid, PlayerColor);
}
Exemple : Rendre invisible le marqueur du joueur 5 :
ChangerMarqueurJoueur (5, false);
Pour ce qui est de COLOR_SPEC, ce n'est pas un define standard, il vient certainement d'un gamemode. Il n'est donc pas possible de dire si il est visible ou invisible. De toutes façons, il change certainement la couleur de base du joueur ce qui n'est pas forcément très pratique car celà implique qu'il faille conserver la couleur initiale du joueur pour pouvoir lui remettre par la suite.
++
Syg
-
en faite, je vient de trouvé l'erreur,
la commande était après une commande qui termine comme sa
}
return 1;
Il n'y avait pas le { avant la commande...
Donc je l'ai mis a un autre endroit et c'était ok !
Merci quand même ;)