BLOG "Моё хобби" или "как я трачу свободное время"

Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
d3m37r4, сначала, хотелось бы понять, является ли багом такое поведение
 
Сообщения
957
Реакции
1,184
Помог
52 раз(а)
wopox1337, не столько баг, сколько просто недоработка физики
 
Сообщения
241
Реакции
435
Небольшой вопрос - а зачем выкидывать оружие? Это благотворительность в каком-то роде - подайте нищим неудачникам АУГ, пусть хотя бы раунд поиграют не с дробовичком? =)

Мне, кстати, нравится концепция отсутствия физики у упавших автоматиков в 1.6. Даже если на дедаст упадет ракета Сатана - АК47 не сдвинется с места. Умели раньше делать оружие =)

А теперь слегка пни лежачий пистолет - сразу полетит в сторону. Слабак. =)
 
Сообщения
1,661
Реакции
1,486
Помог
24 раз(а)
wopox1337, гифка у меня на этом сайте не грузится.
Поставь в конце, оружие в воздухе зависнет, посмотришь и настроишь как нужно.
Код:
set_entvar(iWeaponBox, var_movetype, MOVETYPE_NONE);
set_entvar(iWeaponBox, varr_viewmodel, NULL_STRING); // по желанию, можешь туже пушку поставить для сравнения
 
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
Нашёл я такую удобную штукенцию как Doxygen. [WIKI | Habr]
Грубыми словами - она умеет генерировать документацию к коду, включая классы, деревья покажет и прочее.

Результат вывода (тыкал в визарде "Далее"): http://95.31.253.23/hlds-docs/

Надо ли это нам? Отпишитесь, будет ли для вас полезна такого представления документация, пишите предложения. Допустим, сделать в доки: ReHLDS, ReGameDLL, AMXModX и остальное, что востребуется - глядишь и жить проще станет. :dntknw:cosZcZn[1].png
 
Последнее редактирование:
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
1545722628475.png
Разгадайте загадку, зачем тут второй параметр fCopyCorpse ? Почему он не bool по венгерской нотации?!
Объявлена как: void respawn(entvars_t *pev, BOOL fCopyCorpse = FALSE);
Вот так реализована:
Код:
void respawn(entvars_t *pev, BOOL fCopyCorpse)
{
     if (gpGlobals->coop || gpGlobals->deathmatch)
     {
         if (CSGameRules()->m_iTotalRoundsPlayed > 0)
             CSGameRules()->MarkSpawnSkipped();

         CBasePlayer *pPlayer = GetClassPtr<CCSPlayer>((CBasePlayer *)pev);
         if (CSGameRules()->IsCareer() && CSGameRules()->ShouldSkipSpawn() && pPlayer->IsAlive())
             g_skipCareerInitialSpawn = true;

         pPlayer->Spawn();
         g_skipCareerInitialSpawn = false;
     }
     else if (pev->deadflag > DEAD_NO)
     {
         SERVER_COMMAND("reload\n");
     }
}
Используется:
  1. CBasePlayer::PlayerDeathThink()
  2. CBasePlayer::RoundRespawn()
Тэги: #погрешности_ReGameDLL
 
Сообщения
271
Реакции
423
Помог
5 раз(а)
From XASH3D
make a copy of the dead body for appearances sake :smile3:

Код:
// called by ClientKill and DeadThink
void respawn(entvars_t* pev, BOOL fCopyCorpse)
{
    if (gpGlobals->coop || gpGlobals->deathmatch)
    {
        if ( fCopyCorpse )
        {
            // make a copy of the dead body for appearances sake
            CopyToBodyQue(pev);
        }

        // respawn player
        GetClassPtr( (CBasePlayer *)pev)->Spawn( );
    }
    else
    {       // restart the entire server
        SERVER_COMMAND("reload\n");
    }
}
From REGameDLL
Код:
// make a body que entry for the given ent so the ent can be respawned elsewhere
// GLOBALS ASSUMED SET:  g_eoBodyQueueHeadstion
void CopyToBodyQue(entvars_t *pev)
{
#if 0
    if (pev->effects & EF_NODRAW)
        return;

    entvars_t *pevHead = VARS(g_pBodyQueueHead);

    pevHead->angles = pev->angles;
    pevHead->model = pev->model;
    pevHead->modelindex = pev->modelindex;
    pevHead->frame = pev->frame;
    pevHead->colormap = pev->colormap;
    pevHead->movetype = MOVETYPE_TOSS;
    pevHead->velocity = pev->velocity;
    pevHead->flags = 0;
    pevHead->deadflag = pev->deadflag;
    pevHead->renderfx = kRenderFxDeadPlayer;
    pevHead->renderamt = ENTINDEX(ENT(pev));

    pevHead->effects = pev->effects | EF_NOINTERP;

    pevHead->sequence = pev->sequence;
    pevHead->animtime = pev->animtime;

    UTIL_SetOrigin(pevHead, pev->origin);
    UTIL_SetSize(pevHead, pev->mins, pev->maxs);

    g_pBodyQueueHead = pevHead->owner;
#endif
}
У s1lent спроси!
 
Последнее редактирование модератором:
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
bionext, интересно, по каким причинам занулен код. Осмелюсь предположить что он не юзабелен для Counter-Strike мода. И что это за очередь моделей g_pBodyQueueHead ? :scratch_one-s_head: Сдаётся мне это нужно для, допустим монстров там всяких... NPC из Half-Life, где у головы может быть какой-нибудь Headcrab (могу ошибаться, не знаю механики), или анимации лица различные.
 
Последнее редактирование:
Сообщения
271
Реакции
423
Помог
5 раз(а)
wopox1337, Да это типа как у чужого личинка, рудимент от hl :smile3:
 
Сообщения
48
Реакции
151
Надо и мне писать блог о том, как я живу. Это ж так всем интирисна. Я у мамы блогер.
 
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
Kaido Ren, людям интересен опыт других людей. Такие, как показала практика приветствуется
 
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
Хотел обновить First Bonus Killer и чё-то мне лень так запариваться. Мб потом доделаю, а пока плюну это:

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

public plugin_init()
{
    register_srvcmd("fkb_add_gift", "CMD_AddGift");

    RegisterHam(Ham_Spawn, "player", "CBasePlayer_Spawn", .Post = true);  
}

// For tests
public CBasePlayer_Spawn(id)
{
    if(g_iArraySize_Items != 0)
    {
        GiveAGift(id);
    }
}

enum Gift_Type_s
{
    _money,
    _item,
    _health,
    _armor,
}

enum _:Item_s
{
    Gift_Type_s: Type,
    Name[32],
    Count

}

new Array: g_aItems, g_iArraySize_Items;

public CMD_AddGift()
{
   
    new args_count = read_argc();
   
    if(args_count < 1)
    {
        return;
    }
   
    if(!g_aItems) g_aItems = ArrayCreate(Item_s);
   
    enum _:args { arg_cmd , arg_name, arg_item, arg_count };
    new szArgs[args][32];
   
    for(new iArg; iArg < sizeof szArgs; iArg++)
    {
         read_argv(iArg, szArgs[iArg], charsmax(szArgs[]));
    }
   
    new Gift_Type_s: iType = GetGiftType(szArgs[arg_name]);
   
    if(_:iType == -1)
    {
        log_amx("[WARN]: Undefinded gift type: '%s'", szArgs[arg_name]);
       
        return;
    }
   
    new ItemArray[Item_s];
   
    ItemArray[Type] = iType;
    ItemArray[Name] = szArgs[arg_name];
    ItemArray[Count] = szArgs[arg_count];

    g_iArraySize_Items = ArraySize(g_aItems);
}

Gift_Type_s: GetGiftType(szName[])
{
    if(!strcmp("money", szName))
        return _money;
    if(!strcmp("item", szName))
        return _item;
    if(!strcmp("health", szName))
        return _health;
    if(!strcmp("armor", szName))
        return _armor;
       
    return -1;
}

GiveAGift(id)
{
    item = random_num(0, g_iArraySize_Items);
}

// CFG
    //    fkb_add_gift "money" "500"
    //    fkb_add_gift "money" "1500"
    //  
    //    fkb_add_gift "item "weapon_awp"
    //    fkb_add_gift "item" "weapon_ak47"
    //    fkb_add_gift "item" "weapon_hegrenade"
    //    fkb_add_gift "item" "weapon_smokegrenade"
    //    fkb_add_gift "item" "item_longjump"
    //  
    //    fkb_add_gift "health" "50"
    //    fkb_add_gift "health" "10"
    //  
    //    fkb_add_gift "armor" "15"
    //  
    //    fkb_minplayers "4"
    //    fkb_maxHP "100"
26 Дек 2018
Chuck видимо пока-что не судьба. Лень пилить, могу хардкодом пока только запихать бонусы
 
Сообщения
2,713
Реакции
2,993
Помог
59 раз(а)
Мелочь, а НЕ приятно!
1546464778061.png
Казалось бы, всего лишь ОЧЕРЕДНАЯ реклама влепленная в клиент. Но, сколько же ненависти для меня этот сервер сразу же сформировал к себе. Возникает желание не то что бы пожелать удачной работы, а то и поспособствовать желанию автора сервера исправить столь печальное положение дел.

Те, кто рекламу своего УНИКАЛЬНОГО сервера в кс пихают - горите в аду.
1546464927497.png
P.S: Я специально не стал скрывать IP адрес и информацию о сервере. Так сказать, всё "самое лучшее" - на показ. А при желании и найдутся те, кто помогут прийти к пониманию администратора.
3 Янв 2019
ну... во всяком случае, прошлому владельцу этого IP сервера - большой привет.
А ныне - там какой-то JAIL хостится и он к посту уже отношения не имеет [#Google]

Однако, далеко ходить не надо, вот инфа:
www.rostovgame.ru
https://vk.com/rostovcs16
https://gs-monitor.com/info/46.174.54.186:27218/
[#MyArena]
Скажем Anubis555 - спасибо за такой прекрасный сервер.
1546465656535.png

Реклама вам. :good2:
 
Последнее редактирование:
Сообщения
332
Реакции
75
Предупреждения
9
Помог
1 раз(а)
wopox1337, я полностью с тобой согласен :rofl:
хотел спросить у тебя а где скачать такой плагин можно, чтобы вообще это окно не видеть у себя на сервере.
А то я долго искал так и не нашел.
 

Вложения

Сообщения
271
Реакции
423
Помог
5 раз(а)
GALAXY, Просто блокируешь новое меню.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу