01.02.2010, 17:39
for admin script dcmd is better and u only need to define it :
Top Of Script:
OnPlayerCommandText:
and then put ur command anywhere in the script
for example kick and ban command in strmp :
kick :
Ban :
Top Of Script:
Код:
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
Код:
dcmd(urcommand, how much letters ur command has, cmdtext);
for example kick and ban command in strmp :
kick :
Код:
if(strcmp("/kick", cmd, true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /kick (id) [reason]"); } new id = strval(tmp); if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : Bad player ID"); return 1; } gMessage = strrest(cmdtext,idx); GetPlayerName(id,iName,sizeof(iName)); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been kicked from the server."); if(strlen(gMessage) > 0) { format(Message,sizeof(Message),"Reason: %s",gMessage); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message); } format(Message,sizeof(Message),">> %s(%d) has been kicked.",iName,id); SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message); Kick(id); return 1; } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/kick : You are not an admin"); return 1; } }
Код:
if(strcmp("/ban", cmd, true) == 0) { if(IsPlayerAdmin(playerid)) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /ban (id) [reason]"); } new id = strval(tmp); if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : Bad player ID"); return 1; } gMessage = strrest(cmdtext,idx); GetPlayerName(id,iName,sizeof(iName)); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been banned from the server."); if(strlen(gMessage) > 0) { format(Message,sizeof(Message),"Reason: %s",gMessage); SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message); } format(Message,sizeof(Message),">> %s(%d) has been banned.",iName,id); SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message); Ban(id); return 1; } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : You are not an admin"); return 1; } }