Преработка на WarmUP Round

В този раздел можете да подадете заявка за преработка на даден плъгин. Имайте предвид, че задължително трябва да преодставите кода на въпросния плъгин.
Отговори
Потребителски аватар

Автор на темата
Mariela
Потребител
Потребител
Мнения: 97
Регистриран: 13 окт 2016, 00:32
Местоположение: гр. София
Се отблагодари: 2 пъти
Години: 26
Контакти:

Преработка на WarmUP Round

Мнение от Mariela » 17 май 2018, 22:40

Здравейте,
ако може някой да ми преработи плъгина който съм дал по-долу, докато тече загряващия рунд, малко над средата на екрана да излиза таймер, колко време остава до края на загряващия рунд. В началото на рунда да излизат 3 съобщения, че това е загряващ рунд. Да бъде премахнато това съобщение "Warmup round is over, restarting...", също така, има проблем с дропването на оръжията. При компилация ми показва тази грешка "(48) warning 209: function "OnDrop" should return a value". След като те убият си остават по мапа, ако може да се премахнат и те (след като те убият да изчезват). Като свърши загряващия рунд да излизат в чата 3 последнователни съобщения, няма значение какви, аз ще си ги редактирам.
Благодаря предварително!

Код: Избери всички

#include <amxmodx>
#include <reapi>
#include <WPMGPrintChatColor>

new p_flWarmUpTime, p_flForceRespawn, p_flBuyTime;
new Float:g_flOldBuyTime, Float:g_flOldForceRespawn;
new HookChain:fwdPlayerSpawn;
new bool:g_bWarmup

new const g_szWeapons[][] =
{
    "weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_awp", "weapon_famas", "weapon_galil",
    "weapon_m249", "weapon_scout", "weapon_m3", "weapon_xm1014", "weapon_mac10", "weapon_p90"
};

new const g_szPistols[][] =
{
    "weapon_glock18", "weapon_usp",    "weapon_deagle", "weapon_elite", "weapon_p228"
};

new const g_iWeaponsBpAmmo[] =
{
    90, 90, 90, 30, 90, 90, 200, 90, 32, 32, 100, 100
}

new const g_iPistolsBpAmmo[] =
{
    120, 100, 35, 120, 52
}

public plugin_init()
{
    register_plugin("Warm UP", "1.0", "TheRedShoko @ AMXX-BG.info");
    register_clcmd("drop", "OnDrop")
    
    DisableHookChain((fwdPlayerSpawn = RegisterHookChain(RG_CBasePlayer_Spawn, "FwPlayerSpawnPost", 1)));
    
    p_flWarmUpTime = register_cvar("warmup_time", "180.0");
    
    p_flForceRespawn = get_cvar_pointer("mp_forcerespawn");
    p_flBuyTime = get_cvar_pointer("mp_buytime");
}

public OnDrop(id)
{
    if(g_bWarmup)
    return PLUGIN_HANDLED
}

public plugin_cfg()
{
    g_flOldBuyTime = get_pcvar_float(p_flForceRespawn);
    g_flOldBuyTime = get_pcvar_float(p_flBuyTime);
    
    set_pcvar_num(p_flBuyTime, 0);
    set_pcvar_float(p_flForceRespawn, 0.1);
    
    new Float:flWarmUpTime = get_pcvar_float(p_flWarmUpTime);
    
    set_task(flWarmUpTime, "EndWarmUp");
    g_bWarmup = true
    
    EnableHookChain(fwdPlayerSpawn);
    
    set_hudmessage(0, 255, 0, .holdtime = 10.0);
    show_hudmessage(0, "Warmup round will end in %.f seconds!", flWarmUpTime);
    
    PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warmup round will end in %.f seconds!", flWarmUpTime);
}

public EndWarmUp()
{
    DisableHookChain(fwdPlayerSpawn);
    
    set_pcvar_float(p_flBuyTime, g_flOldBuyTime);
    set_pcvar_float(p_flForceRespawn, g_flOldForceRespawn);
    
    set_hudmessage(0, 255, 0, .holdtime = 10.0);
    show_hudmessage(0, "Warmup round is over, restarting...");
    
    server_cmd("sv_restart 3");
    g_bWarmup = false
    
    PrintChatColor(0, PRINT_COLOR_PLAYERTEAM, "!g[WarmUp]!y Warm up is over, restarting...");
}

public FwPlayerSpawnPost(id)
{
    if (!is_user_alive(id))
    {
        return;
    }
    
    rg_remove_all_items(id);
    rg_give_item(id, "weapon_knife");
    
    new iPrimaryWeapon = random(sizeof g_szWeapons);
    new iSecondaryWeapon = random(sizeof g_szPistols);
    
    rg_give_item(id, g_szWeapons[iPrimaryWeapon]);
    rg_give_item(id, g_szPistols[iSecondaryWeapon]);
    rg_set_user_bpammo(id, rg_get_weapon_info(g_szWeapons[iPrimaryWeapon], WI_ID), g_iWeaponsBpAmmo[iPrimaryWeapon]);
    rg_set_user_bpammo(id, rg_get_weapon_info(g_szPistols[iSecondaryWeapon], WI_ID), g_iPistolsBpAmmo[iSecondaryWeapon]);
}


Последно избутана от Mariela на 17 май 2018, 22:40.
И имайте предвид, че никой след време няма да дойде и да ви каже "Благодаря ти, че пренебрегна себе си, за да ми е добре на мен. :)

Отговори

Върни се в “Преработка на плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост