unlock_famas

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Keistas
Jau po truputį tampa savu
Posts: 144
Joined: 2011 Feb 23 19:44
Skype: mindzekas.nu

unlock_famas

Post by Keistas »

Sveiki, kaip padaryti kad ne visa map upgrade būtų, o tik 1-round. Kai prisikeli vėl nusiperki ir būni su upgrade, kol nemiršti:

Code: Select all

 #include <amxmodx>#include <fakemeta>#include <hamsandwich>#include <xs>#include <gunxpmod>#include <engine>#include <cstrike> new PLUGIN_NAME[]   = "UNLOCK : AK06"new PLUGIN_AUTHOR[]     = "xbatista"new PLUGIN_VERSION[]    = "1.0" new const WEAPON_V_MDL[] = "models/gunxpmod/v_famas.mdl";#define WEAPON_CSW CSW_FAMASnew const weapon_n[] = "weapon_famas"; const m_pPlayer = 41; #define IsPlayer(%1)  ( 1 <= %1 <= g_maxplayers ) new g_hasZoom[33]; new damage_weapon, weapon_recoil;new g_maxplayers;   new bool:g_Weapon[33]; new Float:cl_pushangle[33][3];new szClip, szAmmo; public plugin_init() {    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)    register_gxm_item("Famo upgrade", "+Aim +Power +Scope ( Famas )", 500)     damage_weapon = register_cvar("gxm_damage_fam","1.5"); // damage multiplier    weapon_recoil = register_cvar( "fam_recoil", "0.9" ); // weapon recoil     register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");        RegisterHam( Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPost" , 1 );    RegisterHam(Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPre");     RegisterHam(Ham_TakeDamage, "player", "Ham_DamageWeapon");     register_forward( FM_CmdStart, "Fwd_CmdStart" );     g_maxplayers = get_maxplayers();}public gxm_item_enabled(id) {    g_Weapon[id] = true;}public client_connect(id) {    g_Weapon[id] = false;}public plugin_precache()  {    engfunc(EngFunc_PrecacheModel, WEAPON_V_MDL);} public Fwd_AttackSpeedPre(Ent){    new id = pev(Ent,pev_owner);    entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]);}public Fwd_AttackSpeedPost( const Entity ){    static id ; id = get_pdata_cbase(Entity, m_pPlayer, 4)    if (g_Weapon[id] && IsPlayer(id) )    {         new Float:push[3];        entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]);        xs_vec_sub( push, cl_pushangle[id], push);        xs_vec_mul_scalar( push, get_pcvar_float( weapon_recoil ), push);        xs_vec_add( push, cl_pushangle[id], push);        entity_set_vector( id, EV_VEC_punchangle, push);    }} public Ham_DamageWeapon(id, inflictor, attacker, Float:damage, damagebits) {    if ( !IsPlayer(attacker) || !g_Weapon[attacker] )            return HAM_IGNORED;      new weapon2 = get_user_weapon(attacker, _, _);    if( weapon2 == WEAPON_CSW)    {        SetHamParamFloat(4, damage * get_pcvar_float(damage_weapon));        return HAM_HANDLED;    }     return HAM_IGNORED;}public Event_CurWeapon(id) {    if ( !g_Weapon[id] || !is_user_alive(id) )    return PLUGIN_CONTINUE;     new Gun = read_data(2)      if( Gun == WEAPON_CSW)    {        entity_set_string(id, EV_SZ_viewmodel, WEAPON_V_MDL)    }     return PLUGIN_CONTINUE;} public Fwd_CmdStart( id, uc_handle, seed ){    if( !is_user_alive( id ) || !g_Weapon[id] )         return FMRES_IGNORED;     if( ( get_uc( uc_handle, UC_Buttons ) & IN_USE ) && !( pev( id, pev_oldbuttons ) & IN_USE ) )    {        new szWeapID = get_user_weapon( id, szClip, szAmmo )         if( szWeapID == WEAPON_CSW && !g_hasZoom[ id ])        {            g_hasZoom[ id ] = true            cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 1 )        }         else         {   if( g_hasZoom[ id ] )            {                g_hasZoom[ id ] = false                cs_set_user_zoom( id,  CS_RESET_ZOOM, 0 )            }        }         return FMRES_HANDLED;    }     return FMRES_IGNORED;}
Jei pasakysit pakeisit, pasakykit kurioj vietoj pakeitet. Ačiū.

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

Re: unlock_famas

Post by psychical »

Keistas wrote:Sveiki, kaip padaryti kad ne visa map upgrade būtų, o tik 1-round. Kai prisikeli vėl nusiperki ir būni su upgrade, kol nemiršti:

Code: Select all

 #include <amxmodx>#include <fakemeta>#include <hamsandwich>#include <xs>#include <gunxpmod>#include <engine>#include <cstrike> new PLUGIN_NAME[]   = "UNLOCK : AK06"new PLUGIN_AUTHOR[]     = "xbatista"new PLUGIN_VERSION[]    = "1.0" new const WEAPON_V_MDL[] = "models/gunxpmod/v_famas.mdl";#define WEAPON_CSW CSW_FAMASnew const weapon_n[] = "weapon_famas"; const m_pPlayer = 41; #define IsPlayer(%1)  ( 1 <= %1 <= g_maxplayers ) new g_hasZoom[33]; new damage_weapon, weapon_recoil;new g_maxplayers;   new bool:g_Weapon[33]; new Float:cl_pushangle[33][3];new szClip, szAmmo; public plugin_init() {    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)    register_gxm_item("Famo upgrade", "+Aim +Power +Scope ( Famas )", 500)     damage_weapon = register_cvar("gxm_damage_fam","1.5"); // damage multiplier    weapon_recoil = register_cvar( "fam_recoil", "0.9" ); // weapon recoil     register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");        RegisterHam( Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPost" , 1 );    RegisterHam(Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPre");     RegisterHam(Ham_TakeDamage, "player", "Ham_DamageWeapon");     register_forward( FM_CmdStart, "Fwd_CmdStart" );     g_maxplayers = get_maxplayers();}public gxm_item_enabled(id) {    g_Weapon[id] = true;}public client_connect(id) {    g_Weapon[id] = false;}public plugin_precache()  {    engfunc(EngFunc_PrecacheModel, WEAPON_V_MDL);} public Fwd_AttackSpeedPre(Ent){    new id = pev(Ent,pev_owner);    entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]);}public Fwd_AttackSpeedPost( const Entity ){    static id ; id = get_pdata_cbase(Entity, m_pPlayer, 4)    if (g_Weapon[id] && IsPlayer(id) )    {         new Float:push[3];        entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]);        xs_vec_sub( push, cl_pushangle[id], push);        xs_vec_mul_scalar( push, get_pcvar_float( weapon_recoil ), push);        xs_vec_add( push, cl_pushangle[id], push);        entity_set_vector( id, EV_VEC_punchangle, push);    }} public Ham_DamageWeapon(id, inflictor, attacker, Float:damage, damagebits) {    if ( !IsPlayer(attacker) || !g_Weapon[attacker] )            return HAM_IGNORED;      new weapon2 = get_user_weapon(attacker, _, _);    if( weapon2 == WEAPON_CSW)    {        SetHamParamFloat(4, damage * get_pcvar_float(damage_weapon));        return HAM_HANDLED;    }     return HAM_IGNORED;}public Event_CurWeapon(id) {    if ( !g_Weapon[id] || !is_user_alive(id) )    return PLUGIN_CONTINUE;     new Gun = read_data(2)      if( Gun == WEAPON_CSW)    {        entity_set_string(id, EV_SZ_viewmodel, WEAPON_V_MDL)    }     return PLUGIN_CONTINUE;} public Fwd_CmdStart( id, uc_handle, seed ){    if( !is_user_alive( id ) || !g_Weapon[id] )         return FMRES_IGNORED;     if( ( get_uc( uc_handle, UC_Buttons ) & IN_USE ) && !( pev( id, pev_oldbuttons ) & IN_USE ) )    {        new szWeapID = get_user_weapon( id, szClip, szAmmo )         if( szWeapID == WEAPON_CSW && !g_hasZoom[ id ])        {            g_hasZoom[ id ] = true            cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 1 )        }         else         {   if( g_hasZoom[ id ] )            {                g_hasZoom[ id ] = false                cs_set_user_zoom( id,  CS_RESET_ZOOM, 0 )            }        }         return FMRES_HANDLED;    }     return FMRES_IGNORED;}
Jei pasakysit pakeisit, pasakykit kurioj vietoj pakeitet. Ačiū.

Code: Select all

    RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1); Public fwd_Player_spawn(id){   if(g_Weapon[id])   {      g_Weapon[id] = false;   }} 
Pagal ideja, turetu but taip

Keistas
Jau po truputį tampa savu
Posts: 144
Joined: 2011 Feb 23 19:44
Skype: mindzekas.nu

Re: unlock_famas

Post by Keistas »

O galima tiksliai?

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

Re: unlock_famas

Post by psychical »

Kaip matau, niekas is amx expertu netaise manes, tai taip gaunasi kad teisingai ir parasiau, jei nesupratai kaip idet, tai va:

Code: Select all

#include <amxmodx>#include <fakemeta>#include <hamsandwich>#include <xs>#include <gunxpmod>#include <engine>#include <cstrike> new PLUGIN_NAME[]   = "UNLOCK : AK06"new PLUGIN_AUTHOR[]     = "xbatista"new PLUGIN_VERSION[]    = "1.0" new const WEAPON_V_MDL[] = "models/gunxpmod/v_famas.mdl";#define WEAPON_CSW CSW_FAMASnew const weapon_n[] = "weapon_famas"; const m_pPlayer = 41; #define IsPlayer(%1)  ( 1 <= %1 <= g_maxplayers ) new g_hasZoom[33]; new damage_weapon, weapon_recoil;new g_maxplayers;   new bool:g_Weapon[33];new Float:cl_pushangle[33][3];new szClip, szAmmo; public plugin_init(){    register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)    register_gxm_item("Famo upgrade", "+Aim +Power +Scope ( Famas )", 500)     damage_weapon = register_cvar("gxm_damage_fam","1.5"); // damage multiplier    weapon_recoil = register_cvar( "fam_recoil", "0.9" ); // weapon recoil     register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");       RegisterHam( Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPost" , 1 );    RegisterHam(Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPre");     RegisterHam(Ham_TakeDamage, "player", "Ham_DamageWeapon");    RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1);    register_forward( FM_CmdStart, "Fwd_CmdStart" );     g_maxplayers = get_maxplayers();}public gxm_item_enabled(id){    g_Weapon[id] = true;}public client_connect(id){    g_Weapon[id] = false;}public plugin_precache()  {    engfunc(EngFunc_PrecacheModel, WEAPON_V_MDL);} public fwd_Player_spawn(id){   if(g_Weapon[id])   {      g_Weapon[id] = false;   }}  public Fwd_AttackSpeedPre(Ent){    new id = pev(Ent,pev_owner);    entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]);}public Fwd_AttackSpeedPost( const Entity ){    static id ; id = get_pdata_cbase(Entity, m_pPlayer, 4)    if (g_Weapon[id] && IsPlayer(id) )    {         new Float:push[3];        entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]);        xs_vec_sub( push, cl_pushangle[id], push);        xs_vec_mul_scalar( push, get_pcvar_float( weapon_recoil ), push);        xs_vec_add( push, cl_pushangle[id], push);        entity_set_vector( id, EV_VEC_punchangle, push);    }} public Ham_DamageWeapon(id, inflictor, attacker, Float:damage, damagebits){    if ( !IsPlayer(attacker) || !g_Weapon[attacker] )            return HAM_IGNORED;     new weapon2 = get_user_weapon(attacker, _, _);    if( weapon2 == WEAPON_CSW)    {        SetHamParamFloat(4, damage * get_pcvar_float(damage_weapon));        return HAM_HANDLED;    }     return HAM_IGNORED;}public Event_CurWeapon(id){    if ( !g_Weapon[id] || !is_user_alive(id) )    return PLUGIN_CONTINUE;     new Gun = read_data(2)     if( Gun == WEAPON_CSW)    {        entity_set_string(id, EV_SZ_viewmodel, WEAPON_V_MDL)    }     return PLUGIN_CONTINUE;} public Fwd_CmdStart( id, uc_handle, seed ){    if( !is_user_alive( id ) || !g_Weapon[id] )        return FMRES_IGNORED;     if( ( get_uc( uc_handle, UC_Buttons ) & IN_USE ) && !( pev( id, pev_oldbuttons ) & IN_USE ) )    {        new szWeapID = get_user_weapon( id, szClip, szAmmo )         if( szWeapID == WEAPON_CSW && !g_hasZoom[ id ])        {            g_hasZoom[ id ] = true            cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 1 )        }         else        {   if( g_hasZoom[ id ] )            {                g_hasZoom[ id ] = false                cs_set_user_zoom( id,  CS_RESET_ZOOM, 0 )            }        }         return FMRES_HANDLED;    }     return FMRES_IGNORED;}

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: unlock_famas

Post by aurimasko »

Code: Select all

    if(g_Weapon[id])   {      g_Weapon[id] = false;   }
manau užtenka tik:

Code: Select all

g_Weapon[id] = false;

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

Re: unlock_famas

Post by psychical »

aurimasko wrote:

Code: Select all

    if(g_Weapon[id])   {      g_Weapon[id] = false;   }
manau užtenka tik:

Code: Select all

g_Weapon[id] = false;
tada jis nustatines kekviena respawn kekvienam, o patikrinus jis nenustatys, jei jis netures to true

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: unlock_famas

Post by aurimasko »

o, tai koks skirtumas? jeigu kiekviena raundą turi atimti, tai tegu atima visiem nesvarbu turi ar ne... tiems kas neturi tai jokio skirtumo nesudarys.. beto nesikreipiama į if(..)...

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

Re: unlock_famas

Post by psychical »

aurimasko wrote:o, tai koks skirtumas? jeigu kiekviena raundą turi atimti, tai tegu atima visiem nesvarbu turi ar ne... tiems kas neturi tai jokio skirtumo nesudarys.. beto nesikreipiama į if(..)...

ifas nieko nedaro, jeigu jo klausimas yra neigiamas siuo atveju, todel jis niekuo netrugdo, o jeigu tu kekviena spawn'a pradesi nustatineti reiksmia false, kuri ir tiap yra false tai jau ne kazka..

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: unlock_famas

Post by aurimasko »

jokių errorų nebus, nebent cpu daugiau gali sunaudot..

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

Re: unlock_famas

Post by psychical »

aurimasko wrote:jokių errorų nebus, nebent cpu daugiau gali sunaudot..
As apie error'us ir nesneku...

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 1 guest