Запрет расы
|
|
NaSok | Дата: Вторник, 20.05.2014, 16:59 | Сообщение # 1 |
- Сообщения: 80
- Награды: 1
- Замечания:
|
Как запретить определенную расу на карте ? Что бы подключался файл .../amxmodx/configs/war3ft/wc3_race_and_map.cfg Его формат заполнения: Например: При этом расаНежить будет запрещена на карте 35hp_2 И при ее выборе будет писаться "Раса %d запрещена на карте %d" - где первое %d обозначает Название расы, а второе %d название карты Искал подобные темы, но не нашел Заранее "Спасибо"
|
|
| |
KinD | Дата: Вторник, 20.05.2014, 19:57 | Сообщение # 2 |
- Сообщения: 1148
- Награды: 22
- Замечания:
|
1)Заходим в constants.inl и добавляем Код new g_iRace_Active[MAX_RACES+1]; 2)Заходим в sma добавляем в Plugin_init > Код set_task(2.0,"Check_Race_Active") 3)Добавляем в .sma данный код
Код public Check_Race_Active() { new MapName[32] get_mapname(MapName,31) new File=fopen("/addons/amxmodx/configs/war3ft/race_disable.ini","r"); if (File) { new Text[512]; new RaceID[2]; new MAP[32]; while (!feof(File)) { fgets(File,Text,sizeof(Text)-1); trim(Text); if (Text[0]==';') { continue; } parse(Text,RaceID,43,MAP,31) if(equali(MapName,MAP)) { new race; race = str_to_num(RaceID) g_iRace_Active [race]= 1 }
} fclose(File); }
} 4)Заходим в menus.inl ищем _MENU_ChangeRace( idUser, key ),потом
Код else { iRace = key + 1; }
ниже добавляем
Код if(g_iRace_Active[iRace]) { client_print(idUser,print_chat,"Race disable") return PLUGIN_HANDLED; }
5)Создаем файл addons/amxmodx/configs/war3ft/race_disable.ini(формат записи "Race ID" "mapname")
Skype:daywerok
Сообщение отредактировал KinD - Среда, 21.05.2014, 07:53 |
|
| |
NaSok | Дата: Вторник, 20.05.2014, 21:08 | Сообщение # 3 |
- Сообщения: 80
- Награды: 1
- Замечания:
|
Спасибо, но вот ошибка, вроде все сделал правильно ((((
Ты походу в 3 шаге в конце скобку не засунул }Добавлено (20.05.2014, 21:08) --------------------------------------------- Ау, люди, помогите
Сообщение отредактировал NaSok - Вторник, 20.05.2014, 20:20 |
|
| |
KinD | Дата: Среда, 21.05.2014, 07:53 | Сообщение # 4 |
- Сообщения: 1148
- Награды: 22
- Замечания:
|
Да,скобка просто в код не попала. И кстати g_iRace_Active[MAX_RACES]; нужно заменить на g_iRace_Active[MAX_RACES+1];
Skype:daywerok
|
|
| |
NaSok | Дата: Среда, 21.05.2014, 15:31 | Сообщение # 5 |
- Сообщения: 80
- Награды: 1
- Замечания:
|
Цитата KinD ( ) Да,скобка просто в код не попала. И кстати g_iRace_Active[MAX_RACES]; нужно заменить на g_iRace_Active[MAX_RACES+1]; Cпасибо А я еще в стили War3ft поменял print_chat на print_center
Сообщение отредактировал NaSok - Среда, 21.05.2014, 15:52 |
|
| |
NaSok | Дата: Среда, 21.05.2014, 16:18 | Сообщение # 6 |
- Сообщения: 80
- Награды: 1
- Замечания:
|
Хмммм, странно поставил: Код client_print( idUser, print_center,"Данная раса запрещена на єтой карте!"); С стандартной кодировкой Ansi сообщение вообще не показывалось А когда поменял весь menus.inl на UTF-8(Без BOM) то выдавало такое, при выборе запрещенной расы:
|
|
| |
KinD | Дата: Среда, 21.05.2014, 16:21 | Сообщение # 7 |
- Сообщения: 1148
- Награды: 22
- Замечания:
|
client_print( idUser, print_center,"%L",LANG_PLAYER,"WC3_RACE_DISABLE");
WC3_RACE_DISABLE = Раса отключена на данной карте( это нужно в lang файл)
Skype:daywerok
Сообщение отредактировал KinD - Среда, 21.05.2014, 16:22 |
|
| |
MaJIou | Дата: Среда, 21.05.2014, 17:30 | Сообщение # 8 |
- Сообщения: 43
- Награды: 0
- Замечания:
|
KinD, А чего я сделал всё как написано беру расу мне пишет Race Disable хоть я добавил в lang раса заблокирована на этой карте
Skype - dimasomon
Сообщение отредактировал MaJIou - Среда, 21.05.2014, 17:31 |
|
| |
KILLER7x7 | Дата: Четверг, 22.05.2014, 01:00 | Сообщение # 9 |
- Сообщения: 94
- Награды: 4
- Замечания:
|
MaJIou, посмотри внимательней на этот код Код if(g_iRace_Active[iRace]) { client_print(idUser,print_chat,"Race disable") return PLUGIN_HANDLED; }
killer7x7_ua
|
|
| |
MaJIou | Дата: Четверг, 22.05.2014, 07:47 | Сообщение # 10 |
- Сообщения: 43
- Награды: 0
- Замечания:
|
KILLER7x7, Это место Race Disable писать своё
Skype - dimasomon
Сообщение отредактировал MaJIou - Четверг, 22.05.2014, 07:51 |
|
| |
NaSok | Дата: Четверг, 22.05.2014, 14:55 | Сообщение # 11 |
- Сообщения: 80
- Награды: 1
- Замечания:
|
Код if(g_iRace_Active[iRace]) { client_print( idUser, print_center,"%L",LANG_PLAYER,"WC3_RACE_DISABLE"); return PLUGIN_HANDLED; } Потом заходишь в cssbWar3ftMod.txt и пишешь куда угодно: Код WC3_RACE_DISABLE = Раса отключена на данной карте! И еще раз все проверь !
|
|
| |
MaJIou | Дата: Четверг, 22.05.2014, 21:30 | Сообщение # 12 |
- Сообщения: 43
- Награды: 0
- Замечания:
|
NaSok, Спасибо
Skype - dimasomon
|
|
| |
LLapb | Дата: Четверг, 26.06.2014, 22:29 | Сообщение # 13 |
- Сообщения: 20
- Награды: 0
- Замечания:
|
Здравствуйте, пользователи форума) Я в этом деле новичек, поэтому хочу, чтобы вы поконкретнее рассказали, где что находится и ~где вставлять это. 1 шаг я сделал, в constants.inl имеется такая строка.
"Заходим в sma добавляем в Plugin_init" - а вот с этого места подробнее, пожалуйста) Где находится sma и Plugin_init
"Добавляем в .sma данный код" - в какой из .sma его надо добавить и где он расположен ?
"Заходим в menus.inl ищем _MENU_ChangeRace( idUser, key ),потом" - menus.inl где находится ?
Очень надеюсь на вашу помощь и разъяснения, сам никак не могу разобраться Заранее прошу прощения за такие глупые вопросы, но надо же как-то учиться) А то нежить на 35hp - играть нереально)
|
|
| |
NaSok | Дата: Пятница, 27.06.2014, 14:00 | Сообщение # 14 |
- Сообщения: 80
- Награды: 1
- Замечания:
|
LLapb, заходишь в cssbWar3ftMod.sma, нажимаешь "Найти" и ищешь "Plugin_init" Plugin_init - это функцыя.
menus.inl находиться в addons/amxmodx/scripting/war3ft
И в 3 шагу замени на вот это: Код public Check_Race_Active() { new MapName[32] get_mapname(MapName,31) new File=fopen("/addons/amxmodx/configs/war3ft/race_disable.ini","r"); if (File) { new Text[512]; new RaceID[2]; new MAP[32]; while (!feof(File)) { fgets(File,Text,sizeof(Text)-1); trim(Text); if (Text[0]==';') { continue; } parse(Text,RaceID,43,MAP,31) if(equali(MapName,MAP)) { new race; race = str_to_num(RaceID) g_iRace_Active [race]= 1 } } fclose(File); }
}
P.S: Будут еще вопросы пиши в Скайп))
Сообщение отредактировал NaSok - Пятница, 27.06.2014, 14:14 |
|
| |
B@RB@DO$ | Дата: Пятница, 07.11.2014, 01:02 | Сообщение # 15 |
- Сообщения: 72
- Награды: 0
- Замечания:
|
KinD, Спасибо давно хотел запретить на не которих картах
|
|
| |
iqorsergeevitch | Дата: Понедельник, 12.10.2020, 16:23 | Сообщение # 16 |
- Сообщения: 3
- Награды: 0
- Замечания:
|
ЧТО ЗА ОШИБКА
//// cssbWar3ftMod.sma // war3ft/race_undead.cpp(176) : error 017: undefined symbol "_HP_ID_1" // war3ft/race_undead.cpp(177) : error 017: undefined symbol "_HP_ID_3" // war3ft/race_undead.cpp(180) : error 017: undefined symbol "_HP_ID_1" // war3ft/race_undead.cpp(191) : error 017: undefined symbol "_HP_ID_3" // war3ft/race_undead.cpp(192) : error 017: undefined symbol "_HP_ID_1" // war3ft/race_undead.cpp(198) : error 017: undefined symbol "_HP_ID_4" // war3ft/race_undead.cpp(200) : error 017: undefined symbol "_HP_ID_4" // war3ft/race_undead.cpp(213) : error 017: undefined symbol "_HP_ID_4" // war3ft/race_undead.cpp(215) : error 017: undefined symbol "_HP_ID_4" // war3ft/race_undead.cpp(238) : error 017: undefined symbol "Text" // war3ft/race_undead.cpp(238) : error 088: number of arguments does not match definition // war3ft/race_undead.cpp(238) : error 072: "sizeof" operator is invalid on "function" symbols // war3ft/race_undead.cpp(238) : fatal error 107: too many error messages on one line // // Compilation aborted. // 13 Errors. // Could not locate output file C:\Users\╚уюЁ№\Desktop\─юъєьхэЄ√\Private\ъюяхы ЄюЁ\compiled\cssbWar3ftMod.amx (compile failed). // // Compilation Time: 8,05 sec // ----------------------------------------
|
|
| |