24.02.2010, 10:10
hi guys i need a scripter to make me a /pm command and after pm the player id's, if a player only types /pm i want it to say USAGE: /pm [playerid] [text] is this possible?
//------------------------------------------------------------------------------------------------------ if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,YELLOW,"Usage: /pm [id] (Message)"); return 1; } id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,YELLOW,"Usage: /pm [id] [Message]"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,YELLOW,"Bad player ID"); return 1; } if(playerid != id) { GetPlayerName(id,iName,sizeof(iName)); GetPlayerName(playerid,pName,sizeof(pName)); format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage); SendClientMessage(playerid,PM_OUTGOING_COLOR,Message); format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage); SendClientMessage(id,PM_INCOMING_COLOR,Message); PlayerPlaySound(id,1085,0.0,0.0,0.0); printf("PM: %s",Message); } else { SendClientMessage(playerid,YELLOW,"You cannot PM yourself"); } return 1; } //------------------------------------------------------------------------------------------------------
D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(290) : error 017: undefined symbol "cmd" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(292) : error 017: undefined symbol "tmp" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(292) : error 017: undefined symbol "strtok" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(294) : error 017: undefined symbol "tmp" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(299) : error 017: undefined symbol "tmp" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(300) : error 017: undefined symbol "gMessage" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(300) : error 017: undefined symbol "strrest" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(302) : error 017: undefined symbol "gMessage" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(312) : error 017: undefined symbol "iName" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(312) : error 017: undefined symbol "iName" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(312) : error 029: invalid expression, assumed zero D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(312) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 12 Errors.
new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1]; new idx;
stock strrest(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[128]; while ((index < length) && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(263) : warning 217: loose indentation D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(263) : error 017: undefined symbol "strtok" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(263) : error 033: array must be indexed (variable "cmd") D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(280) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(296) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(299) : warning 217: loose indentation D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(301) : error 017: undefined symbol "strtok" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(301) : error 033: array must be indexed (variable "tmp") D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(304) : error 017: undefined symbol "YELLOW" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(305) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(308) : error 017: undefined symbol "id" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(309) : error 017: undefined symbol "strrest" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(309) : error 033: array must be indexed (variable "gMessage") D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(312) : error 017: undefined symbol "YELLOW" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(313) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(316) : error 017: undefined symbol "id" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(317) : error 017: undefined symbol "YELLOW" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(318) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(320) : error 029: invalid expression, assumed zero D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(320) : error 017: undefined symbol "strrest" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(320) : error 029: invalid expression, assumed zero D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(320) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 20 Errors.
strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1]; new idx; if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,YELLOW,"Usage: /pm [id] (Message)"); return 1; } id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,YELLOW,"Usage: /pm [id] [Message]"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,YELLOW,"Bad player ID"); return 1; } if(playerid != id) { GetPlayerName(id,iName,sizeof(iName)); GetPlayerName(playerid,pName,sizeof(pName)); format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage); SendClientMessage(playerid,PM_OUTGOING_COLOR,Message); format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage); SendClientMessage(id,PM_INCOMING_COLOR,Message); PlayerPlaySound(id,1085,0.0,0.0,0.0); printf("PM: %s",Message); } else { SendClientMessage(playerid,YELLOW,"You cannot PM yourself"); } return 1; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }
D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(65) : error 017: undefined symbol "MAX_PLAYER_NAME" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(66) : error 017: undefined symbol "MAX_PLAYER_NAME" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(263) : warning 219: local variable "cmd" shadows a variable at a preceding level D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(264) : warning 219: local variable "tmp" shadows a variable at a preceding level D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(265) : warning 219: local variable "Message" shadows a variable at a preceding level D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(266) : warning 219: local variable "gMessage" shadows a variable at a preceding level D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(267) : warning 219: local variable "pName" shadows a variable at a preceding level D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(268) : warning 219: local variable "iName" shadows a variable at a preceding level D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(269) : warning 219: local variable "idx" shadows a variable at a preceding level D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(271) : warning 217: loose indentation D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(271) : error 017: undefined symbol "strtok" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(271) : error 033: array must be indexed (variable "cmd") D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(288) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(304) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(309) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(313) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(315) : error 021: symbol already defined: "cmd" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(316) : warning 217: loose indentation D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(316) : error 021: symbol already defined: "tmp" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(317) : error 021: symbol already defined: "Message" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(318) : error 021: symbol already defined: "gMessage" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(319) : error 021: symbol already defined: "pName" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(320) : error 021: symbol already defined: "iName" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(321) : error 021: symbol already defined: "idx" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(323) : warning 217: loose indentation D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(325) : error 017: undefined symbol "strtok" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(325) : error 033: array must be indexed (variable "tmp") D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(328) : error 017: undefined symbol "YELLOW" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(329) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(332) : error 017: undefined symbol "id" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(333) : error 017: undefined symbol "strrest" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(333) : error 033: array must be indexed (variable "gMessage") D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(336) : error 017: undefined symbol "YELLOW" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(337) : error 079: inconsistent return types (array & non-array) D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(340) : error 017: undefined symbol "id" D:\samp03asvr_R4_win32\gamemodes\Untitled.pwn(341) : error 017: undefined symbol "YELLOW" Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 26 Errors.