Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как сделать чтоб шпион возвращался на базу + предмет HEALTH.
Kartman
Дата: Четверг, 03.05.2012, 22:28 | Сообщение # 1
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
В этой теме расскажу о том как сделать чтоб шпион возвращался на базу при помощи ультимэйта + предмет health ( т.е VENGEANCE_HEALTH + Предмет HEALTH). В обычном случае предмет health не работает.
1) Шаг :

Открываем файлrace_warden.inl и находим вот этот код

Code
// Spawn found!
   else
   {
    new vOrigin[3], vNewOrigin[3], Float:fSpawnOrigin[3];
     
    // Get the user's origin
    get_user_origin( idUser, vOrigin );

    // Get the origin of the spawn
    entity_get_vector( ent, EV_VEC_origin, fSpawnOrigin );
     
    // Convert float vector to int vector
    FVecIVec( fSpawnOrigin, vNewOrigin );
     
    // Move the user
    set_user_origin( idUser, vNewOrigin );

    // Play teleport animation at old location
    Create_TE_TELEPORT( vOrigin );

    // Play the Vengeance sound   
    emit_sound( idUser, CHAN_STATIC, g_szSounds[SOUND_VENGEANCE], 1.0, ATTN_NORM, 0, PITCH_NORM );

    // Set up a new ultimate delay
    ULT_ResetCooldown( idUser, get_pcvar_num( CVAR_wc3_ult_cooldown ) );
   }
  }


Вставляем наш код вот так: КОД:
Code
// Change user's health
    if ( ITEM_Has( idUser, ITEM_HEALTH ) > ITEM_NONE )
                        set_user_health( idUser, VENGEANCE_HEALTH + get_pcvar_num( CVAR_wc3_health ))

Code
// Spawn found!
   else
   {
    new vOrigin[3], vNewOrigin[3], Float:fSpawnOrigin[3];
     
    // Get the user's origin
    get_user_origin( idUser, vOrigin );

    // Get the origin of the spawn
    entity_get_vector( ent, EV_VEC_origin, fSpawnOrigin );
     
    // Convert float vector to int vector
    FVecIVec( fSpawnOrigin, vNewOrigin );
     
    // Move the user
    set_user_origin( idUser, vNewOrigin );

    // Play teleport animation at old location
    Create_TE_TELEPORT( vOrigin );

    // Change user's health
    if ( ITEM_Has( idUser, ITEM_HEALTH ) > ITEM_NONE )
                        set_user_health( idUser, VENGEANCE_HEALTH + get_pcvar_num( CVAR_wc3_health ))

    // Play the Vengeance sound   
    emit_sound( idUser, CHAN_STATIC, g_szSounds[SOUND_VENGEANCE], 1.0, ATTN_NORM, 0, PITCH_NORM );

    // Set up a new ultimate delay
    ULT_ResetCooldown( idUser, get_pcvar_num( CVAR_wc3_ult_cooldown ) );
   }
  }


http://war3ft-help.tk/ - форум поддержки war3ftmod
 
AlienRobben
Дата: Воскресенье, 06.05.2012, 17:15 | Сообщение # 2
офлайн

  • Сообщения: 72
  • Награды: 0
  • Замечания:
 
Kartman, спасибо, давно хотел эту проблему решить
 
Kartman
Дата: Воскресенье, 06.05.2012, 17:52 | Сообщение # 3
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
AlienRobben, Не за что!

http://war3ft-help.tk/ - форум поддержки war3ftmod
 
Mo3g
Дата: Суббота, 08.09.2012, 17:34 | Сообщение # 4
офлайн

  • Сообщения: 19
  • Награды: 0
  • Замечания:
 
а зачем просто в race_warden.inl поставить у ульты сколько хп востанавливать при телепорте на базу я себе 99 поставил :)
 
Syrax
Дата: Воскресенье, 10.02.2013, 12:56 | Сообщение # 5
офлайн

  • Сообщения: 29
  • Награды: 0
  • Замечания:
 
Если не купить здоровье, то при использовании ультимейта варден появляется на базе с оставшимися хп, т.е. они не восстанавливаются до VENGEANCE_HEALTH. Для исправления этого бага надо дописать код:
 
Код
if ( ITEM_Has( idUser, ITEM_HEALTH ) > ITEM_NONE )     
{
                  set_user_health( idUser, VENGEANCE_HEALTH + get_pcvar_num( CVAR_wc3_health ));
}
else
{
                  set_user_health( idUser, VENGEANCE_HEALTH );
}


Сообщение отредактировал Syrax - Воскресенье, 10.02.2013, 12:59
 
  • Страница 1 из 1
  • 1
Поиск: