GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Bankai_Rodriguez le 14 Mars 2010, 13:05:54
-
Bonjour à tous !
J'aimerais qu'on me donne le code du ' /pm ' (MP des joueurs) et ' /apm ' (MP des admins) pour mettre dans mon GM, le godfather.
Je le trouve pas
Merci ;)
Double post
Code du PM :
//-------------------------------[ Message Personnel ]--------------------------------------------------------------------------
if(strcmp("/pm", cmd, true) == 0)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5) {
SendClientMessage(playerid,COLOR_GRAD1,"USAGE : /pm [playerID/PartieduNom] [Message]");
return 1;
}
new id = strval(tmp);
gMessage = strrest(cmdtext,idx);
if(!strlen(gMessage)) {
SendClientMessage(playerid,COLOR_GRAD1,"USAGE : /pm [playerID/PartieduNom] [Message]");
return 1;
}
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,COLOR_GRAD1," Aucun joueur trouvé");
return 1;
}
if(playerid != id) {
if(PMToggled[id] == 0 && PlayerInfo[playerid][pAdmin] == 0 || PlayerInfo[playerid][pModerator] == 0)
{
SendClientMessage(playerid,COLOR_GRAD1,"Ce joueur à bloqué sa messagerie personnel");
return 1;
}
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),"Message envoyé à - %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,PM_OUTGOING_COLOR,Message);
format(Message,sizeof(Message),"Message reçu de - %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,PM_INCOMING_COLOR,Message);
PlayerPlaySound(id,1085,0.0,0.0,0.0);
printf("Message personnel : %s",Message);
}
else {
SendClientMessage(playerid,COLOR_GRAD1,"Vous ne pouvez pas vous envoyer des messages personnels !");
}
return 1;
}
Erreur à la compilation :
D:\Serveur local\gamemodes\Paradize.pwn(9307) : warning 217: loose indentation
D:\Serveur local\gamemodes\Paradize.pwn(9317) : error 017: undefined symbol "gMessage"
D:\Serveur local\gamemodes\Paradize.pwn(9317) : error 017: undefined symbol "strrest"
D:\Serveur local\gamemodes\Paradize.pwn(9319) : error 017: undefined symbol "gMessage"
D:\Serveur local\gamemodes\Paradize.pwn(9330) : error 017: undefined symbol "PMToggled"
D:\Serveur local\gamemodes\Paradize.pwn(9330) : warning 215: expression has no effect
D:\Serveur local\gamemodes\Paradize.pwn(9330) : error 001: expected token: ";", but found "]"
D:\Serveur local\gamemodes\Paradize.pwn(9330) : error 029: invalid expression, assumed zero
D:\Serveur local\gamemodes\Paradize.pwn(9330) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
7 Errors.
-
Il y a le FS base.pwn qui la regarde dans
-
J'aimerais le mettre dans le GM directement, je fais comment ?
-
si tu look bien tout ce qui te manque et dans le fichier common.inc
-
if(strcmp(cmd, "/apm", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Vous devez être connecté !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /apm [playerID/PartieduNom] [Texte]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(HidePM[giveplayerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "Ce joueur à bloqué les messages personnels");
return 1;
}
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /apm [playerid/PartOfName] [text]");
return 1;
}
format(string, sizeof(string), "L'Admin %s mp: %s", sendername, (result));
SendClientMessage(giveplayerid, 0xBBA033AA, string);
format(string, sizeof(string), "Message privé envoié à [ID:%d]%s: %s", giveplayerid, giveplayer, (result));
SendClientMessage(playerid, 0xE5C43EAA, string);
return 1;
}
}
else
{
format(string, sizeof(string), " L'ID %d n'est pas connecté.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Vous n'êtes pas autorisé a utiliser cette commande!");
}
}
return 1;
Erreur :
veur local\gamemodes\Paradize.pwn(9339) : warning 225: unreachable code
D:\Serveur local\gamemodes\Paradize.pwn(9339) : error 017: undefined symbol "result"
D:\Serveur local\gamemodes\Paradize.pwn(9341) : error 017: undefined symbol "result"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
On peut m'aider ?? :-[
-
Salut,
if(strcmp(cmd, "/apm", true) == 0 || strcmp(cmd, "/pma", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_GREY, " Vous n'êtes pas un administrateur !");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/p)me [playerid/PartOfName] [text]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(HidePM[giveplayerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " Le joueur à bloqué les PMs !");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /apm [playerid/PartOfName] [texte]");
return 1;
}
format(string, sizeof(string), "Message Privé de : Admin %s(ID:%d): %s", sendername, playerid, (result));
SendClientMessage(giveplayerid, 0xBBA033AA, string);
format(string, sizeof(string), "PM Envoyé à [ID:%d] %s: %s", giveplayerid, giveplayer, (result));
SendClientMessage(playerid, 0xE5C43EAA, string);
return 1;
}
}
else
{
format(string, sizeof(string), " %d n'est pas un joueur actif.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
Je te l'ai même retouché un peu
Jawitt.
-
Merci !
Mais si j'ai bien compris le code, les joueurs peuvent couper leurs messageries ?
Double post
Dans le jeu sa marche pas............Sa marque :
" Vous n'êtes pas administrateur "
-
Salut,
Si tu n'essaye pas d'arranger le code, et donc de regarder ce qu'il pose problème, tu ne t'en sortiras pas.
( Oui tu as une fonction dans ton GM POUR )
Jawitt.