19.12.2010, 17:31
Hi,i maked a fast /pm cmd for my GM.
I got this:
I got this errors:
What's wrong?
If i remove the variable pName i get the "undefenied symbol",lol.
I got this:
pawn Код:
new pMessage[128];
new gMessage[128];
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
dcmd_pm(playerid, params[])
{
if(!strlen(params) || strlen(params) > 5) {
SendClientMessage(playerid,COLOR_YELLOW,"Usage: /pm (id) (message)");
return 1;
}
new id = strval(params);
gMessage = strrest(cmdtext,idx);
if(!strlen(gMessage)) {
SendClientMessage(playerid,COLOR_YELLOW,"Usage: /pm (id) (message)");
return 1;
}
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid,COLOR_YELLOW,"/pm : Bad player ID");
return 1;
}
if(playerid != id) {
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(pMessage,sizeof(pMessage),"<Private Message to %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,COLOR_YELLOW,pMessage);
format(pMessage,sizeof(pMessage),">Private Message from %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,COLOR_YELLOW,pMessage);
new str[100];
format(str,sizeof str," **PM from %s (%d) to %s (%d): %s",pName,playerid,iName,id,gMessage);
SendClientMessageToAdmins(COLOR_GREEN,str,1);
new str1[100];
format(str1,sizeof str1,"0,5PM from %s (%d) to %s (%d): %s",pName,playerid,iName,id,gMessage);
IRC_GroupSay(gGroupID, channel, str1);
printf(pMessage);
PlayerPlaySound(id,1085,0.0,0.0,0.0);
printf("PM: %s",pMessage);
}
else {
SendClientMessage(playerid,COLOR_YELLOW,"You cannot PM yourself");
}
return 1;
}
Код:
C:\Documents and Settings\k\Desktop\SFWAR.pwn(802) : warning 219: local variable "pName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1063) : error 017: undefined symbol "strrest" C:\Documents and Settings\k\Desktop\SFWAR.pwn(1063) : error 033: array must be indexed (variable "gMessage") C:\Documents and Settings\k\Desktop\SFWAR.pwn(1081) : warning 202: number of arguments does not match definition C:\Documents and Settings\k\Desktop\SFWAR.pwn(1120) : warning 219: local variable "pName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1120) : warning 219: local variable "iName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1158) : warning 219: local variable "pName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1158) : warning 219: local variable "iName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1180) : warning 219: local variable "pName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1180) : warning 219: local variable "iName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1203) : warning 219: local variable "pName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1203) : warning 219: local variable "iName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1230) : warning 219: local variable "pName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1230) : warning 219: local variable "iName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1261) : warning 219: local variable "pName" shadows a variable at a preceding level C:\Documents and Settings\k\Desktop\SFWAR.pwn(1261) : warning 219: local variable "iName" shadows a variable at a preceding level Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 2 Errors.
If i remove the variable pName i get the "undefenied symbol",lol.