 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Команды
| |
| Shokk | Дата: Понедельник, 09.06.2008, 13:32 | Сообщение # 1 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус: 
| Сначала пример простой команды if (!strcmp(cmdtext, "/команда", true, 8)) // 8 - потому что команда состоит из 8 символов { /* действие команды */ return 1; } Пример команды - /me Code if (!strcmp(cmdtext, "/me", true, 3)) { if(cmdtext[3] == 0) { SendClientMessage(playerid, 0xFF0000FF, "Применение: /me [действие]"); return 1; } new str[128]; GetPlayerName(playerid, str, sizeof(str)); format(str, sizeof(str), "* %s %s", str, cmdtext[4]); SendClientMessageToAll(0x30CD30AA, str); return 1; } Теперь о командах с функцией strtok. Эта функция используется во многих командах. cmd = strtok(cmdtext, idx); if(strcmp(cmd,"/команда",true) == 0) { /* действие */ return 1; } Пример команды - /kick Code if(strcmp(cmd,"/kick",true) == 0) // true/false - игнорировать регистр (true - да, false - нет) { new string[256]; tmp = strtok(cmdtext, idx); // tmp - это то что игрок введет после кик (например /kick 4) if(!strlen(tmp)) // если игрок ввел просто /kick { SendClientMessage(playerid,0x33FF33AA,"Применение: /kick [id]"); return 1; } giveplayerid = strval(tmp); // giveplayerid - это игрок которого будут кикать if(IsPlayerAdmin(playerid)) // проверяет является ли игрок админом, если нет - облом { SendClientMessage(playerid,0x00AAAAAA,"Tы не админ!"); return 1; } if(IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid,0x00AAAAAA," Игрок не подключен!"); return 1; } GetPlayerName(playerid,sendername,sizeof(sendername)); GetPlayerName(giveplayerid,playername,sizeof(playername)); format(string,sizeof(string),"%s кикнул игрока %s.",sendername,playername); SendClientMessageToAll(0x33FF33AA,string); Kick(giveplayerid); return 1; } Вот сама функция: Code 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; } Вставляем в самый низ скрипта.
Ginex Rap - Группа "Ginex" В контакте www.Ginex-Rap.de - Оффициальный сайт группы Ginex.
Сообщение отредактировал V4N0M - Понедельник, 09.06.2008, 16:37 |
| |
|
|
| Torres | Дата: Понедельник, 09.06.2008, 13:41 | Сообщение # 2 |
|
Местный
Группа:
Продвинутые
Сообщений: 690
Награды: 2
Город: Йошкар-Ола
Репутация: 127
Замечания: 0%
Статус: 
| Quote (V4N0M) if(strcmp(cmd,"/kick",true) == 0) { new string[256];tmp = strtok(cmdtext, idx); // tmp - это то что игрок введет после кик (например /kick 4) if(!strlen(tmp)) // если игрок ввел просто /kick { SendClientMessage(playerid,0x33FF33AA,"Применение: /kick [id]"); return 1; } giveplayerid = strval(tmp); // giveplayerid - это игрок которого будут кикать if(IsPlayerAdmin(playerid)) // проверяет является ли игрок админом, если нет - облом { SendClientMessage(playerid,0x00AAAAAA,"Tы не админ!"); return 1; } if (IsPlayerConnected(giveplayerid)) { SendClientMessage(playerid,0x00AAAAAA," Игрок не подключен!"); return 1; } GetPlayerName(playerid,sendername,sizeof(sendername)); GetPlayerName(giveplayerid,playername,sizeof(playername)); format(string,sizeof(string),"%s кикнул игрока %s.",sendername,playername); SendClientMessageToAll(0x33FF33AA,string); Kick(giveplayerid); return 1; } Надо не if(IsPlayerAdmin(playerid)),а if(!IsPlayerAdmin(playerid))
[GM-MYSQL-PHP]PEN1:Ultra LS - совместим с samp 0.3 [ADD]MTA map converter
|
| |
|
|
| Shokk | Дата: Понедельник, 09.06.2008, 13:45 | Сообщение # 3 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус: 
| Quote (Torres) Надо не if(IsPlayerAdmin(playerid)),а if(!IsPlayerAdmin(playerid)) да. точно if(IsPlayerAdmin(playerid)) в том случае когда Code if(IsPlayerAdmin(playerid)) { Kick(giveplayerid); } else { SendClientMessage(playerid,0xFFFFFFAA,"Tы не админ!"); }
Ginex Rap - Группа "Ginex" В контакте www.Ginex-Rap.de - Оффициальный сайт группы Ginex.
|
| |
|
|
| Orange | Дата: Вторник, 10.06.2008, 08:22 | Сообщение # 4 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус: 
| или еще можно такой вариант: Code if(strcmp(cmdtext, "/command", true) == 0) { if(IsPlayerAdmin(playerid)) { /* действие */ } else return SendClientMessage(playerid,COLOR_RED,"Вы не Администратор, чтобы использовать эту команду!"); }
Сообщение отредактировал Mishanzanza - Вторник, 10.06.2008, 08:22 |
| |
|
|
| Петрович | Дата: Вторник, 10.06.2008, 08:55 | Сообщение # 5 |
|
Новенький
Группа:
Пользователи
Сообщений: 33
Награды: 1
Город: Новосибирск
Репутация: 2
Замечания: 20%
Статус: 
| А можите сделать команду,вот если игрок задавит,или убьёт с места шофёра, то его жизни становятся 5% ? у меня не получается пропесать эту функцию...
|
| |
|
|
| Shokk | Дата: Суббота, 14.06.2008, 16:21 | Сообщение # 6 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус: 
| Quote (Петрович) А можите сделать команду,вот если игрок задавит,или убьёт с места шофёра, то его жизни становятся 5% ? у меня не получается пропесать эту функцию... В OnPlayerDeath(playerid) вставь: Code if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER) { if(reason == 28 || reason == 29 || reason == 32) { SetPlayerHealth(killerid,5); ResetPlayerWeapons(killerid); GetPlayerPos(killerid,x,y,z); SetPlayerPos(killerid,x,y,z+3); SendClientMessage(killerid,0xFFFF00AA,"B следующий раз - лопатой по голове!"); } }
Ginex Rap - Группа "Ginex" В контакте www.Ginex-Rap.de - Оффициальный сайт группы Ginex.
|
| |
|
|
| KrovKop | Дата: Воскресенье, 15.06.2008, 19:08 | Сообщение # 7 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 95
Награды: 1
Город: OdeSSa
Репутация: 4
Замечания: 20%
Статус: 
| V4N0M, а где можно просмотреть все reason?o_o Ато я вставил это функцию, а мну вертолем рубили как хотели оО
Я мало шарю, но творю :) Vinewood TDM 0.1 - работа кипит (72%) P.S. Спасибо всем кто помогает) KrovKop aka BuTbKA
Сообщение отредактировал KrovKop - Воскресенье, 15.06.2008, 19:12 |
| |
|
|
| Shokk | Дата: Понедельник, 16.06.2008, 13:10 | Сообщение # 8 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 293
Награды: 1
Город: Тюмень
Репутация: 3
Замечания: 60%
Статус: 
| Так reason - это и есть ID'ы оружия. А посмотреть их можно в: 1) SAMP TextBooks (на сайте есть) 2) Инклуд a_samp.inc там есть все иды оружия Quote (KrovKop) Ато я вставил это функцию, а мну вертолем рубили как хотели оО Так эта функция действует только на ID'ы ламоганов (UZI, Tec9, MP5). А чтоб от верта.. ну там есть в a_samp.inc дефайн WEAPON_VEHICLE
Ginex Rap - Группа "Ginex" В контакте www.Ginex-Rap.de - Оффициальный сайт группы Ginex.
Сообщение отредактировал V4N0M - Понедельник, 16.06.2008, 13:13 |
| |
|
|
| [UTP]sparker | Дата: Вторник, 17.06.2008, 10:44 | Сообщение # 9 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 196
Награды: 1
Репутация: 32
Замечания: 0%
Статус: 
| Quote (Torres) Надо не if(IsPlayerAdmin(playerid)),а if(!IsPlayerAdmin(playerid)) Т.к. IsPlayerAdmin возвращает 1,если игрок админ,и 0,если нет, можно и: if(IsPlayerAdmin(playerid)==0) - проверка.если игрок НЕ админ. if(IsPlayerAdmin(playerid)==1) - проверка.если игрок админ.
Мои разработки: [FS]Часы [FS]Время+дата [GM]Захват флага [GM]Skyland [GM]SFTDM
Сообщение отредактировал [UTP]sparker - Вторник, 17.06.2008, 10:45 |
| |
|
|
| KrovKop | Дата: Среда, 18.06.2008, 22:29 | Сообщение # 10 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 95
Награды: 1
Город: OdeSSa
Репутация: 4
Замечания: 20%
Статус: 
| V4N0M, спасибо.
Я мало шарю, но творю :) Vinewood TDM 0.1 - работа кипит (72%) P.S. Спасибо всем кто помогает) KrovKop aka BuTbKA
|
| |
|
|
| river | Дата: Суббота, 21.06.2008, 16:03 | Сообщение # 11 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 284
Награды: 1
Город: Москва
Репутация: 37
Замечания: 0%
Статус: 
| Выложите кто нить команду на смену времени /settime а то найти никак не могу (
|
| |
|
|
| xXxAXExXx | Дата: Воскресенье, 24.01.2010, 20:31 | Сообщение # 12 |
|
Новенький
Группа:
Пользователи
Сообщений: 18
Награды: 1
Город: ы
Репутация: -6
Замечания: 0%
Статус: 
| А как сделать, чтобы здоровье у игрока замораживалось ? Т.е например вводиш команду, и здоровье замораживаеться, и при любых падениях (даже /skydive здоровье было полным, т.е не отнималось).
217.70.119.180:7777 - Smart Life Role Play
|
| |
|
|
| _GreenDeR_ | Дата: Воскресенье, 24.01.2010, 20:48 | Сообщение # 13 |
|
Группа:
I'm V.I.P.
Сообщений: 640
Награды: 23
Город: Нет на Карте
Репутация: 599
Замечания: 60%
Статус: 
| xXxAXExXx, всмысле? годмод?
Интернет-магазин STEAM-KEY лицензионных ключей steam по низким ценам
|
| |
|
|
| Sаint | Дата: Воскресенье, 24.01.2010, 23:03 | Сообщение # 14 |
|
Постоялец
Группа:
Продвинутые
Сообщений: 316
Награды: 10
Город: Rossosh
Репутация: 110
Замечания: 0%
Статус: 
| xXxAXExXx, испозуй Code [b]SetPlayerHealth(playerid, 99999.0);[/b]
My profile on vicecitymultiplayer.com My profile on sa-mp.com Public Enemy No.1 - ULTIMATE Группа сервера в ВКонтакте
Vice City Multiplayer
|
| |
|
|
| Dima-kun | Дата: Воскресенье, 24.01.2010, 23:11 | Сообщение # 15 |
|
Группа:
Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус: 
| Quote (Sаint) SetPlayerHealth(playerid, 99999.0); кхм SetPlayerHealth(playerid, 99999); это тупо год-мод включит, а можно сделат ьчтобы потом, когда выключаешь год, мод здоровье восстанавливалось на то что было до годмода
Мои работы: [INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники, [FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos, [GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
|
| |
|
|
|
 |
|
 | |
| |
|