Заявка за точна стрелба на оръжие

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

Заявка за точна стрелба на оръжие

Мнение от Marinovv » 19 Сеп 2017, 10:05

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

Сигурен съм, че има много запознати и знаете, че този минигин стреля абсолютно всички патрони в една посока на където сочи мерника. Освен това мерника не мърда. Така искам и на някое оръжие да ми направите.

Едва ли ще ви отнеме много време. Много ви моля! Опитах аз да направя като взема кода от .sma файла на минигъна и го пренеса на дадено оръжие, но не става.

Хиляди благодарности за помощта! Много се извинявам, че нямам възможно да заплатя за такъв плъгин. :dtm:

P.S. ако се питате защо искам такъв плъгин то е, защото искам да си настроя мода Gun Xp Mod . В този мод искам да направя някой оръжия с точен мерник точно както на минигъна.
Иван Маринов,

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

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

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

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Заявка за точна стрелба на оръжие

Мнение от TheRedShoko » 19 Сеп 2017, 10:37

До колкото разбрах искаш да се премахне отката. Уточни на кои оръжия искаш да бъде премахнат.

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

Заявка за точна стрелба на оръжие

Мнение от Marinovv » 19 Сеп 2017, 10:52

Ако си запознат с минигъна - този минигън когато стреля мерникът му не мърда и освен това изстрелва абсолютно всеки един патрон в посока на мерника, а не като емката примерно дето изстрелва 10 патрона на различни посоки. Оръжието оставям по избор. Може да е емка, калашник, което е по лесно.

Трябва ми такъв плъгин, защото ще го модифицирам за мода ,,Gun Xp Mod"
Иван Маринов,

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

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

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

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Заявка за точна стрелба на оръжие

Мнение от TheRedShoko » 19 Сеп 2017, 13:18

Това го разбрах. Трябва ми конкретен списък с оръжия, за да го направя.

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

Заявка за точна стрелба на оръжие

Мнение от Marinovv » 19 Сеп 2017, 13:37

М4а1 - емката дай. Благодаря ти. :))
Иван Маринов,

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

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

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

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

Заявка за точна стрелба на оръжие

Мнение от Marinovv » 19 Сеп 2017, 13:38

Аз ми е нужно да схвана самият код за спиране на отката и точното стреляне на патроните и ще го приложа и на много други оръжия, които са част от мода Gun Xp Mod.'

До момента тоя мод Gux Xp Mod , който има за цел да ъпгрейтне някой оръжия за сила точност на стреляне и т.н. за стреляне ползва тоя код

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

weapon_recoil = register_cvar( "m4_recoil", "0.9" ); // tochnost na mernika. Default: 0.9
, но този код не спира напълно отката и патроните не стрелят в една посока.
Иван Маринов,

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

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

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

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Заявка за точна стрелба на оръжие

Мнение от TheRedShoko » 19 Сеп 2017, 14:42

Пробвай да го сложиш на 0.1, в мода е пипан recoil-a и ще стане мазало, ако се добави отделен плъгин за това. Ако не стане с 0.1 ще ти дам плъгин да пробваш как ще работи.

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

Заявка за точна стрелба на оръжие

Мнение от Marinovv » 19 Сеп 2017, 14:46

Когато го сложа на по голяма или по малка стойност мерника не мърда както по стандарт без модове, а направо прескача наляво, надясно и прочие. Само на 0.9 е 95% точен.

Просто искам ето този плъгин да се направи на 100% точност както в минигъна. Да изстрелва патроните в една посока и мерника изобщо да не мърда.

Линк на приставка на Gux Xp Mod : приставка на Gux Xp Mod (не е вирус или реклама). Линкът ще е валиден максимум ден.
Иван Маринов,

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

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

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

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Заявка за точна стрелба на оръжие

Мнение от TheRedShoko » 19 Сеп 2017, 14:56

По-добре прикачвай файловете директно тук във форума, не използвай сайтове като dox.bg и подобни.

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

#include <amxmodx>
#include <engine>
#include <hamsandwich>

public plugin_init()
{
	register_plugin("M4A1 No Recoil", "1.0", "TheRedShoko @ AMXX-BG.info");

	RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m4a1", "WeaponAttackPost", 1);
}

public WeaponAttackPost(iEnt)
{
	if (!is_valid_ent(iEnt))
	{
		return;
	}

	new iOwner = get_pdata_cbase(iEnt, 41, 4);
	entity_set_vector(iOwner, EV_VEC_punchangle, Float:{0.0, 0.0, 0.0});
}
Пробвай така, това е най-точното, което може да се направи.

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

Заявка за точна стрелба на оръжие

Мнение от Marinovv » 19 Сеп 2017, 15:06

Плъгина не работи на емката. Освен това това не мисля, че е точна стрелба..

Ох, оставете! Няма да се разберем. Явно не сте толкова професионалист, че да може да кодирате на по дълбоко ниво. Пък и вие едва ли някога сте ползвали плъгина minigun, за да знаете какво прави той.

Ето целия мод, който искаше да не е в доха

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

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

new PLUGIN_NAME[] 	= "UNLOCK : M16"
new PLUGIN_AUTHOR[] 	= "marinovv"
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;
const m_flPrimaryAttack = 46;

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

new g_hasZoom[33];

new damage_weapon, weapon_speed, 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 packet", "+Aim +Power +Granade +Zoom +Rate", 12000)

	damage_weapon = register_cvar("gxm_damage_m4","2.6"); // multiplikator na shtetite 
	weapon_speed = register_cvar( "gxm_speed_m4", "0.060" ); // barzina na strelyane
	weapon_recoil = register_cvar( "m4_recoil", "0.9" ); // tochnost na mernika. Default: 0.9

	weapon_explo_distance = register_cvar("gxm_distance_m2_m4","400"); // Distantsiya na eksplodiraneto na M203 granatite
	weapon_m203_damage = register_cvar("gxm_damage_m2_m4","400"); // Demidzh na M203 granatite
	weapon_m203_ammo = register_cvar("gxm_ammo_m2_m4","4"); // M203 granati

	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 ),
		set_pdata_float( Entity, m_flPrimaryAttack, get_pcvar_float( weapon_speed ), 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]--;

	ColorChat(0, GREY, "^1WARNING: ^3ostavashti granati: ^4%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
}
Сам виждате, че това е приставка на един мод, който е създаден с цел да ъпгрейтне някой оръжия на играчите. Това е приставка на емката. До момента тази приставка има повече демидж, скорост на стрелба, точност на мерника 95% без патроните, а само мерника, зуум и модел.
Иван Маринов,

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

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

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

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

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 13 госта