Създаване на меню за ъпгрейтнати оръжия

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Marinovv
Извън линия
Потребител
Потребител
Мнения: 511
Регистриран на: 19 Сеп 2017, 10:01
Местоположение: България
Се отблагодари: 530 пъти
Получена благодарност: 13 пъти
Обратна връзка:

Създаване на меню за ъпгрейтнати оръжия

Мнение от Marinovv » 22 Май 2018, 22:53

Хей всички. Прощавайте ме, ако темата не е за тук, но се чудих известно време изобщо в кой раздел да си пусна темата тъй, като не става въпрос само за изработка на плъгин, а и за преработка.

Може ли да се създаде меню, което да се отваря с някаква команда. Това меню, ако е възможно да е с XP система, която да трупа по някакво XP при убийство. Примерно убия човек и да даде 10 XP. Исками се просто това меню да се направи, за това оръжие

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>
#include <gunxpmod>
#include <engine>
#include <cstrike>

new PLUGIN_NAME[] 	= "UNLOCK : M16"
new PLUGIN_AUTHOR[] 	= "xbatista"
new PLUGIN_VERSION[] 	= "1.0"

new const WEAPON_V_MDL[] = "models/gunxpmod/v_m4a1.mdl";
new const g_w_blast[] = "models/umbrella/w_heseek.mdl";
#define WEAPON_CSW CSW_M4A1
new const weapon_n[] = "weapon_m4a1";

const m_pPlayer	= 41;
const m_flNextSecondaryAttack = 47;
const m_flNextPrimaryAttack	= 46;

#define IsPlayer(%1)  ( 1 <= %1 <= g_maxplayers )
#define DMG_HEGRENADE (1<<24)

new g_hasZoom[33];

new damage_weapon, weapon_recoil, weapon_explo_distance, weapon_m203_damage,
weapon_m203_ammo;
new g_maxplayers;	
new bool:g_Weapon[33]; 
new Float:cl_pushangle[33][3];
new Float: g_LastThrow[33];
new g_spriteBlast;
new g_iM4A1;
new g_M203ammo[33];
new szClip, szAmmo;

public plugin_init() 
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_gxm_item("M4A1 Eotech", "+Aim +Power ( M4a1 )", 350)

	damage_weapon = register_cvar("gxm_damage_m4","1.3"); // damage multiplier
	weapon_recoil = register_cvar( "m4_recoil", "0.7" ); // weapon recoil

	weapon_explo_distance = register_cvar("gxm_distance_m2_m4","200"); // Distance of exploding M203
	weapon_m203_damage = register_cvar("gxm_damage_m2_m4","400"); // damage of M203
	weapon_m203_ammo = register_cvar("gxm_ammo_m2_m4","7"); // M203 ammo

	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_Item_Deploy , weapon_n, "Fwd_AttackSpeedPost", 1);

	RegisterHam(Ham_TakeDamage, "player", "Ham_DamageWeapon");

	RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1)

	register_forward( FM_CmdStart, "Fwd_CmdStart" );
	register_forward(FM_Touch, "Entity_Touched");

	g_maxplayers = get_maxplayers();

	g_iM4A1 = create_entity("grenade")
}
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);
	engfunc(EngFunc_PrecacheModel, g_w_blast);
	g_spriteBlast = engfunc(EngFunc_PrecacheModel, "sprites/dexplo.spr");
}

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) )
	{
		set_pdata_float( Entity , m_flNextSecondaryAttack , 9999.0, 4 );

		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 fwd_PlayerSpawn(id)
{
	if ( !is_user_alive(id) )
		return;

	g_M203ammo[id] = get_pcvar_num( weapon_m203_ammo );
}

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;

	static Float:Time;
	Time = get_gametime();

	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;
	}

	if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) && get_user_weapon(id) == WEAPON_CSW )
	{
		if (Time - 2.0 > g_LastThrow[id])
		{
			Throw_FireBlast(id);			

			g_LastThrow[id] = Time; 
		}
	}

	return FMRES_IGNORED;
}
public Entity_Touched(ent, victim)
{
	if ( !pev_valid(ent) )
		return;

	new classname[32]
	pev( ent, pev_classname, classname, 31)

	new attacker = entity_get_edict(ent, EV_ENT_owner);

	if ( equal(classname,"M203") )
	{
		new Float: Torigin[3], Float: Distance, Float: Damage;

		new Float:fOrigin[3], iOrigin[3];
		entity_get_vector( ent, EV_VEC_origin, fOrigin)	
		iOrigin[0] = floatround(fOrigin[0])
		iOrigin[1] = floatround(fOrigin[1])
		iOrigin[2] = floatround(fOrigin[2])	

		message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
		write_byte(TE_EXPLOSION);
		engfunc( EngFunc_WriteCoord,fOrigin[0]);
		engfunc( EngFunc_WriteCoord,fOrigin[1]);
		engfunc( EngFunc_WriteCoord,fOrigin[2]);
		write_short(g_spriteBlast);
		write_byte(32); // scale
		write_byte(20); // framerate
		write_byte(0); // flags
		message_end();

		for(new enemy = 1; enemy <= g_maxplayers; enemy++) 
		{
			if ( is_user_alive(enemy) && get_user_team(enemy) != get_user_team(attacker) )
			{
				entity_get_vector( enemy, EV_VEC_origin, Torigin)

				Distance = get_distance_f(fOrigin, Torigin);

				if ( Distance <= get_pcvar_float( weapon_explo_distance ) && get_user_team(attacker) != get_user_team(enemy) )
				{
					Damage = (((Distance / get_pcvar_float( weapon_explo_distance )) * get_pcvar_float( weapon_m203_damage )) - get_pcvar_float( weapon_m203_damage )) * -1.0;

					if (Damage > 0.0)
					{
						ExecuteHam(Ham_TakeDamage, enemy, g_iM4A1, attacker, Damage, DMG_HEGRENADE);
					}
				}
			}
		}

		set_pev( ent, pev_flags, FL_KILLME);
	}
}

public Throw_FireBlast(id)
{
	if ( !is_user_alive(id) || g_M203ammo[id] < 1 )
		return;

	g_M203ammo[id]--;

	client_printcolor(id, "/yM203 ammo left: /g%d", g_M203ammo[id])

	new Float: fOrigin[3], Float:fAngle[3],Float: fVelocity[3];

	entity_get_vector( id, EV_VEC_origin, fOrigin);
	entity_get_vector( id, EV_VEC_view_ofs, fAngle);

	fOrigin[0] += fAngle[0];
	fOrigin[1] += fAngle[1];
	fOrigin[2] += fAngle[2];
	
	fm_velocity_by_aim(id, 1.0, fVelocity, fAngle);
	fAngle[0] *= -1.0;

	new sprite_ent = create_entity("info_target");

	entity_set_string( sprite_ent, EV_SZ_classname, "M203");
	entity_set_model( sprite_ent, g_w_blast);

	entity_set_edict( sprite_ent, EV_ENT_owner, id);

	entity_set_size( sprite_ent, Float:{-2.1, -2.1, -2.1}, Float:{2.1, 2.1, 2.1});

	entity_set_vector( sprite_ent, EV_VEC_origin, fOrigin);

	fOrigin[0] += fVelocity[0] - 30.0;
	fOrigin[1] += fVelocity[1];
	fOrigin[2] += fVelocity[2];

	entity_set_int( sprite_ent, EV_INT_movetype, MOVETYPE_BOUNCE);
	entity_set_int( sprite_ent, EV_INT_solid, SOLID_BBOX);
	
	entity_set_float( sprite_ent, EV_FL_gravity, 0.55);
	
	fVelocity[0] *= 1000.0;
	fVelocity[1] *= 1000.0;
	fVelocity[2] *= 1000.0;

	entity_set_vector( sprite_ent, EV_VEC_velocity, fVelocity);
	entity_set_vector( sprite_ent, EV_VEC_angles, fAngle);

}

stock fm_velocity_by_aim(iIndex, Float:fDistance, Float:fVelocity[3], Float:fViewAngle[3])
{
	//new Float:fViewAngle[3]
	pev(iIndex, pev_v_angle, fViewAngle)
	fVelocity[0] = floatcos(fViewAngle[1], degrees) * fDistance
	fVelocity[1] = floatsin(fViewAngle[1], degrees) * fDistance
	fVelocity[2] = floatcos(fViewAngle[0]+90.0, degrees) * fDistance
	return 1
}
Този плъгин е направен за друг мод, но ако може да се преработи и да се активира чрез въпросното меню, което искам, ако е възможно да се направи.

Много ви моля обаче, ако няма да го правите, защото е трудно да напишете предварително, а не да чакам с години отговор от някой скриптър. :)

Наистина ще съм щастлив, ако не е чак толкова трудно и имате желание. Поздрави.. :)
Иван Маринов,

лицензиран оператор и пилот на професионални дронове клас C1 за всички държави в EU.

DJI Mavic 3 Classic | DJI Mavic 3 PRO - погледни света от различна перспектива.

Последвайте ме във Facebook

Аватар
cybertron
Извън линия
Потребител
Потребител
Мнения: 11
Регистриран на: 01 Май 2018, 22:31

Създаване на меню за ъпгрейтнати оръжия

Мнение от cybertron » 22 Май 2018, 23:14

Нещо не схващам идеята ти, изкаш например като килнеш някой с даденото оражие да ти добави +хп ако е така! за какво ти е меню ?

Аватар
Marinovv
Извън линия
Потребител
Потребител
Мнения: 511
Регистриран на: 19 Сеп 2017, 10:01
Местоположение: България
Се отблагодари: 530 пъти
Получена благодарност: 13 пъти
Обратна връзка:

Създаване на меню за ъпгрейтнати оръжия

Мнение от Marinovv » 22 Май 2018, 23:20

Защото искам по горния плъгин дето дадох да може да се активира/купува от играчите по избор чрез меню. Но за да го купят да трябва да имат примерно 500 XP да речем, за ъпгрейт на това оръжие по горе.
Иван Маринов,

лицензиран оператор и пилот на професионални дронове клас C1 за всички държави в EU.

DJI Mavic 3 Classic | DJI Mavic 3 PRO - погледни света от различна перспектива.

Последвайте ме във Facebook

Аватар
cybertron
Извън линия
Потребител
Потребител
Мнения: 11
Регистриран на: 01 Май 2018, 22:31

Създаване на меню за ъпгрейтнати оръжия

Мнение от cybertron » 22 Май 2018, 23:30

Например:
1. Shop M4A1 | $500 |
2. Shop A47 | $709 |
3. Shop AWP | $1000 |

И като си закупиш оражие от меню то като го отвориш пак.

1. Upgrade M4A1| Level: 1 | 2x Damage | $500 |
2. Shop A47 | $709 |
3. Shop AWP | $1000 |

1. Upgrade M4A1| Level: 2 | Golden Skin | $700 |
2. Shop A47 | $709 |
3. Shop AWP | $1000 |

1. Upgrade M4A1| Level: 3 | Gold Ammo | $500 |
2. Shop A47 | $709 |
3. Shop AWP | $1000

И така нататък ;)

Аватар
Marinovv
Извън линия
Потребител
Потребител
Мнения: 511
Регистриран на: 19 Сеп 2017, 10:01
Местоположение: България
Се отблагодари: 530 пъти
Получена благодарност: 13 пъти
Обратна връзка:

Създаване на меню за ъпгрейтнати оръжия

Мнение от Marinovv » 22 Май 2018, 23:35

Да, но ето пак да обобщя. Прощавай, но малко се обърках с твоя коментар. Ето отново кодът от по горе:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>
#include <gunxpmod>
#include <engine>
#include <cstrike>

new PLUGIN_NAME[] 	= "UNLOCK : M16"
new PLUGIN_AUTHOR[] 	= "xbatista"
new PLUGIN_VERSION[] 	= "1.0"

new const WEAPON_V_MDL[] = "models/gunxpmod/v_m4a1.mdl";
new const g_w_blast[] = "models/umbrella/w_heseek.mdl";
#define WEAPON_CSW CSW_M4A1
new const weapon_n[] = "weapon_m4a1";

const m_pPlayer	= 41;
const m_flNextSecondaryAttack = 47;
const m_flNextPrimaryAttack	= 46;

#define IsPlayer(%1)  ( 1 <= %1 <= g_maxplayers )
#define DMG_HEGRENADE (1<<24)

new g_hasZoom[33];

new damage_weapon, weapon_recoil, weapon_explo_distance, weapon_m203_damage,
weapon_m203_ammo;
new g_maxplayers;	
new bool:g_Weapon[33]; 
new Float:cl_pushangle[33][3];
new Float: g_LastThrow[33];
new g_spriteBlast;
new g_iM4A1;
new g_M203ammo[33];
new szClip, szAmmo;

public plugin_init() 
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
	register_gxm_item("M4A1 Eotech", "+Aim +Power ( M4a1 )", 350)

	damage_weapon = register_cvar("gxm_damage_m4","1.3"); // damage multiplier
	weapon_recoil = register_cvar( "m4_recoil", "0.7" ); // weapon recoil

	weapon_explo_distance = register_cvar("gxm_distance_m2_m4","200"); // Distance of exploding M203
	weapon_m203_damage = register_cvar("gxm_damage_m2_m4","400"); // damage of M203
	weapon_m203_ammo = register_cvar("gxm_ammo_m2_m4","7"); // M203 ammo

	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_Item_Deploy , weapon_n, "Fwd_AttackSpeedPost", 1);

	RegisterHam(Ham_TakeDamage, "player", "Ham_DamageWeapon");

	RegisterHam(Ham_Spawn, "player", "fwd_PlayerSpawn", 1)

	register_forward( FM_CmdStart, "Fwd_CmdStart" );
	register_forward(FM_Touch, "Entity_Touched");

	g_maxplayers = get_maxplayers();

	g_iM4A1 = create_entity("grenade")
}
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);
	engfunc(EngFunc_PrecacheModel, g_w_blast);
	g_spriteBlast = engfunc(EngFunc_PrecacheModel, "sprites/dexplo.spr");
}

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) )
	{
		set_pdata_float( Entity , m_flNextSecondaryAttack , 9999.0, 4 );

		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 fwd_PlayerSpawn(id)
{
	if ( !is_user_alive(id) )
		return;

	g_M203ammo[id] = get_pcvar_num( weapon_m203_ammo );
}

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;

	static Float:Time;
	Time = get_gametime();

	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;
	}

	if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) && get_user_weapon(id) == WEAPON_CSW )
	{
		if (Time - 2.0 > g_LastThrow[id])
		{
			Throw_FireBlast(id);			

			g_LastThrow[id] = Time; 
		}
	}

	return FMRES_IGNORED;
}
public Entity_Touched(ent, victim)
{
	if ( !pev_valid(ent) )
		return;

	new classname[32]
	pev( ent, pev_classname, classname, 31)

	new attacker = entity_get_edict(ent, EV_ENT_owner);

	if ( equal(classname,"M203") )
	{
		new Float: Torigin[3], Float: Distance, Float: Damage;

		new Float:fOrigin[3], iOrigin[3];
		entity_get_vector( ent, EV_VEC_origin, fOrigin)	
		iOrigin[0] = floatround(fOrigin[0])
		iOrigin[1] = floatround(fOrigin[1])
		iOrigin[2] = floatround(fOrigin[2])	

		message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
		write_byte(TE_EXPLOSION);
		engfunc( EngFunc_WriteCoord,fOrigin[0]);
		engfunc( EngFunc_WriteCoord,fOrigin[1]);
		engfunc( EngFunc_WriteCoord,fOrigin[2]);
		write_short(g_spriteBlast);
		write_byte(32); // scale
		write_byte(20); // framerate
		write_byte(0); // flags
		message_end();

		for(new enemy = 1; enemy <= g_maxplayers; enemy++) 
		{
			if ( is_user_alive(enemy) && get_user_team(enemy) != get_user_team(attacker) )
			{
				entity_get_vector( enemy, EV_VEC_origin, Torigin)

				Distance = get_distance_f(fOrigin, Torigin);

				if ( Distance <= get_pcvar_float( weapon_explo_distance ) && get_user_team(attacker) != get_user_team(enemy) )
				{
					Damage = (((Distance / get_pcvar_float( weapon_explo_distance )) * get_pcvar_float( weapon_m203_damage )) - get_pcvar_float( weapon_m203_damage )) * -1.0;

					if (Damage > 0.0)
					{
						ExecuteHam(Ham_TakeDamage, enemy, g_iM4A1, attacker, Damage, DMG_HEGRENADE);
					}
				}
			}
		}

		set_pev( ent, pev_flags, FL_KILLME);
	}
}

public Throw_FireBlast(id)
{
	if ( !is_user_alive(id) || g_M203ammo[id] < 1 )
		return;

	g_M203ammo[id]--;

	client_printcolor(id, "/yM203 ammo left: /g%d", g_M203ammo[id])

	new Float: fOrigin[3], Float:fAngle[3],Float: fVelocity[3];

	entity_get_vector( id, EV_VEC_origin, fOrigin);
	entity_get_vector( id, EV_VEC_view_ofs, fAngle);

	fOrigin[0] += fAngle[0];
	fOrigin[1] += fAngle[1];
	fOrigin[2] += fAngle[2];
	
	fm_velocity_by_aim(id, 1.0, fVelocity, fAngle);
	fAngle[0] *= -1.0;

	new sprite_ent = create_entity("info_target");

	entity_set_string( sprite_ent, EV_SZ_classname, "M203");
	entity_set_model( sprite_ent, g_w_blast);

	entity_set_edict( sprite_ent, EV_ENT_owner, id);

	entity_set_size( sprite_ent, Float:{-2.1, -2.1, -2.1}, Float:{2.1, 2.1, 2.1});

	entity_set_vector( sprite_ent, EV_VEC_origin, fOrigin);

	fOrigin[0] += fVelocity[0] - 30.0;
	fOrigin[1] += fVelocity[1];
	fOrigin[2] += fVelocity[2];

	entity_set_int( sprite_ent, EV_INT_movetype, MOVETYPE_BOUNCE);
	entity_set_int( sprite_ent, EV_INT_solid, SOLID_BBOX);
	
	entity_set_float( sprite_ent, EV_FL_gravity, 0.55);
	
	fVelocity[0] *= 1000.0;
	fVelocity[1] *= 1000.0;
	fVelocity[2] *= 1000.0;

	entity_set_vector( sprite_ent, EV_VEC_velocity, fVelocity);
	entity_set_vector( sprite_ent, EV_VEC_angles, fAngle);

}

stock fm_velocity_by_aim(iIndex, Float:fDistance, Float:fVelocity[3], Float:fViewAngle[3])
{
	//new Float:fViewAngle[3]
	pev(iIndex, pev_v_angle, fViewAngle)
	fVelocity[0] = floatcos(fViewAngle[1], degrees) * fDistance
	fVelocity[1] = floatsin(fViewAngle[1], degrees) * fDistance
	fVelocity[2] = floatcos(fViewAngle[0]+90.0, degrees) * fDistance
	return 1
}
Искам този плъгин да се преработи. Това е плъгин създаден за мод. Този плъгин в момента, ако поразгледаш ъпгрейтва ЕМКАТА с +Damage +Zoom +Grenade +Fast fire ...

Искам просто от някой да направи ново меню с XP система. Това XP да се печели от убийства. Това меню да е свързано с този плъгин т.е. емката, която е ъпгрейтната. И ако някой играч иска да си ъпгрейтне емката с тоя плъгин, който виждаш да му иска XP. Надявам се да ме разбереш, защото друг начин не намирам да обяснявам. :)
Иван Маринов,

лицензиран оператор и пилот на професионални дронове клас C1 за всички държави в EU.

DJI Mavic 3 Classic | DJI Mavic 3 PRO - погледни света от различна перспектива.

Последвайте ме във Facebook

Аватар
cybertron
Извън линия
Потребител
Потребител
Мнения: 11
Регистриран на: 01 Май 2018, 22:31

Създаване на меню за ъпгрейтнати оръжия

Мнение от cybertron » 23 Май 2018, 00:18

Аха схванат демек просто казано може да се направи като напишеш /m4a1 да ти вади меню то
1. Upgrade: 2x Damage | 500 HP |
2. Upgrade: Fast Zoom | 600 HP |
3. Upgrade: Golden Skin | 800 HP |

Нещо такова само не разбрах какво е ХП

Пс: Ама да запазва ли ъпгрейдите ?

Аватар
Marinovv
Извън линия
Потребител
Потребител
Мнения: 511
Регистриран на: 19 Сеп 2017, 10:01
Местоположение: България
Се отблагодари: 530 пъти
Получена благодарност: 13 пъти
Обратна връзка:

Създаване на меню за ъпгрейтнати оръжия

Мнение от Marinovv » 23 Май 2018, 01:02

Не, не приятелю :D

Не знам как да обясня. Не разбирам напълно дали пиша правилно дори.


Както виждаш по горния код той си е настроен за мод с XP. Този мод на мен не ми върши работа по една или друга причина, която няма да споменавам, че ще отегча зрителите, които четат моята статия.

Въпросът е, че аз искам горния плъгин да се преработи да работи чрез меню с XP създадено от някой скриптър. Тоест горния плъгин наричано още ,,Ъпгрейтната емка" да се активира само, ако имаш XP в менюто, което искам вий да изработите, но това меню да е снабдено с XP.

Искам примерно като напиша /upgrate да излиза меню и там ако имам нужното XP и искам да си ъпгрейтна емката от по горния код да го направя до края на картата.

Ох, сигурен съм, че и сега няма да ме разбереш. Проблемът може би е в мен, че не мога да се изразя от началото на статията, а започвам от края й. Искрено се надявам някой друг читател да прочете и да опита да вникне в моя проблем по най - правилния начин. Благодаря ви. :)

В заглавието на статията не случайно пише ,,Ъпгрейтнати оръжия", защото аз имам и други плъгини, които ъпгрейтват оръжията в цс. Ся ти предоставям само за емката, но имам и за калашник , авп и много други. Цаката тук е просто да се изработи Меню с XP система. Това XP да служи, за да може хората да си вземат ъпгрейтнатата емка от по горе дето дадох код. И този код с емката да се направи да е неактивна докато някой не реши да си я купи от менюто, което вий искам да направите по възможност.
Иван Маринов,

лицензиран оператор и пилот на професионални дронове клас C1 за всички държави в EU.

DJI Mavic 3 Classic | DJI Mavic 3 PRO - погледни света от различна перспектива.

Последвайте ме във Facebook

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 26 госта