HELP !

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
artiom555
Jau po truputį tampa savu
Posts: 112
Joined: 2014 Apr 23 21:55
Skype: artem.sharkovic
Contact:

HELP !

Post by artiom555 »

Sveiki reikia nustatit kad po pirkimo sito itemo jis veiktu tik 60 sek.

Code: Select all

/*================================================================================        -------------------------------------------    -*- [ZP] Extra Item: Unlimited Clip 1.0 -*-    -------------------------------------------        ~~~~~~~~~~~~~~~    - Description -    ~~~~~~~~~~~~~~~        This item/upgrade gives players unlimited clip ammo for a single round.    ================================================================================*/ #include <amxmodx>#include <fakemeta>#include <zombieplague> /*================================================================================ [Plugin Customization]=================================================================================*/ new const g_item_name[] = { "Unlimited Clip (single round)" }const g_item_cost = 10 /*============================================================================*/ // CS Offsets#if cellbits == 32const OFFSET_CLIPAMMO = 51#elseconst OFFSET_CLIPAMMO = 65#endifconst OFFSET_LINUX_WEAPONS = 4 // Max Clip for weaponsnew const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,            10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 } new g_itemid_infammo, g_has_unlimited_clip[33] public plugin_init(){    register_plugin("[ZP] Extra: Unlimited Clip", "1.0", "MeRcyLeZZ")        g_itemid_infammo = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)          register_event("HLTV", "event_round_start", "a", "1=0", "2=0")    register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")} // Player buys our upgrade, set the unlimited ammo flagpublic zp_extra_item_selected(player, itemid){    if (itemid == g_itemid_infammo)        g_has_unlimited_clip[player] = true} // Reset flags for all players on newroundpublic event_round_start(){    for (new id; id <= 32; id++) g_has_unlimited_clip[id] = false;} // Unlimited clip codepublic message_cur_weapon(msg_id, msg_dest, msg_entity){    // Player doesn't have the unlimited clip upgrade    if (!g_has_unlimited_clip[msg_entity])        return;        // Player not alive or not an active weapon    if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)        return;        static weapon, clip    weapon = get_msg_arg_int(2) // get weapon ID    clip = get_msg_arg_int(3) // get weapon clip        // Unlimited Clip Ammo    if (MAXCLIP[weapon] > 2) // skip grenades    {        set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]) // HUD should show full clip all the time                if (clip < 2) // refill when clip is nearly empty        {            // Get the weapon entity            static wname[32], weapon_ent            get_weaponname(weapon, wname, sizeof wname - 1)            weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity)                        // Set max clip on weapon            fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon])        }    }} // Find entity by its owner (from fakemeta_util)stock fm_find_ent_by_owner(entity, const classname[], owner){    while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}        return entity;} // Set Weapon Clip Ammostock fm_set_weapon_ammo(entity, amount){    set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);}/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3082\\ f0\\ fs16 \n\\ par }*/ 

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: HELP !

Post by psychical »

Smth like that...

Code: Select all

#define TASK_ID_NOMORE 100//code...set_task(60.0, "noMoreUnlimited", id+TASK_ID_NOMORE); //codepublic client_disconnect(id) {    remove_task(id+TASK_ID_NOMORE);} //code...public noMoreUnlimited(id){    id -= TASK_ID_NOMORE;     if(!is_user_connected(id)) {        return PLUGN_CONTINUE;    }     g_has_unlimited_clip[id] = false;    client_print(id, 3, "Your unlimited ammo has ended.");    return PLUGIN_HANDLED;} 

User avatar
artiom555
Jau po truputį tampa savu
Posts: 112
Joined: 2014 Apr 23 21:55
Skype: artem.sharkovic
Contact:

Re: HELP !

Post by artiom555 »

dk.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest