|
GTA: Trilogy Definitive Edition |
|
Файлы:
...
|
|
GTA 2 |
|
|
|
GTA |
|
|
|
Мелкие вопросы
| | |
OKStyle
| Дата: Среда, 10/03/2010, 10:20 | Сообщение # 17 |
Analgésico
Регистрация: 17/01/2009 |
Клан: | [ACF] |
Статус: | |
| В начало мода: В OnPlayerCommandText: Code if(!strcmp(cmdtext,"/gmx",true)) { if(!IsPlayerAdmin(playerid)) { SendClientMessage(playerid,0xFF0000AA,"Команда доступна только для rcon-админа!"); } else { SetTimer("TimerGMX",1000,0); } return 1; } В конец мода: Code TimerGMX() { if(GMXTime != 0) { new string[256]; format(string,sizeof(string),"GMX: %d",GMXTime); GameTextForAll(string,1000,3); GMXTime--; SetTimer("TimerGMX",1000,0); } else { SendRconCommand("gmx"); } return 1; }
|
|
| | | | |
OKStyle
| Дата: Вторник, 06/04/2010, 23:42 | Сообщение # 21 |
Analgésico
Регистрация: 17/01/2009 |
Клан: | [ACF] |
Статус: | |
| Во-первых, таймер там должен быть, но только на базы. Во-вторых, таймер ставится командой: Code SetTimer("ИмяФункции",длительность,повтор); Устанавливайте при старте, kill'яйте при остановке или завершении (правда для это нужно будет ввести константу вида): В OnGameModeInit: Code new Timer; new CountTimer=600000; //10 минут В нужное место: Code Timer = SetTimer("RoundTimer",1000,0); При завершении: Code KillTimer(RoundTimer); Функция таймера, в любое место: Code public RoundTimer() { if(CountTimer>1) { CountTimer--; Timer = SetTimer("RoundTimer",1000,0); } else if(CountTimer=0) { Выдаем сообщение, что раунд завершен. } return 1; } Ну и милисекунды в нормальные минуты с секундами можно конвертировать.
|
|
| |
SANJA
| Дата: Четверг, 08/04/2010, 19:38 | Сообщение # 22 |
Рядовой
Регистрация: 09/03/2010 |
Страна: | |
Статус: | |
| Спасибо окс Не могли бы помоч =( а то уже часа 2 парю над этим. Хотелось бы чтобы если у человека уровень 1 то в админ чате перед ником писало VIP если уровень 2 MDR а если 3 ADM зарание спасибо. Code if(!strcmp(cmdtext, "//", true, 2)) { if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid)) { if(!strlen(cmdtext[2])) return SendClientMessage(playerid, ORANGE, "USAGE: '//<text>'"); GetPlayerName(playerid, player, sizeof(player)); format(string, sizeof(string), "VIP [%i]%s: %s" ,playerid,player, cmdtext[2]); SendClientMessageToAdmins(DARKPINK,string,1); return 1; } else return SendClientMessage(playerid, RED, " У вас нет уровнял админ-консоли"); }
|
|
| |
OKStyle
| Дата: Четверг, 08/04/2010, 19:39 | Сообщение # 23 |
Analgésico
Регистрация: 17/01/2009 |
Клан: | [ACF] |
Статус: | |
| Если мы хотим, чтобы все сообщения от админа в чат шли с припиской *A*, делаем так: Code public OnPlayerText(playerid,text[]) { if(IsPlayerAdmin(playerid)) { new string[256],PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid,PlayerName,sizeof(PlayerName)); format(string,sizeof(string),"*A* %s"); SetPlayerName(playerid,string); format(string2,sizeof(string2),"%s: %s",string,text[]); SendClientMessageToAll(string2,0xFF0000AA); SetPlayerName(playerid,PlayerName); return 0; } return 1; } Либо: Code public OnPlayerText(playerid,text[]) { if(IsPlayerAdmin(playerid)) { new string[256],PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid,PlayerName,sizeof(PlayerName)); format(string,sizeof(string),"*A* %s: %s",PlayerName,text[]); SendClientMessageToAll(string,0xFF0000AA); return 0; } return 1; } Если по команде, то аналогично: Code public OnPlayerCommandText(playerid,cmdtext[]) { if(!strcmp(cmdtext,"//",true)) { if(IsPlayerAdmin(playerid)) { new string[256],PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid,PlayerName,sizeof(PlayerName)); format(string,sizeof(string),"*A* %s"); SetPlayerName(playerid,string); format(string2,sizeof(string2),"%s: %s",string,text[]); SendClientMessageToAll(string2,0xFF0000AA); SetPlayerName(playerid,PlayerName); return 0; } } return 1; } Но так проще: Code public OnPlayerCommandText(playerid,cmdtext[]) { if(!strcmp(cmdtext,"//",true)) { if(IsPlayerAdmin(playerid)) { new string[256],PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid,PlayerName,sizeof(PlayerName)); format(string,sizeof(string),"*A* %s: %s",PlayerName,cmdtext[]); SendClientMessageToAll(string,0xFF0000AA); return 0; } } return 1; }
|
|
| | | |
OKStyle
| Дата: Понедельник, 08/06/2015, 21:35 | Сообщение # 26 |
Analgésico
Регистрация: 17/01/2009 |
Клан: | [ACF] |
Статус: | |
| Цитата nikita86826 Всем привет. Мне нужно удалить здания на зоне 51. После того, как я их удаляю объект исчезает, но в игре там стоит невидимая преграда, то, есть как бы объект удалился, но невидимая форма его осталась. Как исправить? Код RemoveBuildingForPlayer(playerid, 16619, 199.3359, 1943.8750, 18.2031, 0.25); RemoveBuildingForPlayer(playerid, 16323, 199.3359, 1943.8750, 18.2031, 0.25);
Надо "землю" под ангарами тоже удалять: Код RemoveBuildingForPlayer(playerid, 16590, 199.3438, 1943.7891, 18.2031, 0.25); RemoveBuildingForPlayer(playerid, 16203, 199.3438, 1943.7891, 18.2031, 0.25);
Добавляли же специально новый объект (11692). В старых и коллизия иная - вместе со зданиями:
|
|
| |
OKStyle
| Дата: Вторник, 09/06/2015, 14:04 | Сообщение # 27 |
Analgésico
Регистрация: 17/01/2009 |
Клан: | [ACF] |
Статус: | |
| Многие сталкивались с проблемой, что не могли запустить 2 плагина: JIT и Crashdetect от Zeex, так как каждый из них просил подключить себя до загрузки другого и получалась рекурсия, остававшаяся вне зависимости от положения и очередности плагинов в строке конфигурационного файла сервера.
Цитата [15:12:33] Loading plugin: jit [15:12:33] JIT plugin v1.2.3 is OK. [15:12:33] Loaded. [15:12:33] Loading plugin: crashdetect [15:12:33] crashdetect must be loaded before jit.dll [15:12:33] Failed.
При смене последовательности: Цитата [15:11:33] Loading plugin: crashdetect [15:11:33] crashdetect v4.5.2 is OK. [15:11:33] Loaded. [15:11:33] Loading plugin: jit [15:11:33] JIT must be loaded before 'crashdetect.dll' [15:11:33] Failed.
И всё же, наиболее работоспособная схема в конфиге сервера: plugins jit crashdetect Всё гарантировано работало при версии JIT 1.2.3, версии CrashDetect 4.9. Я провёл небольшие исследования, которые показали, что jit можно использовать любой версии, но вот CrashDetect особенный:
Старые версии проверить не смог, так как нет скомпилированных библиотек и файлов плагина, поэтому начал с относительно новых. И вот что вышло.
Версии с 4.8.5 по 4.9 при старте дают: Warning: Runtime error detection will not work during this run because jit.DLL has been loaded before crashdetect. Версии с 4.10.1 по 4.12 дают при загрузке: AMX errors won't be tracked because 'jit.DLL' has been loaded before CrashDetect. А начиная с версии 4.13, эти 2 плагина уже снова не могут работать одновременно. Подберите себе нужные версии.
На данный момент оптимальная связка: JIT 2.0.3 + Crashdetect 4.9. Кто-нибудь может из старых сорсов скомпилировать другие версии crashdetect и проверить на парную работоспособность.
По поводу Nativecheker by Wyu - он должен быть подключён последним среди всех плагинов в строке. Цепляю рабочую сборку (инклюды не нужны, если вы не собираетесь использовать функции оттуда).
|
|
| |
Нас сегодня посетили |
|
|
|
| GTA: Criminal Russia | |
|
| GTA: Underground | |
|
| GTA Network | |
|
| GTA WIKI | |
|
| Календарь новостей | |
« Март 2015 » | Пн | Вт | Ср | Чт | Пт | Сб | Вс | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
|
Наша кнопка |
|
|
|