> > > > >

Give Equipment 1.6

Нет прав для скачивания
Сообщения
218
Рейтинг
169
#1
d3m37r4 добавил(а) новый ресурс:

Give Equipment - Плагин выдает бронежилет + шлем и defuse kit

Играя в CSGO обычный режим, понравилась фишка с выдачей брони и щипцов в начале раунда, решил реализовать ее для своего сервера в 1.6.
Плагин выдает в каждом раунде бронежилет + шлем, и игроку, который играет за КТ defuse kit.
Узнать больше об этом ресурсе...
 
  5
Сообщения
1.575
GitHub
wopox1337
Рейтинг
1051
#2
d3m37r4, что бы не городить проверки на живого используй ReAPI правильно.
RG_CBasePlayer_Spawn можно заменить на:

Код:
/*
    * Description:      Called on spawn, the attempt to equip a player.
    * Params:           (const this, bool addDefault, bool equipGame)
    */
    RG_CBasePlayer_OnSpawnEquip,

ИЛИ

/*
    * Description:      Called by CBasePlayer::Spawn just before releasing the player into the game.
    * Params:           (const index)
    */
    RG_CSGameRules_PlayerSpawn,
Так же учитывай, что кому-то необходимо будет больше 100 брони.
Код:
rg_set_user_armor(iIndex, min(VALUE, 255), ARMOR_VESTHELM);
 
Последнее редактирование:
  2
Сообщения
1.575
GitHub
wopox1337
Рейтинг
1051
#4
Код:
-public CBasePlayer_Spawn(iIndex)
{
    if(!is_user_alive(iIndex))
        return HC_CONTINUE;

    new ArmorType:iArmorType;
-    new iArmor = rg_get_user_armor(iIndex, iArmorType);
-    new TeamName:iTeam = get_member(iIndex, m_iTeam);
    
+    if(rg_get_user_armor(iIndex, iArmorType) < 100 || iArmorType != ARMOR_VESTHELM)               
        rg_set_user_armor(iIndex, 100, ARMOR_VESTHELM);               

-    new bool:bUserHasDefuser = get_member(iIndex, m_bHasDefuser);

+    if(get_member(iIndex, m_iTeam) == TEAM_CT && !get_member(iIndex, m_bHasDefuser))
        rg_give_defusekit(iIndex, true);                           

    return HC_CONTINUE;
}
 
Последнее редактирование:
  1
Сообщения
148
Рейтинг
39
#5
фри броня да еще и шлем онли за кт, в первых раундах вообще дисбаланс, а где справедливость
 
 
Сообщения
218
Рейтинг
169
#9
  1
Сообщения
1.251
Рейтинг
673
#10
Неактуально для владельцев серверов с плагином AES. То же самое можно выдавать с его помощью.
 
 
Сообщения
19
Рейтинг
13
#11
can you edit to give ARMOR_VESTHELM just for the loosing team? so game is more balanced
 
 
Сообщения
779
Рейтинг
699
#14
tarsisd2, Please check it
Код:
#include <amxmodx>
#include <reapi>

#define WIN_STATUS_CT 1
#define    WIN_STATUS_TERRORIST 2

public plugin_init() {
    RegisterHookChain(RG_CBasePlayer_OnSpawnEquip, "CBasePlayer_OnSpawnEquip", 1);
}

public CBasePlayer_OnSpawnEquip(const id) {
    new bool:giveArmor;
    switch (get_member_game(m_iRoundWinStatus)) {
        case WIN_STATUS_CT: {
            giveArmor = checkTeam(id, TEAM_TERRORIST);
        }
        
        case WIN_STATUS_TERRORIST: {
            giveArmor = checkTeam(id, TEAM_CT);
        }
        
        default: {
            giveArmor = false;
        }
    }
    
    new ArmorType:armorType;
    if(giveArmor && (rg_get_user_armor(id, armorType) < 100 || armorType != ARMOR_VESTHELM)) {             
        rg_set_user_armor(id, 100, ARMOR_VESTHELM);
    }

    return HC_CONTINUE;
}

bool:checkTeam(const id, const TeamName:team) {
    return bool:(TeamName:get_member(id, m_iTeam) == team);
}
 
  2
Сообщения
19
Рейтинг
13
#15
tarsisd2, Please check it
Код:
#include <amxmodx>
#include <reapi>

#define WIN_STATUS_CT 1
#define    WIN_STATUS_TERRORIST 2

public plugin_init() {
    RegisterHookChain(RG_CBasePlayer_OnSpawnEquip, "CBasePlayer_OnSpawnEquip", 1);
}

public CBasePlayer_OnSpawnEquip(const id) {
    new bool:giveArmor;
    switch (get_member_game(m_iRoundWinStatus)) {
        case WIN_STATUS_CT: {
            giveArmor = checkTeam(id, TEAM_TERRORIST);
        }
       
        case WIN_STATUS_TERRORIST: {
            giveArmor = checkTeam(id, TEAM_CT);
        }
       
        default: {
            giveArmor = false;
        }
    }
   
    new ArmorType:armorType;
    if(giveArmor && (rg_get_user_armor(id, armorType) < 100 || armorType != ARMOR_VESTHELM)) {            
        rg_set_user_armor(id, 100, ARMOR_VESTHELM);
    }

    return HC_CONTINUE;
}

bool:checkTeam(const id, const TeamName:team) {
    return bool:(TeamName:get_member(id, m_iTeam) == team);
}
works great

now, i want to show a message in chat, tried to add myself but didn't work, can you fix please, and tell me what i did wrong plz?

Код:
#include <amxmodx>
#include <reapi>

#define WIN_STATUS_CT 1
#define    WIN_STATUS_TERRORIST 2

public plugin_init() {
    RegisterHookChain(RG_CBasePlayer_OnSpawnEquip, "CBasePlayer_OnSpawnEquip", 1);
}

public CBasePlayer_OnSpawnEquip(const id) {
    new bool:giveArmor;
    switch (get_member_game(m_iRoundWinStatus)) {
        case WIN_STATUS_CT: {
            giveArmor = checkTeam(id, TEAM_TERRORIST);
            client_print_color(0, print_team_default, "^4[^3Bonus^4] ^3Terrorists ^4won ^1kevlar ^4for loosing the round.");
        }
        
        case WIN_STATUS_TERRORIST: {
            giveArmor = checkTeam(id, TEAM_CT);
            client_print_color(0, print_team_default, "^4[^3Bonus^4] ^3Counter-Terrorists ^4won ^1kevlar ^4for loosing the round.");
        }
        
        default: {
            giveArmor = false;
        }
    }
    
    new ArmorType:armorType;
    if(giveArmor && (rg_get_user_armor(id, armorType) < 100 || armorType != ARMOR_VESTHELM)) {             
        rg_set_user_armor(id, 100, ARMOR_VESTHELM);
    }

    return HC_CONTINUE;
}

bool:checkTeam(const id, const TeamName:team) {
    return bool:(TeamName:get_member(id, m_iTeam) == team);
}

or should be set in this line?

Код:
    new ArmorType:armorType;
    if(giveArmor && (rg_get_user_armor(id, armorType) < 100 || armorType != ARMOR_VESTHELM)) {             
        rg_set_user_armor(id, 100, ARMOR_VESTHELM);
        client_print_color(here)?
 
 
Сообщения
8
Рейтинг
0
#16
Здравствуйте, данный плагин актуален ? можно ставить ? ...
 
 
Сообщения
96
Рейтинг
102
#18
d3m37r4, надо еще в начале раунда оружие перезаряжать ))
 
 
Сообщения
218
Рейтинг
169
#20
 
> > > > >