MForce Дата: Понедельник, 13.04.2015, 01:50 | Сообщение # 1
Сообщения: 5
Награды: 0
Замечания:
Всем привет. Решил в этом топике не оставлять пост.т.к заметил,что никто не отвечает:: http://perfect-soft.su/forum/56-144-1 Спрошу тут,,ведь это мне важно знать. Как поставить расу под флаг? Что и где нужно добавить. Помогите
Сообщение отредактировал MForce - Понедельник, 13.04.2015, 01:53
PATRUL Дата: Понедельник, 13.04.2015, 02:27 | Сообщение # 2
Сообщения: 718
Награды: 5
Замечания:
Пробуй: menus.inl там находим функцию Код
public _MENU_ChangeRace( idUser, key )
Снизу добавляешь нужный код, если есть ледяной маг, то видно будет куда лучше всего добавить код. Код
if(iRace == 2) // вместо 2 (Human) нужно поставить нужную расу { if(!(get_user_flags(idUser) & ADMIN_LEVEL_H)) { format(szMessage, sizeof(szMessage) - 1, "%L%L%L %L", LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT", LANG_PLAYER,"YOU_HAVE_NO_ACCESS"); client_print( idUser, print_console,szMessage); cssbColoredPrint(idUser, szMessage); // Get the race's name new szRaceName[64]; lang_GetRaceName( iRace, idUser, szRaceName, 63 ); show_motd(idUser, "addons/amxmodx/configs/war3ft/motd/vip_race.txt", szRaceName); //путь к MOTD окну WC3_ChangeRaceStart(idUser); return PLUGIN_HANDLED; } }
Сообщение отредактировал PATRUL - Понедельник, 13.04.2015, 02:28
MForce Дата: Понедельник, 13.04.2015, 09:46 | Сообщение # 3
Сообщения: 5
Награды: 0
Замечания:
У меня только стандартные расы)Добавлено (13.04.2015, 09:43) --------------------------------------------- Я про мотд окно не понял немного,зачем оно
Добавлено (13.04.2015, 09:46) --------------------------------------------- Я про мотд окно не понял немного,зачем оно
ThePhoenix Дата: Понедельник, 13.04.2015, 17:35 | Сообщение # 4
Сообщения: 5
Награды: 0
Замечания:
MForce попросил ошибку выложить,т.к сам не смог зайти.: Добавлено (13.04.2015, 11:26) ---------------------------------------------
public _MENU_ChangeRace( idUser, key ) { if ( !WC3_Check() ) { return PLUGIN_HANDLED; } // User pressed 0 (cancel) if ( get_pcvar_num( CVAR_wc3_races ) < 9 && key - 1 == get_pcvar_num( CVAR_wc3_races ) ) { return PLUGIN_HANDLED; } if(iRace == 6) // вместо 2 (Human) нужно поставить нужную расу { if(!(get_user_flags(idUser) & ADMIN_LEVEL_A)) { format(szMessage, sizeof(szMessage) - 1, "%L%L%L %L", LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT", LANG_PLAYER,"YOU_HAVE_NO_ACCESS"); client_print( idUser, print_console,szMessage); cssbColoredPrint(idUser, szMessage); // Get the race's name new szRaceName[64]; lang_GetRaceName( iRace, idUser, szRaceName, 63 ); show_motd(idUser, "addons/amxmodx/configs/war3ft/motd/vip_race.txt", szRaceName); //путь к MOTD окну WC3_ChangeRaceStart(idUser); return PLUGIN_HANDLED; } } if(iRace == 9) // вместо 2 (Human) нужно поставить нужную расу { if(!(get_user_flags(idUser) & ADMIN_MENU)) { format(szMessage, sizeof(szMessage) - 1, "%L%L%L %L", LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT", LANG_PLAYER,"YOU_HAVE_NO_ACCESS"); client_print( idUser, print_console,szMessage); cssbColoredPrint(idUser, szMessage); // Get the race's name new szRaceName[64]; lang_GetRaceName( iRace, idUser, szRaceName, 63 ); show_motd(idUser, "addons/amxmodx/configs/war3ft/motd/vip_race.txt", szRaceName); //путь к MOTD окну WC3_ChangeRaceStart(idUser); return PLUGIN_HANDLED; } } // Save the current race data before we change DB_SaveXP( idUser, false ); new iRace, iAutoSelectKey = KEY_0; if ( get_pcvar_num( CVAR_wc3_races ) != 9 ) { iAutoSelectKey = get_pcvar_num( CVAR_wc3_races ) } // Auto select a race if ( key == iAutoSelectKey ) { iRace = random_num( 1, get_pcvar_num( CVAR_wc3_races ) ); } // Otherwise race is set else { iRace = key + 1; } // User currently has a race if ( p_data[idUser][P_RACE] != 0 ) { // Change the user's race at the start of next round if ( iRace != p_data[idUser][P_RACE] ) { // Special message for csdm if ( CVAR_csdm_active > 0 && get_pcvar_num( CVAR_csdm_active ) == 1 ) { format(szMessage, sizeof(szMessage) - 1, "%L",LANG_PLAYER,"CLIENT_PRINT_MENU_CHANGE_RACE"); client_print( idUser, print_center,szMessage); } else { format(szMessage, sizeof(szMessage) - 1, "%L",LANG_PLAYER,"CENTER_CHANGED_NEXT"); client_print( idUser, print_center,szMessage); } p_data[idUser][P_CHANGERACE] = iRace; } // Do nothing else { p_data[idUser][P_CHANGERACE] = 0; } } // User doesn't have a race so give it to him!!! else { WC3_SetRace( idUser, iRace ); } return PLUGIN_HANDLED; }
Вот так выглядит та функция.Добавлено (13.04.2015, 17:35) --------------------------------------------- А ещё,подскажите как уменьшить радиус прыжка у Человека и радиус взрыва нежиты
PATRUL Дата: Суббота, 18.04.2015, 06:49 | Сообщение # 5
Сообщения: 718
Награды: 5
Замечания:
Вставлять код нужно после функции // Otherwise race is set и перед // User currently has a race У человека нету радиуса, он телепортируется в указанную точку. Радиус ультиматума нежити изменяется в файле race_undead.inl #define EXPLOSION_BLAST_RADIUS 450 //450 - радиус.
Сообщение отредактировал PATRUL - Суббота, 18.04.2015, 06:49