Помоги сделать команду /pm и /spec/
Александр Дата: Среда, 20.07.2011, 22:53:35 | Сообщение # 1
Группа: Пользователи
Сообщений: 298
Доброго времени суток. Примерно месяц назад я решил сделать свой сервере самп. Ну мод скачал ТДМ (т.к еще мало знал в ПАВНО)... Потом его полностью переделал... Сделал админку по уроку..и т.д.. И столкнулся с проблемой.. Мне нужны 2 команды на сервер: /pm (личные сообщения) /spec (админ команда для слежки за игроком) (/pm НЕ В ДИАЛОГОВОМ ОКНЕ ! просто вот так: /pm ID текст) Может у кого есть эти команды.. Напиши пожалуйста. P.S: по форуму лазил, нечего нужного ненашёл... P.S.S: мод у меня ТДМ (повторяюсь
Dimka_71rus,[east_side]_trane,и конечноже Я... Запомните этих великих флудеров, офтоперов, и просто самых самых :D
Сообщение отредактировал Александр - Среда, 20.07.2011, 23:19:35
Сообщение Доброго времени суток. Примерно месяц назад я решил сделать свой сервере самп. Ну мод скачал ТДМ (т.к еще мало знал в ПАВНО)... Потом его полностью переделал... Сделал админку по уроку..и т.д.. И столкнулся с проблемой.. Мне нужны 2 команды на сервер: /pm (личные сообщения) /spec (админ команда для слежки за игроком) (/pm НЕ В ДИАЛОГОВОМ ОКНЕ ! просто вот так: /pm ID текст) Может у кого есть эти команды.. Напиши пожалуйста. P.S: по форуму лазил, нечего нужного ненашёл... P.S.S: мод у меня ТДМ (повторяюсь Автор - Александр Дата добавления - 20.07.2011 в 22:53:35
admin Дата: Четверг, 21.07.2011, 02:57:48 | Сообщение # 2
Группа: Администраторы
Сообщений: 3869
Александр , добавляешь себе в мод функцию: Code
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; }
Это функция для того чтоб-бы админы могли читать сообщения(RCON ADMIN) дальше находишь: Code
public OnPlayerCommandText
туда вставишь саму команду: Code
if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщения)"); return 1; } new id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (Сообщения)"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Неверный ID"); return 1; } if(playerid != id) { GetPlayerName(id,iName,sizeof(iName)); GetPlayerName(playerid,pppName,sizeof(pppName)); format(Message,sizeof(Message),"Лс отправлено %s(%d): %s",iName,id,gMessage); SendClientMessage(playerid,PM_OUTGOING_COLOR,Message); format(Message,sizeof(Message),"Лс от %s(%d): %s",pppName,playerid,gMessage); SendClientMessage(id,PM_INCOMING_COLOR,Message); PlayerPlaySound(id,1085,0.0,0.0,0.0); printf("PM: %s",Message); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerAdmin(i)) { format(string, sizeof(string), "Лс отправлено от %s ê %s : %s", pppName, iName, gMessage); SendClientMessage(i,COLOR_GREEN, string); } } } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Вы не можете себе отправлять (ЛС)"); } return 1; }
После этого верху мода: Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499 #define PM_INCOMING_COLOR 0xFFFF22AA #define PM_OUTGOING_COLOR 0xFFCC2299
это у нас цвета! Потом еще добавляешь функцию: Code
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5) { if(IsPlayerConnected(playerid)) { new Float:posx, Float:posy, Float:posz; new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))) { if(!BigEar[i]) { GetPlayerPos(i, posx, posy, posz); tempposx = (oldposx -posx); tempposy = (oldposy -posy); tempposz = (oldposz -posz); if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16))) { SendClientMessage(i, col1, string); } else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8))) { SendClientMessage(i, col2, string); } else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4))) { SendClientMessage(i, col3, string); } else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2))) { SendClientMessage(i, col4, string); } else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { SendClientMessage(i, col5, string); } } else { SendClientMessage(i, col1, string); } } } } return 1; }
потом верху мода вставишь переменные: Code
new iName[MAX_PLAYER_NAME+1]; new gMessage[256]; new pppName[MAX_PLAYER_NAME+1]; new Message[256];
ну а вот сам FS беру с оф.сайта sa-mp.com слежка за игроками! Code
#pragma tabsize 0 #include <a_samp> #include <core> #include <float> #include "../include/gl_common.inc" #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFFF //------------------------------------------------------------------------------------------------------ #define ADMIN_SPEC_TYPE_NONE 0 #define ADMIN_SPEC_TYPE_PLAYER 1 #define ADMIN_SPEC_TYPE_VEHICLE 2 new gSpectateID[MAX_PLAYERS]; new gSpectateType[MAX_PLAYERS]; //------------------------------------------------------------------------------------------------------ public OnFilterScriptInit() { } //------------------------------------------------------------------------------------------------------ public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { // IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE // TO CHANGE THEIR INTERIOR ID TO MATCH new x = 0; while(x!=MAX_PLAYERS) { if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER ) { SetPlayerInterior(x,newinteriorid); } x++; } } //------------------------------------------------------------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new specplayerid, specvehicleid, idx; // WE ONLY DEAL WITH COMMANDS FROM ADMINS IN THIS FILTERSCRIPT if(!IsPlayerAdmin(playerid)) return 0; cmd = strtok(cmdtext, idx); // SPECTATE A PLAYER if(strcmp(cmd, "/specplayer", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [playerid]"); return 1; } specplayerid = strval(tmp); if(!IsPlayerConnected(specplayerid)) { SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active."); return 1; } TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, specplayerid); SetPlayerInterior(playerid,GetPlayerInterior(specplayerid)); gSpectateID[playerid] = specplayerid; gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER; return 1; } // SPECTATE A VEHICLE if(strcmp(cmd, "/specvehicle", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specvehicle [vehicleid]"); return 1; } specvehicleid = strval(tmp); if(specvehicleid < MAX_VEHICLES) { TogglePlayerSpectating(playerid, 1); PlayerSpectateVehicle(playerid, specvehicleid); gSpectateID[playerid] = specvehicleid; gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE; } return 1; } // STOP SPECTATING if(strcmp(cmd, "/specoff", true) == 0) { TogglePlayerSpectating(playerid, 0); gSpectateID[playerid] = INVALID_PLAYER_ID; gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE; return 1; } return 0; }
думаю разберешься куда что вставлять))на счет слежки и пм)
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение Александр , добавляешь себе в мод функцию: Code
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; }
Это функция для того чтоб-бы админы могли читать сообщения(RCON ADMIN) дальше находишь: Code
public OnPlayerCommandText
туда вставишь саму команду: Code
if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщения)"); return 1; } new id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (Сообщения)"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Неверный ID"); return 1; } if(playerid != id) { GetPlayerName(id,iName,sizeof(iName)); GetPlayerName(playerid,pppName,sizeof(pppName)); format(Message,sizeof(Message),"Лс отправлено %s(%d): %s",iName,id,gMessage); SendClientMessage(playerid,PM_OUTGOING_COLOR,Message); format(Message,sizeof(Message),"Лс от %s(%d): %s",pppName,playerid,gMessage); SendClientMessage(id,PM_INCOMING_COLOR,Message); PlayerPlaySound(id,1085,0.0,0.0,0.0); printf("PM: %s",Message); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerAdmin(i)) { format(string, sizeof(string), "Лс отправлено от %s ê %s : %s", pppName, iName, gMessage); SendClientMessage(i,COLOR_GREEN, string); } } } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Вы не можете себе отправлять (ЛС)"); } return 1; }
После этого верху мода: Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499 #define PM_INCOMING_COLOR 0xFFFF22AA #define PM_OUTGOING_COLOR 0xFFCC2299
это у нас цвета! Потом еще добавляешь функцию: Code
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5) { if(IsPlayerConnected(playerid)) { new Float:posx, Float:posy, Float:posz; new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))) { if(!BigEar[i]) { GetPlayerPos(i, posx, posy, posz); tempposx = (oldposx -posx); tempposy = (oldposy -posy); tempposz = (oldposz -posz); if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16))) { SendClientMessage(i, col1, string); } else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8))) { SendClientMessage(i, col2, string); } else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4))) { SendClientMessage(i, col3, string); } else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2))) { SendClientMessage(i, col4, string); } else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) { SendClientMessage(i, col5, string); } } else { SendClientMessage(i, col1, string); } } } } return 1; }
потом верху мода вставишь переменные: Code
new iName[MAX_PLAYER_NAME+1]; new gMessage[256]; new pppName[MAX_PLAYER_NAME+1]; new Message[256];
ну а вот сам FS беру с оф.сайта sa-mp.com слежка за игроками! Code
#pragma tabsize 0 #include <a_samp> #include <core> #include <float> #include "../include/gl_common.inc" #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFFF //------------------------------------------------------------------------------------------------------ #define ADMIN_SPEC_TYPE_NONE 0 #define ADMIN_SPEC_TYPE_PLAYER 1 #define ADMIN_SPEC_TYPE_VEHICLE 2 new gSpectateID[MAX_PLAYERS]; new gSpectateType[MAX_PLAYERS]; //------------------------------------------------------------------------------------------------------ public OnFilterScriptInit() { } //------------------------------------------------------------------------------------------------------ public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { // IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE // TO CHANGE THEIR INTERIOR ID TO MATCH new x = 0; while(x!=MAX_PLAYERS) { if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER ) { SetPlayerInterior(x,newinteriorid); } x++; } } //------------------------------------------------------------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new specplayerid, specvehicleid, idx; // WE ONLY DEAL WITH COMMANDS FROM ADMINS IN THIS FILTERSCRIPT if(!IsPlayerAdmin(playerid)) return 0; cmd = strtok(cmdtext, idx); // SPECTATE A PLAYER if(strcmp(cmd, "/specplayer", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [playerid]"); return 1; } specplayerid = strval(tmp); if(!IsPlayerConnected(specplayerid)) { SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active."); return 1; } TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, specplayerid); SetPlayerInterior(playerid,GetPlayerInterior(specplayerid)); gSpectateID[playerid] = specplayerid; gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER; return 1; } // SPECTATE A VEHICLE if(strcmp(cmd, "/specvehicle", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specvehicle [vehicleid]"); return 1; } specvehicleid = strval(tmp); if(specvehicleid < MAX_VEHICLES) { TogglePlayerSpectating(playerid, 1); PlayerSpectateVehicle(playerid, specvehicleid); gSpectateID[playerid] = specvehicleid; gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE; } return 1; } // STOP SPECTATING if(strcmp(cmd, "/specoff", true) == 0) { TogglePlayerSpectating(playerid, 0); gSpectateID[playerid] = INVALID_PLAYER_ID; gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE; return 1; } return 0; }
думаю разберешься куда что вставлять))на счет слежки и пм)Автор - admin Дата добавления - 21.07.2011 в 02:57:48
drifter-dron Дата: Четверг, 21.07.2011, 09:26:37 | Сообщение # 3
Группа: Пользователи
Сообщений: 477
какой то запудренный код хотя поф) я его всё равно не собираюсь ставить))
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение какой то запудренный код хотя поф) я его всё равно не собираюсь ставить))Автор - drifter-dron Дата добавления - 21.07.2011 в 09:26:37
Сообщение drifter-dron , чем он тебе не нравится?Автор - admin Дата добавления - 21.07.2011 в 09:42:23
drifter-dron Дата: Четверг, 21.07.2011, 09:44:17 | Сообщение # 5
Группа: Пользователи
Сообщений: 477
admin , я не говорю что гне нравится, прост он какой то мне не очень понятный) да пофиг в принципе))
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение admin , я не говорю что гне нравится, прост он какой то мне не очень понятный) да пофиг в принципе))Автор - drifter-dron Дата добавления - 21.07.2011 в 09:44:17
Александр Дата: Четверг, 21.07.2011, 11:53:54 | Сообщение # 6
Группа: Пользователи
Сообщений: 298
Спасибо большое Только я попроще нашол урок (по твоему сделал кучу предупр. и ошибок выдал) Вот попонятней и по легче урок (вдруг кому тоже надо): В начало мада добавляете: Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499 #define PM_INCOMING_COLOR 0xFFFF22AA #define PM_OUTGOING_COLOR 0xFFCC2299
В OnPlayerCommandtext Вставляете: Code
new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1];
А потом и саму команду! Code
if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)"); return 1; } new id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Hеправильный 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); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerAdmin(i)) { format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage); SendClientMessage(i,COLOR_GREEN, string); } } } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Ты не можешь отсылать себе ЛС"); } return 1; }
Вот это: Code
for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerAdmin(i)) { format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage); SendClientMessage(i,COLOR_GREEN, string); } }
Отправляет сообщение кто кому что по личке прислал! Ну к римеру пишу я: у админа будет такая фишка: Code
ЛС отправлено от Nexotronix к RUSSS: привет Russs
[/code] Автор: Nexotronix _______________________ Админ ты неможеш мне просто [FS] слежки дать? а то я чет нечо непонял из твоего урока Либо можеш обяснить как сделать слежку, только попонятней Заранне спасибо
Dimka_71rus,[east_side]_trane,и конечноже Я... Запомните этих великих флудеров, офтоперов, и просто самых самых :D
Сообщение отредактировал Александр - Четверг, 21.07.2011, 12:02:15
Сообщение Спасибо большое Только я попроще нашол урок (по твоему сделал кучу предупр. и ошибок выдал) Вот попонятней и по легче урок (вдруг кому тоже надо): В начало мада добавляете: Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499 #define PM_INCOMING_COLOR 0xFFFF22AA #define PM_OUTGOING_COLOR 0xFFCC2299
В OnPlayerCommandtext Вставляете: Code
new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1];
А потом и саму команду! Code
if(strcmp("/pm", cmd, true) == 0) { tmp = strtok(cmdtext,idx); if(!strlen(tmp) || strlen(tmp) > 5) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)"); return 1; } new id = strval(tmp); gMessage = strrest(cmdtext,idx); if(!strlen(gMessage)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Использование: /pm (id) (сообщение)"); return 1; } if(!IsPlayerConnected(id)) { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Hеправильный 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); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerAdmin(i)) { format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage); SendClientMessage(i,COLOR_GREEN, string); } } } else { SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Ты не можешь отсылать себе ЛС"); } return 1; }
Вот это: Code
for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerAdmin(i)) { format(string, sizeof(string), "ЛС отправлено от %s к %s : %s", pName, iName, gMessage); SendClientMessage(i,COLOR_GREEN, string); } }
Отправляет сообщение кто кому что по личке прислал! Ну к римеру пишу я: у админа будет такая фишка: Code
ЛС отправлено от Nexotronix к RUSSS: привет Russs
[/code] Автор: Nexotronix _______________________ Админ ты неможеш мне просто [FS] слежки дать? а то я чет нечо непонял из твоего урока Либо можеш обяснить как сделать слежку, только попонятней Заранне спасибо Автор - Александр Дата добавления - 21.07.2011 в 11:53:54
Загрузка страницы, займет меньше минуты...
Статистика Форума
Последнии темы
Читаемые темы
Лучшие пользователи
Новые пользователи