[War3] Happy XP Hour

В този раздел можете да намерите полезни кодове и уроци свързани с PAWN скриптинга.
BABAZORO
Извън линия
Потребител
Потребител
Мнения: 59
Регистриран на: 06 Окт 2016, 11:23
Се отблагодари: 1 път
Получена благодарност: 2 пъти
Обратна връзка:

[War3] Happy XP Hour

Мнение от BABAZORO » 10 Окт 2016, 09:39

Напоследък в много сървъри по мое наблюдение срещам "Happy Frag Hour"
Благодарение на този плъгин, в определена част на деня играчите получават допълнителни убийства (1 kill = 2 kill).
А както знаете в "Warcraft3" мода едно убийство е равно на определено количество XP.
Сега ще разясним как да направим когато е активно "Happy XP Hour" да се получава двойно повече XP за убийство.

1. Отваряме "Events.inl"

2. Намираме

Код за потвърждение: Избери целия код

Public EVENT_NewRound
3. Добавяме следното

Код за потвърждение: Избери целия код

public EVENT_NewRound()   
 { 
   if ( !WC3_Check() )   
     {   
      return;   
     }   
     if (get_pcvar_num(CVAR_wc3_double_enable) == 1)   
     {   
      new CurrentTime[3]   
      get_time("%H",CurrentTime,2)   
      new cMin[3]   
      get_time("%M",cMin,2)   
      new t_left = 0;   
      if ((str_to_num(CurrentTime) >= get_pcvar_num(CVAR_wc3_double_start)) && (str_to_num(CurrentTime) < get_pcvar_num(CVAR_wc3_double_end)) )   
      {   
       if (!dXP)   
       {   
        dXP = true;   
        doubleXP = 2;   
        client_print(0, print_chat, "%s %L", g_MODclient, LANG_PLAYER,"WC3_DOUBLE_XP");   
       }   
       new t_left = ((get_pcvar_num(CVAR_wc3_double_end)-str_to_num(CurrentTime))*60) - str_to_num(cMin);   
       client_print(0, print_chat, "%s %L", g_MODclient, LANG_PLAYER,"WC3_DOUBLE_XP_LEFT",(t_left/60), (t_left%60));   
      }   
      else
      {   
       if (dXP)   
       {   
        dXP = false;   
        doubleXP = 1;   
        client_print(0, print_chat, "%s DOUBLE OFF", g_MODclient);   
       }   
             
       if (str_to_num(CurrentTime) < get_pcvar_num(CVAR_wc3_double_start))   
        t_left = get_pcvar_num(CVAR_wc3_double_start)*60 - str_to_num(CurrentTime)*60 - str_to_num(cMin);   
       else
        t_left = (24*60) - (get_pcvar_num(CVAR_wc3_double_end)-get_pcvar_num(CVAR_wc3_double_start))*60 - str_to_num(cMin);   
              
       client_print(0, print_chat, "%s %L", g_MODclient, LANG_PLAYER, "WC3_DOUBLE_WHEN",(t_left/60),(t_left%60));   
      }   
     }   
     else
     {   
      dXP = false;   
      doubleXP = 1;   
     }   
 }
4. Отваряме "constants.inl"

5. Намираме

Код за потвърждение: Избери целия код

new g_MODclient[15] = "* [WAR3FT]"
6. Над него добавяме

Код за потвърждение: Избери целия код

new doubleXP = 1; 
new bool:dXP = false
7. Отваряме "cvar.inl"

8. Намираме

Код за потвърждение: Избери целия код

// XP CVARs
9. Добавяме

Код за потвърждение: Избери целия код

new CVAR_wc3_double_enable; 
new CVAR_wc3_double_start; 
new CVAR_wc3_double_end;
10. Намираме

Код за потвърждение: Избери целия код

// XP Modifier CVARs
11. Добавяме

Код за потвърждение: Избери целия код

CVAR_wc3_double_enable = register_cvar( "wc3_double_enable"  , "0"); //on/off double XP
CVAR_wc3_double_start = register_cvar( "wc3_double_start"   , "18"); // В колко часът да се активира 
CVAR_wc3_double_end = register_cvar( "wc3_double_end"   , "21");// В колко часът да свършва 
12. Отваряме "xp.inl"

13. В самият край добавяме

Код за потвърждение: Избери целия код

iBonusXP *= doubleXP;
14. Отваряте "war3FT.cfg"

15. Намирате

Код за потвърждение: Избери целия код

// Experience Options
16. Добавяте следните настройки

Код за потвърждение: Избери целия код

wc3_double_enable	1		// On/off двойно ХР
wc3_double_start	 18		// В колко часът да започва
wc3_double_end		21		// В колко часът да спира
Ако на теб ти е ГОТ,и на мен ми е ГОТ

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Полезни кодове/уроци”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 9 госта