Итак, что это? Это: Фильтерскрипт, запускающий в определенное время нужный гейммод и выставляющий пароль. Достоинства: достаточно отредактировать файл gamemodes.cfg Как это делается: Открываем файл и видим пустоту... Записываем необходиные данные в виде: gamemodename|password|hour|minute|timerdeletetime Если пароль ненужен оставляем поле пустым Пример:
Code
TDM||21|0|20000
Время записываем в формате: 0-9,10-24 для часа 0-9,10-59 для минут Двузначное значение может быть только у чисел с 10... Как заполнять? Заполнить можно максимум 16 строк, ибо больше обычно и не надо (если кому нужно есть исходник и можно поправить) Для добавления мода просто пишем новую строку с названием мода, без расширения .amx Напоминаю: заполнять так gf|123|3|43|3600000 Где: gf -имя мода без .amx 123 - пароль, который устанавливается при запуске мода 3 - час, в который должен смениться мод 43 - минута на которой это произойдет 3600000 - время в милисекундах для снятия пароля (1 секунда = 1000мс) [offtop] [21:50:02] Loading filter script 'TGC.amx'... [21:50:02] ================================================== [21:50:02] ==========Changing Gamemodes by [RD]Chez========== [21:50:02] ================================================== [21:50:02] Loaded 2 filter scripts. [21:50:02] Table: Create Table. [21:50:02] ---------------------------------- [21:50:02] Blank Gamemode by your name here [21:50:02] ---------------------------------- [21:50:50] ---- Time is: 21:50:50 [21:50:50] ---- It's time to start: "sniper" gamemode [21:50:50] ---- Starting gamemode: "sniper" [21:50:50] ------------------------- Wait Please ---------------------- [21:50:50] Setting server password to: "noob" [21:50:50] ---- The server's password is now: "noob" ---- [21:51:02] ---------------------------------- [21:51:02] Sniper Madness! By Mike [21:51:02] ----------------------------------[/offtop] Прошу писать найденные баги и предложения ^_^ Вот здесь исходник а.к.а pwn (здесь старая версия) Вот здесь архив с необходимым файлом Ссылка на СамПрусе http://www.samp-rus.com/load/4-1-0-665
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
Сообщение отредактировал [RD]Chez - Воскресенье, 05.04.2009, 08:10
MrSpeeD, при смене мод по списку он поставит пароль, который указан, а если пароля нет в конфиге, то и пароля на серве не будет =) Удобно если нужно на 2 часа ставить допустим кв мод и пароль на сервер... позже придумаю как убирать пароль вовсе по истечению необходимого времени
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
Сообщение отредактировал [RD]Chez - Воскресенье, 05.04.2009, 08:10
[RD]Chez, в "public Tick()" где у тебя идут 3 if подрять используй комбинацию "else if" чтобы избежать активации нескольких вариантов для одной строки, это во-первых. Во-вторых, в строке "if(strlen(Changer[i][gamemode])==0)break;" исправь "break;" на "return 1;": брейк обрывает счетчик а за счетчиком никакого кода нет идет сразу ретурн, поэтому проще сразу заретурнить паблик В-третих, в "public OnFilterScriptExit()" добавь "KillTimer(PassTimer);" В-четвертых, я бы добавил ещё это:
Code
public OnGameModeInit() { LoadConfig(); return 1; }
это позволит считывать фаил конфигурации при старте нового мода, а не тольок при старте данного скрипта, так сказать отслеживать обновления файла в реальном времени.
Ещё добавь в "public LoadConfig()" вариант на "else", если фаил не найден, пускай об этом сообщаеться. И таймер "MyTimer = SetTimer("Tick", 30000, true);" лучше перенести сюда и запускать только если фаил найден и в нем есть над чем работать!
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
chezrd@gmail.com lance@chez-lab.ru
Сообщение отредактировал [RD]Chez - Понедельник, 06.04.2009, 20:52
[RD]Chez, тоже самое, да не то [pwn]/* Это копирайт... и если ты уберешь его - я парэжу тебя на кусочки!!!!! Понял? xD ================================================================================================================================== || Made by [RD]Chez in some associate with "haba haba" Special for SAMP-RUS.COM || ================================================================================================================================== */
//========= оооо а это split xD ================== split(const strsrc[], strdest[][], delimiter) { new i, li; new aNum; new len; while(i <= strlen(strsrc)){ if(strsrc[i]==delimiter || i==strlen(strsrc)){ len = strmid(strdest[aNum], strsrc, li, i, 128); strdest[aNum][len] = 0; li = i+1; aNum++; } i++; } return 1; }
//==== тута пошел код ФильтрСкрипта ============== public OnGameModeInit() { LoadConfig(); return 1; }
public OnFilterScriptInit() { print("\n=================================================="); print("==========Changing Gamemodes by [RD]Chez=========="); print("==================================================\n"); LoadConfig(); return 1; }
public LoadConfig() { if(MyTimer != -1)KillTimer(MyTimer); new Array[5][64],str[256]; new File: file = fopen("timers/gamemodes.cfg", io_read); if (file) { new idx; while (idx < sizeof(Changer)) { fread(file, str); if(strlen(str)==0)break; split(str, Array, '|'); strmid(Changer[idx][gamemode], Array[0], 0, strlen(Array[0]), 255); strmid(Changer[idx][password], Array[1], 0, strlen(Array[1]), 255); Changer[idx][hour] = strval(Array[2]); Changer[idx][minute] = strval(Array[3]); Changer[idx][tdpass] = strval(Array[4]); idx++; } fclose(file); MyTimer = SetTimer("Tick", 30000, true); } else { print("File not found."); } return 1; }
public ClearPass() { KillTimer(PassTimer); SendRconCommand("password "); print("password cleared"); }
public Tick() { new Hour, Minute, Second; gettime(Hour,Minute, Second); for(new i; i<sizeof(Changer); i++) { if(strlen(Changer[i][gamemode])==0) return 1; else if(Hour!=Changer[i][hour] && Minute!=Changer[i][minute] && Changer[i][exist]==1) return Changer[i][exist]=0;// гы вот тут ипалсо спс haba haba за то, что сгениалил мя else if(Hour==Changer[i][hour] && Minute==Changer[i][minute] && Changer[i][exist]==0) { new string[64]; format(string, sizeof(string), "changemode %s",Changer[i][gamemode]); SendRconCommand(string); printf("---- Time is: %d:%d:%d", Hour,Minute, Second); printf("---- It's time to start: \"%s\" gamemode", Changer[i][gamemode]); printf("\n---- Starting gamemode: \"%s\"", Changer[i][gamemode]); print("\n------------------------- Wait Please ----------------------\n"); if(strlen(Changer[i][password]) > 0) { format (string, sizeof(string), "password %s", Changer[i][password]); SendRconCommand(string); PassTimer = SetTimer("ClearPass", Changer[i][tdpass], false); printf("\n---- The server's password is now: \"%s\" ----", Changer[i][password]); } else { SendRconCommand("password"); print("\n---- The server has no password now ----"); } Changer[i][exist]=1; } } return 1; }
public OnFilterScriptExit() { if(MyTimer != -1)KillTimer(MyTimer); ClearPass(); return 1; }
stepmex, Сенк[offtop] я просто сплю уже... со своей долбанной регой-админкой замучался... 3к строк кода и где-то в командах баг в одном месте, но бл где хз[/offtop]
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
gren15, читать научись... этот ФС мееняет тока по времени, вписанному в конфигЮ, а не по таймеру каждые несколько минут... для этого поюзай поиск на sa-mp.com е.. у меня щас дел полно. чтобы дополнить этот ФС времени 0
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^
gren15, читать научись... этот ФС мееняет тока по времени, вписанному в конфигЮ, а не по таймеру каждые несколько минут... для этого поюзай поиск на sa-mp.com е.. у меня щас дел полно. чтобы дополнить этот ФС времени 0
Schwan, еслиб ты был модером то заметил что сообщения постоянно с разных ip, что говорит о том, что я пишу на форуме не только с компа, но с кпк, с компа людей у которых работаю, и с компа соседа(там меня никто не найдет) а со своегшо компа пишу тока когда есть 5-7 минут, позже все просекают, что я свободен и заепывают... и еще я на парах пишу
1 час моей работы стоит минимум 800 рублей для срочных работ. Знаю CodeIgniter, Kohana, втч. кастом(php), Вникаю в Yii. jQuery на должном уровне, немного разбираюсь в RightJS. Алсо, 6 лет павно, 2 года в шарпе, понимаю си и плюсы. Немного ассемблер. Ох**тельный верстальщик какб.
Если ваш заказ потребует неделю работы и вы собираетесь заплатить 100 рублей - лес там ->> ^^^^^