Создание команды: /лс
Александр Дата: Пятница, 22.07.2011, 12:14:05 | Сообщение # 1
Группа: Пользователи
Сообщений: 298
Здраствуйте. Вчера я сидел и искал систему Личных Сообщений. Но видимо плохо искал Наконецто я её нашол и решил поделиться ею с вами. Начнём. 1)В начало мода добавте: (Как вы поняли это цвета) Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499 #define PM_INCOMING_COLOR 0xFFFF22AA #define PM_OUTGOING_COLOR 0xFFCC2299
2)В public OnPlayerCommandtext Code
new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1];
И в этот же паблик вставляем команду: Code
if(strcmp("/лс", 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("ЛС: %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
Вот и всё. У кого возникли вопросы, хотя я сомневаюсь в этом, пиши их в коменты __________________________ Автор: Nexotronix Источник: http://srv-rus.com/forum/49-2619-1
Dimka_71rus,[east_side]_trane,и конечноже Я... Запомните этих великих флудеров, офтоперов, и просто самых самых :D
Сообщение Здраствуйте. Вчера я сидел и искал систему Личных Сообщений. Но видимо плохо искал Наконецто я её нашол и решил поделиться ею с вами. Начнём. 1)В начало мода добавте: (Как вы поняли это цвета) Code
#define ADMINFS_MESSAGE_COLOR 0xFF444499 #define PM_INCOMING_COLOR 0xFFFF22AA #define PM_OUTGOING_COLOR 0xFFCC2299
2)В public OnPlayerCommandtext Code
new Message[256]; new gMessage[256]; new pName[MAX_PLAYER_NAME+1]; new iName[MAX_PLAYER_NAME+1];
И в этот же паблик вставляем команду: Code
if(strcmp("/лс", 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("ЛС: %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
Вот и всё. У кого возникли вопросы, хотя я сомневаюсь в этом, пиши их в коменты __________________________ Автор: Nexotronix Источник: http://srv-rus.com/forum/49-2619-1 Автор - Александр Дата добавления - 22.07.2011 в 12:14:05
DrumYum Дата: Вторник, 26.07.2011, 16:57:26 | Сообщение # 2
Группа: Пользователи
Сообщений: 52
Code
G:\PWN\Работы\YuM.pwn(716) : error 017: undefined symbol "cmd" G:\PWN\Работы\YuM.pwn(718) : error 017: undefined symbol "tmp" G:\PWN\Работы\YuM.pwn(718) : error 017: undefined symbol "strtok" G:\PWN\Работы\YuM.pwn(720) : error 017: undefined symbol "tmp" G:\PWN\Работы\YuM.pwn(725) : error 017: undefined symbol "tmp" G:\PWN\Работы\YuM.pwn(726) : warning 217: loose indentation G:\PWN\Работы\YuM.pwn(726) : error 017: undefined symbol "strrest" G:\PWN\Работы\YuM.pwn(726) : error 033: array must be indexed (variable "gMessage") G:\PWN\Работы\YuM.pwn(728) : warning 217: loose indentation G:\PWN\Работы\YuM.pwn(748) : warning 217: loose indentation G:\PWN\Работы\YuM.pwn(752) : error 017: undefined symbol "string" G:\PWN\Работы\YuM.pwn(752) : error 017: undefined symbol "string" G:\PWN\Работы\YuM.pwn(752) : error 029: invalid expression, assumed zero G:\PWN\Работы\YuM.pwn(752) : fatal error 107: too many error messages on one line
Хелп =0
Сообщение Code
G:\PWN\Работы\YuM.pwn(716) : error 017: undefined symbol "cmd" G:\PWN\Работы\YuM.pwn(718) : error 017: undefined symbol "tmp" G:\PWN\Работы\YuM.pwn(718) : error 017: undefined symbol "strtok" G:\PWN\Работы\YuM.pwn(720) : error 017: undefined symbol "tmp" G:\PWN\Работы\YuM.pwn(725) : error 017: undefined symbol "tmp" G:\PWN\Работы\YuM.pwn(726) : warning 217: loose indentation G:\PWN\Работы\YuM.pwn(726) : error 017: undefined symbol "strrest" G:\PWN\Работы\YuM.pwn(726) : error 033: array must be indexed (variable "gMessage") G:\PWN\Работы\YuM.pwn(728) : warning 217: loose indentation G:\PWN\Работы\YuM.pwn(748) : warning 217: loose indentation G:\PWN\Работы\YuM.pwn(752) : error 017: undefined symbol "string" G:\PWN\Работы\YuM.pwn(752) : error 017: undefined symbol "string" G:\PWN\Работы\YuM.pwn(752) : error 029: invalid expression, assumed zero G:\PWN\Работы\YuM.pwn(752) : fatal error 107: too many error messages on one line
Хелп =0Автор - DrumYum Дата добавления - 26.07.2011 в 16:57:26
Александр Дата: Вторник, 26.07.2011, 18:31:04 | Сообщение # 3
Группа: Пользователи
Сообщений: 298
к иклудам добавь: P.S: ну естественное его еще скачать надо (гугл те в помощь) и в папку \pawno\include засунуть К форвардам добавь: Code
forward SendPlayerFormattedText(playerid, const str[], color); forward OnPlayerText(playerid,text[]); forward IsStringAName (string[]);
В паблик: public OnPlayerCommandText добавь: Code
new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256];
И в тотже паблик добавь: Code
cmd = strtok(cmdtext, idx);
Code
(Вот смотри твой паблик: public OnPlayerCommandText(playerid, cmdtext[]) } new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256]; cmd = strtok(cmdtext, idx); и тут пошли команды или еще что то :)
_______________ Вроде должно помочь, хотя форварды ваще ненадо добавлять помоему но всё таки попробовать надо (извините я еще новичок в павно, скриптеры поправте )
Dimka_71rus,[east_side]_trane,и конечноже Я... Запомните этих великих флудеров, офтоперов, и просто самых самых :D
Сообщение отредактировал Александр - Вторник, 26.07.2011, 18:37:30
Сообщение к иклудам добавь: P.S: ну естественное его еще скачать надо (гугл те в помощь) и в папку \pawno\include засунуть К форвардам добавь: Code
forward SendPlayerFormattedText(playerid, const str[], color); forward OnPlayerText(playerid,text[]); forward IsStringAName (string[]);
В паблик: public OnPlayerCommandText добавь: Code
new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256];
И в тотже паблик добавь: Code
cmd = strtok(cmdtext, idx);
Code
(Вот смотри твой паблик: public OnPlayerCommandText(playerid, cmdtext[]) } new cmd[256]; new tmp[256]; new Message[256]; new gMessage[256]; cmd = strtok(cmdtext, idx); и тут пошли команды или еще что то :)
_______________ Вроде должно помочь, хотя форварды ваще ненадо добавлять помоему но всё таки попробовать надо (извините я еще новичок в павно, скриптеры поправте )Автор - Александр Дата добавления - 26.07.2011 в 18:31:04
NeaKTIV Дата: Среда, 27.07.2011, 08:52:14 | Сообщение # 4
Группа: Пользователи
Сообщений: 30
Code
C:\Documents and Settings\User\Рабочий стол\Russia_Point{D}{M}.pwn(712) : error 017: undefined symbol "strrest" C:\Documents and Settings\User\Рабочий стол\Russia_Point{D}{M}.pwn(712) : error 033: array must be indexed (variable "gMessage") Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 2 Errors.
ничего не получилось(
Сообщение отредактировал NeaKTIV - Среда, 27.07.2011, 08:58:53
Сообщение Code
C:\Documents and Settings\User\Рабочий стол\Russia_Point{D}{M}.pwn(712) : error 017: undefined symbol "strrest" C:\Documents and Settings\User\Рабочий стол\Russia_Point{D}{M}.pwn(712) : error 033: array must be indexed (variable "gMessage") Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 2 Errors.
ничего не получилось(Автор - NeaKTIV Дата добавления - 27.07.2011 в 08:52:14
admin Дата: Среда, 27.07.2011, 08:58:30 | Сообщение # 5
Группа: Администраторы
Сообщений: 3869
NeaKTIV , где-то я тебе уже ответил функции нет :))ну повторюсь еще раз! 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; }
zm-jail.ru Разработка сайта samp-pawno.ru
Сообщение NeaKTIV , где-то я тебе уже ответил функции нет :))ну повторюсь еще раз! 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; }
Автор - admin Дата добавления - 27.07.2011 в 08:58:30
NeaKTIV Дата: Среда, 27.07.2011, 09:06:24 | Сообщение # 6
Группа: Пользователи
Сообщений: 30
что? хд я не понял)
Сообщение что? хд я не понял) Автор - NeaKTIV Дата добавления - 27.07.2011 в 09:06:24
Arh_Angel Дата: Среда, 27.07.2011, 14:29:54 | Сообщение # 7
Группа: Пользователи
Сообщений: 45
Александр , почему команда /лс а в игре напишет /pm [ид] [сообщение] исправь уж
Сообщение Александр , почему команда /лс а в игре напишет /pm [ид] [сообщение] исправь ужАвтор - Arh_Angel Дата добавления - 27.07.2011 в 14:29:54
Александр Дата: Среда, 27.07.2011, 14:51:18 | Сообщение # 8
Группа: Пользователи
Сообщений: 298
Ой не заметил Увы подправить не могу, сами ___________________________ NeaKTIV В своём моде найди: И вставь туда: 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; }
что непонятного?)
Dimka_71rus,[east_side]_trane,и конечноже Я... Запомните этих великих флудеров, офтоперов, и просто самых самых :D
Сообщение отредактировал Александр - Среда, 27.07.2011, 14:53:26
Сообщение Ой не заметил Увы подправить не могу, сами ___________________________ NeaKTIV В своём моде найди: И вставь туда: 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; }
что непонятного?) Автор - Александр Дата добавления - 27.07.2011 в 14:51:18
NeaKTIV Дата: Среда, 27.07.2011, 16:52:19 | Сообщение # 9
Группа: Пользователи
Сообщений: 30
а если нет такого в моде?).. скажи свой скайп
Сообщение а если нет такого в моде?).. скажи свой скайп Автор - NeaKTIV Дата добавления - 27.07.2011 в 16:52:19
Сообщение Ну онже в инфе (вроде) написан Вот: shindyaev97 Тока с пометкой добавь ___________________________ Если "такого" нет в моде то просто после любого паблика впиши Лучше в сааамы конец мода Автор - Александр Дата добавления - 27.07.2011 в 16:55:28
NeaKTIV Дата: Суббота, 30.07.2011, 08:07:21 | Сообщение # 11
Группа: Пользователи
Сообщений: 30
Я THE_NeiTrall
Сообщение Я THE_NeiTrall Автор - NeaKTIV Дата добавления - 30.07.2011 в 08:07:21
Александр Дата: Суббота, 30.07.2011, 12:38:54 | Сообщение # 12
Группа: Пользователи
Сообщений: 298
Добавляй меня в скайп я тебе все поясню объясню и помогу чем могу
Dimka_71rus,[east_side]_trane,и конечноже Я... Запомните этих великих флудеров, офтоперов, и просто самых самых :D
Сообщение Добавляй меня в скайп я тебе все поясню объясню и помогу чем могу Автор - Александр Дата добавления - 30.07.2011 в 12:38:54
DrumYum Дата: Пятница, 12.08.2011, 23:01:20 | Сообщение # 13
Группа: Пользователи
Сообщений: 52
Code
G:\PWN\Работы\Копия YuM.pwn(863) : error 017: undefined symbol "strtok" G:\PWN\Работы\Копия YuM.pwn(863) : error 033: array must be indexed (variable "cmd") G:\PWN\Работы\Копия YuM.pwn(864) : error 017: undefined symbol "strtok" G:\PWN\Работы\Копия YuM.pwn(864) : error 033: array must be indexed (variable "tmp")
Ай нид мор хелп :\
Сообщение отредактировал DrumYum - Пятница, 12.08.2011, 23:52:44
Сообщение Code
G:\PWN\Работы\Копия YuM.pwn(863) : error 017: undefined symbol "strtok" G:\PWN\Работы\Копия YuM.pwn(863) : error 033: array must be indexed (variable "cmd") G:\PWN\Работы\Копия YuM.pwn(864) : error 017: undefined symbol "strtok" G:\PWN\Работы\Копия YuM.pwn(864) : error 033: array must be indexed (variable "tmp")
Ай нид мор хелп :\Автор - DrumYum Дата добавления - 12.08.2011 в 23:01:20
Александр Дата: Суббота, 13.08.2011, 15:08:45 | Сообщение # 14
Группа: Пользователи
Сообщений: 298
В паблик: public OnPlayerCommandText добавь: Code
new cmd[256]; new tmp[256]; cmd = strtok(cmdtext, idx);
Dimka_71rus,[east_side]_trane,и конечноже Я... Запомните этих великих флудеров, офтоперов, и просто самых самых :D
Сообщение В паблик: public OnPlayerCommandText добавь: Code
new cmd[256]; new tmp[256]; cmd = strtok(cmdtext, idx);
Автор - Александр Дата добавления - 13.08.2011 в 15:08:45
DrumYum Дата: Воскресенье, 14.08.2011, 17:31:17 | Сообщение # 15
Группа: Пользователи
Сообщений: 52
Quote (Александр )
В паблик: public OnPlayerCommandText добавь: Код: Выделить всё new cmd[256]; new tmp[256]; cmd = strtok(cmdtext, idx);
Code
G:\PWN\Работы\Копия YuM.pwn(863) : error 017: undefined symbol "strtok" G:\PWN\Работы\Копия YuM.pwn(863) : error 033: array must be indexed (variable "cmd") G:\PWN\Работы\Копия YuM.pwn(876) : error 017: undefined symbol "idx" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 3 Errors.
Добавлено (14.08.2011, 17:31) --------------------------------------------- Что вообще такое strtok? Помоему для него нужен специальный инклюд... Я вроде как знаю как всё сделать но этот strtok меня задрал D:
Сообщение Quote (Александр )
В паблик: public OnPlayerCommandText добавь: Код: Выделить всё new cmd[256]; new tmp[256]; cmd = strtok(cmdtext, idx);
Code
G:\PWN\Работы\Копия YuM.pwn(863) : error 017: undefined symbol "strtok" G:\PWN\Работы\Копия YuM.pwn(863) : error 033: array must be indexed (variable "cmd") G:\PWN\Работы\Копия YuM.pwn(876) : error 017: undefined symbol "idx" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 3 Errors.
Добавлено (14.08.2011, 17:31) --------------------------------------------- Что вообще такое strtok? Помоему для него нужен специальный инклюд... Я вроде как знаю как всё сделать но этот strtok меня задрал D:
Автор - DrumYum Дата добавления - 14.08.2011 в 17:31:17
Загрузка страницы, займет меньше минуты...
Статистика Форума
Последнии темы
Читаемые темы
Лучшие пользователи
Новые пользователи