Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Командный процессор на основе rcmd(Romanius), который в свою очередь основан на zcmd(Zeex)
- //Автор: frog163
- //Skype: frog14.05
- //native OnPlayerUseRusCommand(playerid, rus_cmd[], params[]);
- //native fcmd(playerid, params[]);
- #include a_samp
- #if defined fcmd_inc
- #endinput
- #endif
- #define fcmd_inc
- //#define rus_cmd_use//Раскомментировать для поддержки русских команд
- public OnPlayerCommandText(playerid, cmdtext[]){
- if(cmdtext[0] != '/')return true;
- #if defined rus_cmd_use
- if(0xbf < cmdtext[1] < 0x100 || cmdtext[1] == 0xb8 || cmdtext[1] == 0xa8){//проверка на русский символ
- new command[14] = '/', f = 1;
- for(; cmdtext[f] > 0x20; f++)command[f] = cmdtext[f];
- if(funcidx("fcmd_OnPlayerCommandText") > 0){
- if(!OnPlayerUseRusCommand(playerid, command, cmdtext[f]))return CallLocalFunction("fcmd_OnPlayerCommandText", "is", playerid, cmdtext);
- CallLocalFunction("fcmd_OnPlayerCommandText", "is", playerid, cmdtext);
- return true;
- }
- return OnPlayerUseRusCommand(playerid, command, cmdtext[f]);
- }
- #endif
- if(funcidx("fcmd_OnPlayerCommandText") > 0){
- if(!fcmd(playerid, cmdtext))return CallLocalFunction("fcmd_OnPlayerCommandText", "is", playerid, cmdtext);
- CallLocalFunction("fcmd_OnPlayerCommandText", "is", playerid, cmdtext);
- return true;
- }
- return fcmd(playerid, cmdtext);
- }
- fcmd(playerid, fcmd_str[]){
- new f = 1, command[14 char];
- command{0} = '_';
- for( ; fcmd_str[f] > 0x20; f++) command{f} = tolower(fcmd_str[f]);
- if(funcidx(command) > 0){
- if(fcmd_str[f+1])CallLocalFunction(command, "is", playerid, fcmd_str[f+1]);
- else CallLocalFunction(command, "is", playerid, "\1");
- return true;
- }
- return false;
- }
- #define cmd::%0(%1,%2) forward _%0(%1,%2);public _%0(%1,%2)
- #define noparams params[0] == 1
- #define duplicate_cmd(%0,%1); if(!strcmp(rus_cmd, %0, true)){strins(params, %1, 0, 64);return fcmd(playerid, params);}
- #define OnPlayerUseRusCommand() OnPlayerUseRusCommand(playerid, rus_cmd[], params[])
- forward fcmd_OnPlayerCommandText(playerid, cmdtext[]);
- #define OnPlayerCommandText fcmd_OnPlayerCommandText
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement