Как сделать прокачку XP для VIP в несколько раз быстрее?
|
|
SMaster | Дата: Суббота, 21.04.2012, 18:31 | Сообщение # 1 |
- Сообщения: 2189
- Награды: 46
- Замечания:
|
Как сделать прокачку XP для VIP в несколько раз быстрее?
Шаг 1.
Открываешь XP.inl
Изменяем код: Code //Если игрок имеет флаг 't' if((get_user_flags(idUser) & ADMIN_LEVEL_H)) p_data[idUser][P_XP] += floatround(iRealBonusXP * 2.0); else p_data[idUser][P_XP] += iRealBonusXP; * 2.0 и есть во сколько раз качаться будет быстрее.
Скрин как должно быть:
Наша группа вконтакте http://vk.com/nano_world_cs
Контакты: ICQ 607786179 Skype xonahead
|
|
| |
PATRUL | Дата: Суббота, 21.04.2012, 20:47 | Сообщение # 2 |
- Сообщения: 718
- Награды: 5
- Замечания:
|
На скриншоте if(if(( .. Добавлено (21.04.2012, 20:47) --------------------------------------------- И ещё мне ошибку выдает warning 213: tag mismatch на вот эту строчку: p_data[idUser][P_XP] += floatround(iRealBonusXP * 2);
|
|
| |
Own=Pwnz | Дата: Суббота, 21.04.2012, 21:18 | Сообщение # 3 |
- Сообщения: 76
- Награды: 2
- Замечания:
|
warning 213: tag mismatch не ошибка а предупреждение или изза этого серв будет падать
|
|
| |
TWENchik | Дата: Суббота, 21.04.2012, 22:08 | Сообщение # 4 |
- Сообщения: 172
- Награды: 2
- Замечания:
|
SMaster, //Если игрок имеет флаг 't' if((get_user_flags(idUser) & ADMIN_LEVEL_H)) p_data[idUser][P_XP] += floatround(iRealBonusXP * 2); else p_data[idUser][P_XP] += iRealBonusXP;
если ADMIN_LEVEL_H изменить на ADMIN_LEVEL_D, то админ с флагом "P" будет качать в 2 раза быстрее?
|
|
| |
Contra63 | Дата: Суббота, 21.04.2012, 23:32 | Сообщение # 5 |
- Сообщения: 830
- Награды: 7
- Замечания:
|
В самом конце файла. Надо добавить.
Code //Если игрок имеет флаг 't' if((get_user_flags(id) & ADMIN_LEVEL_H)) p_data[id][P_XP] += floatround(iRealBonusXP * 2); else p_data[id][P_XP] += iRealBonusXP;
Под 3.0rc13
На скрине Code p_data[idUser][P_XP] += iRealBonusXP; 2 раза. Это ошибка.(на мой взгляд)
Сообщение отредактировал Contra63 - Суббота, 21.04.2012, 23:43 |
|
| |
SMaster | Дата: Воскресенье, 22.04.2012, 01:24 | Сообщение # 6 |
- Сообщения: 2189
- Награды: 46
- Замечания:
|
Скриншот заменил и удалил лишнюю строчку. Исправьте у себя.
warning 213: tag mismatch - убрал.
Наша группа вконтакте http://vk.com/nano_world_cs
Контакты: ICQ 607786179 Skype xonahead
|
|
| |
nymbus2000 | Дата: Четверг, 07.06.2012, 21:05 | Сообщение # 7 |
- Сообщения: 130
- Награды: 0
- Замечания:
|
Проверил, качает, только отображается в сообщениях нормальное количество опыта а должно в 2 раза быстрее !
CS: -=*{Vitaliy}*=- Skype: opa_nao_O
|
|
| |
ganya | Дата: Понедельник, 11.06.2012, 19:33 | Сообщение # 8 |
- Сообщения: 41
- Награды: 0
- Замечания:
|
nymbus2000, http://perfect-soft.su/forum/56-654-1#4584
|
|
| |
HeKuT | Дата: Понедельник, 13.08.2012, 11:12 | Сообщение # 9 |
- Сообщения: 22
- Награды: 0
- Замечания:
|
тут всё написанно Добавлено (13.08.2012, 11:11) --------------------------------------------- короче находишь в xp.inl это stock XP_Give( idUser, iBonusXP ) {
if ( !WC3_Check() || !idUser ) { return 0; }
// Make sure we have the minimum amount of players if ( !XP_MinPlayers() ) { return 0; }
//CSSB // Bonus calculated by: // Bonus XP * (lvl of player/float(MAX_LEVELS) + 1.0) // I.E. if Player is level MAX_LEVELS, then it will be Bonus XP * 2.0 if ( iBonusXP != 0 ) { new Float:fCurrentLevel = float( p_data[idUser][P_LEVEL] ); new Float:iLevelMultiplier = ( fCurrentLevel / float(MAX_LEVELS) ) + 1.0; new iRealBonusXP = floatround(iLevelMultiplier * iBonusXP); p_data[idUser][P_XP] += iRealBonusXP;
XP_Check( idUser );
return iRealBonusXP; }
return 0; } Добавлено (13.08.2012, 11:12) --------------------------------------------- и заменяешь на этот код
stock XP_Give( idUser, iBonusXP ) {
if ( !WC3_Check() || !idUser ) { return 0; }
// Make sure we have the minimum amount of players if ( !XP_MinPlayers() ) { return 0; }
//CSSB // Bonus calculated by: // Bonus XP * (lvl of player/float(MAX_LEVELS) + 1.0) // I.E. if Player is level MAX_LEVELS, then it will be Bonus XP * 2.0 if ( iBonusXP != 0 ) { new Float:fCurrentLevel = float( p_data[idUser][P_LEVEL] ); new Float:iLevelMultiplier = ( fCurrentLevel / float(MAX_LEVELS) ) + 1.0; new iRealBonusXP = floatround(iLevelMultiplier * iBonusXP); new szShowMessageXP[256]; if((get_user_flags(idUser) & ADMIN_LEVEL_H)) //Если игрок имеет флаг 't' { p_data[idUser][P_XP] += floatround(iRealBonusXP * 2.0); format(szShowMessageXP, charsmax(szShowMessageXP), "XP VIP: %d",floatround(iRealBonusXP * 2.0)); iRealBonusXP = floatround(iLevelMultiplier * iBonusXP * 2.0); } else { p_data[idUser][P_XP] += iRealBonusXP; format(szShowMessageXP, charsmax(szShowMessageXP), "XP: %d",iRealBonusXP); } set_dhudmessage(0,255,0, 0.65,0.5,2,0.0,2.0,0.02,0.02, false); show_dhudmessage(idUser, szShowMessageXP);
XP_Check( idUser );
return iRealBonusXP; }
return 0; }
|
|
| |
runetov | Дата: Понедельник, 13.08.2012, 14:00 | Сообщение # 10 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
AHToXa_xD, Надо сначала исходник с модом скачать!
Сообщение отредактировал runetov - Понедельник, 13.08.2012, 16:01 |
|
| |
BA3YKA | Дата: Среда, 12.09.2012, 11:33 | Сообщение # 11 |
- Сообщения: 8
- Награды: 0
- Замечания:
|
Помогите что не так???? я не могу это найти
Прикрепления:
XP.inl
(19.5 Kb)
|
|
| |
Satyan | Дата: Пятница, 21.09.2012, 12:30 | Сообщение # 12 |
- Сообщения: 15
- Награды: 0
- Замечания:
|
У меня вообще нет этого файла,где его искать?
|
|
| |
runetov | Дата: Пятница, 21.09.2012, 21:21 | Сообщение # 13 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
Satyan, Скачай исходник War3ftChangeLevel (Версия 2.4.1) четы ерунду городишь!!!
|
|
| |
WhiTeWoLF | Дата: Суббота, 12.01.2013, 16:46 | Сообщение # 14 |
- Сообщения: 14
- Награды: 0
- Замечания:
|
сделал все как тут написано один фиг не робит new Float:fCurrentLevel = float( p_data[idUser][P_LEVEL] ); new Float:iLevelMultiplier = ( fCurrentLevel / float(MAX_LEVELS) ) + 1.0; new iRealBonusXP = floatround(iLevelMultiplier * iBonusXP);
//Если игрок имеет флаг 't' if((get_user_flags(id) & ADMIN_LEVEL_H)) p_data[idUser][P_XP] += floatround(iRealBonusXP * 2.0); else p_data[idUser][P_XP] += iRealBonusXP; p_data[idUser][P_XP] += iRealBonusXP;
XP_Check( idUser );
return iRealBonusXP; }
return 0; }
|
|
| |
runetov | Дата: Суббота, 12.01.2013, 20:15 | Сообщение # 15 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
WhiTeWoLF, Все нормально работает делай правильно, даже скрины есть как правильно делать а вы? тупите, сори за грубость)
|
|
| |
TWENchik | Дата: Воскресенье, 13.01.2013, 08:57 | Сообщение # 16 |
- Сообщения: 172
- Награды: 2
- Замечания:
|
WhiTeWoLF, если в чате не отображается двойной опыт не значит что не работает
|
|
| |
TWENchik | Дата: Воскресенье, 13.01.2013, 12:25 | Сообщение # 17 |
- Сообщения: 172
- Награды: 2
- Замечания:
|
вот кому надо xp.inl с отображением в чате
Сообщение отредактировал TWENchik - Воскресенье, 13.01.2013, 12:25 |
|
| |
Санька6222 | Дата: Четверг, 17.01.2013, 14:03 | Сообщение # 18 |
- Сообщения: 58
- Награды: 1
- Замечания:
|
Цитата (TWENchik) вот кому надо xp.inl с отображением в чатеПрикрепления: 9915229.inl(29Kb) а на CSSB надо другой код? напиши пожалуйста только код.
|
|
| |
Contra63 | Дата: Четверг, 17.01.2013, 23:34 | Сообщение # 19 |
- Сообщения: 830
- Награды: 7
- Замечания:
|
Санька6222, все работает, для лентяев я слил War3FT MOD Private for Contra[AIM]
Сообщение отредактировал Contra63 - Четверг, 17.01.2013, 23:48 |
|
| |
big-bad-voodoo | Дата: Воскресенье, 18.08.2013, 05:32 | Сообщение # 20 |
- Сообщения: 6
- Награды: 0
- Замечания:
|
Подскажите как прописать 2 випки т.е. на уровень H и уровень G ? Пробовал сам в итоге одна випка работает правильно и дает правильный множетиль, а вторая выдает не верный множитель а значительно больше.
Добавлено (18.08.2013, 05:32) --------------------------------------------- Код // Bonus calculated by: // Bonus XP * (lvl of player/10 + 1.0) // I.E. if Player is level 10, then it will be Bonus XP * 2.0 if ( iBonusXP != 0 ) { new Float:fCurrentLevel = float( p_data[id][P_LEVEL] ); new Float:iLevelMultiplier = ( fCurrentLevel / float(MAX_LEVELS) ) + 1.0; new iRealBonusXP = floatround(iLevelMultiplier * iBonusXP); new szShowMessageXP[256]; if((get_user_flags(id) & ADMIN_LEVEL_H)) //Если игрок имеет флаг 't' { p_data[id][P_XP] += floatround(iRealBonusXP * 1.5); format(szShowMessageXP, charsmax(szShowMessageXP), "XP VIP 1.5: %d",floatround(iRealBonusXP * 1.5)); iRealBonusXP = floatround(iLevelMultiplier * iBonusXP * 1.5); } else p_data[id][P_XP] += iRealBonusXP;
if((get_user_flags(id) & ADMIN_LEVEL_G)) //Если игрок имеет флаг 't' { p_data[id][P_XP] += floatround(iRealBonusXP * 1.5); format(szShowMessageXP, charsmax(szShowMessageXP), "XP VIP 2.5: %d",floatround(iRealBonusXP * 2.5)); iRealBonusXP = floatround(iLevelMultiplier * iBonusXP * 2.5); }
set_dhudmessage(178,34,34, 0.65,0.5,2,0.0,2.0,0.02,0.02, false); show_dhudmessage(id, szShowMessageXP);
XP_Check( id );
return iRealBonusXP; }
return 0; } Вот так у меня получилось. Вроде работает всё четко. Но меня смущает вот эта строчка в випке прописанной на уровень G: Код p_data[id][P_XP] += floatround(iRealBonusXP * 1.5); Там должно быть прописано *2.5 но при таком значении он умножал на 3.5, я решил понизить и получилось что на *1.5 он множит на 2.5. Не подскажите почему? И если есть ошибки, то помогите исправить. Да и ещё хотелось бы чтоб сообщения можно было сделать разного цвета. Сам пробовал но у меня руки видать не из того места и как бы я не пробовал выдает один цвет.
Это всё под war3ft v3.0rc13 мод.
Сообщение отредактировал big-bad-voodoo - Воскресенье, 18.08.2013, 05:33 |
|
| |