-
Ha küldök pm-et a szerveren, csakis a 0-ás id-re küldi. Akármilyen id-t írok, csak a 0-ás id kapja meg.. Mi lehet a probléma?
CMD:pm(playerid, params[])
{
if(GetPlayerSkin(playerid) == 181) return SendClientMessage(playerid, COLOR_ULTRARED, \"Ezt nem használhatod mert rab vagy!\");
if(GetPlayerSkin(playerid) == 285) return SendClientMessage(playerid, COLOR_ULTRARED, \"Ezt nem használhatod mert Õr vagy!\");
new PID, reason[256], pName[MAX_PLAYER_NAME], Sender[MAX_PLAYER_NAME];
if(sscanf(params, \"uz[256]\", PID, reason)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /pm [iD] [Üzenet]\");
if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, 0xFF0000FF, \"Hibás ID!\");
else{
new Str[128];
GetPlayerName(PID, pName, sizeof(pName));
GetPlayerName(playerid, Sender, sizeof(Sender));
format(Str, sizeof(Str), \"[bejövõ PM]: %s [%d]: %s\", Sender, playerid, reason);
SendClientMessage(PID, COLOR_YELLOW, Str);
format(Str, sizeof(Str), \"[PM elküldve]: %s [%d]: %s\", pName, PID, reason);
SendClientMessage(playerid, COLOR_LIGHTBLUE, Str);
}
return 1;
}
-
SendPlayerMessageToPlayer(PID, playerid, Str);
-
SendPlayerMessageToPlayer(PID, playerid, Str);
Ezt most melyik helyére rakjuk? Mert két ilyen sor van.
-
Ennek a helyére.
SendClientMessage(PID, COLOR_YELLOW, Str);
-
Ezt írja ki a console(teszt szerveren):
[17:56:50] sscanf warning: \'z\' is deprecated, consider using \'S\' instead.
[17:56:50] sscanf warning: No default value found.
-
a z betû helyett s-et írj
[pawn]if(sscanf(params, \"us[256]\", PID, reason)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /pm [iD] [Üzenet]\");[/pawn]
ha karakterláncot használsz s kell, ha pedig számot, akkor d vagy i.
-
Itt tartunk és hiába írok be rossz id-t, mégis elküldi valakinek:
MD:pm(playerid, params[])
{
if(GetPlayerSkin(playerid) == 181) return SendClientMessage(playerid, COLOR_ULTRARED, \"Ezt nem használhatod mert rab vagy!\");
if(GetPlayerSkin(playerid) == 285) return SendClientMessage(playerid, COLOR_ULTRARED, \"Ezt nem használhatod mert Õr vagy!\");
new PID, reason[256], pName[MAX_PLAYER_NAME], Sender[MAX_PLAYER_NAME];
if(sscanf(params, \"us[256]\", PID, reason)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /pm [iD] [Üzenet]\");
if(!IsPlayerConnected(PID)) return SendClientMessage(playerid, 0xFF0000FF, \"Hibás ID!\");
else
{
new Str[256];
GetPlayerName(PID, pName, sizeof(pName));
GetPlayerName(playerid, Sender, sizeof(Sender));
format(Str, sizeof(Str), \"|- Bejövõ PM Tõle: %s [%d] -|: %s\", Sender, PID, reason);
SendClientMessage(PID, COLOR_YELLOW, Str);
format(Str, sizeof(Str), \"|- PM elküldve neki: %s [%d] -|: %s\", pName, playerid, reason);
SendClientMessage(playerid, COLOR_LIGHTBLUE, Str);
}
return 1;
}
-
MD:pm(playerid, params[])
{
if(GetPlayerSkin(playerid) == 181) return SendClientMessage(playerid, COLOR_ULTRARED, \"Ezt nem használhatod mert rab vagy!\");
if(GetPlayerSkin(playerid) == 285) return SendClientMessage(playerid, COLOR_ULTRARED, \"Ezt nem használhatod mert Õr vagy!\");
new PID, reason[256], pName[MAX_PLAYER_NAME], Sender[MAX_PLAYER_NAME];
if(sscanf(params, \"us[256]\", PID, reason)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /pm [iD] [Üzenet]\");
if(PID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000FF, \"Hibás ID!\");
new Str[256];
GetPlayerName(PID, pName, sizeof(pName));
GetPlayerName(playerid, Sender, sizeof(Sender));
format(Str, sizeof(Str), \"|- Bejövõ PM Tõle: %s [%d] -|: %s\", Sender, PID, reason);
SendClientMessage(PID, COLOR_YELLOW, Str);
format(Str, sizeof(Str), \"|- PM elküldve neki: %s [%d] -|: %s\", pName, playerid, reason);
SendClientMessage(playerid, COLOR_LIGHTBLUE, Str);
return 1;
}
-
Bocs, lemaradt az MD-rõl a C.. Amúgy még ígyis elküldi..
-
Erre,csak annyi tudok mondani,hogy printeld ki az id-t.
printf(\"%i\",PID);
és majd nézd meg,mit ír ki a konzolban.
-
Nálam ezt a problémát megoldotta egy sscanf frissítés.
-
Nálam ezt a problémát megoldotta egy sscanf frissítés.
Adsz linket?
-
Melyik verzión fut a szerver?
-
Melyik verzión fut a szerver?
0.3d
-
http://dl.dropbox.com/u/21683085/sscanf-0.3d.rar
-
Továbbra is hibásak a sscanf-al kapcsolatos dolgok, mint jelen esetben a pm.