Заявка за преработка на плъгин

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
rozoveca
Извън линия
Потребител
Потребител
Мнения: 27
Регистриран на: 05 Яну 2019, 21:20
Се отблагодари: 3 пъти

Заявка за преработка на плъгин

Мнение от rozoveca » 17 Яну 2022, 20:10

Здравейте. Имам плъгин, с който безплатно може да вземе играч с определен флаг goldenak и автоматичните снайпери. Искам, ако може към това да се добави и специален вип скин когато играча с дадения флаг е CT. Eто плъгина

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

#include <amxmodx> 
#include <fun>
#include <engine>
#include <cstrike>
#include <hamsandwich>
#include <coll_msg>

#define bpammo 45454454
#define level ADMIN_LEVEL_C
#define level2 ADMIN_LEVEL_C

new const cmd_snipers[][] = {
	"say /snipers",
	"say /sniper",
	"say snipers",
	"say sniper",
	"say_team /snipers",
	"say_team /sniper",
	"say_team snipers",
	"say_team sniper"
}
new const cmd_golden_ak47[][] = {
	"say /goldenak",
	"say goldenak",
	"say_team /goldenak",
	"say_team goldenak"
}
new bool:g_bHasAk47[33];
new limit[33]
new m_spriteTexture

public plugin_init() {
	RegisterHam(Ham_Spawn,"player","spawned",1)
	RegisterHam(Ham_TakeDamage, "player", "FwdPlayerDamage")
	
	register_event("HLTV","event_hltv","a","1=0","2=0")
	register_event("CurWeapon","event_curweapon","be","1=1")
	
	new i 
	for(i = 0; i < sizeof cmd_snipers; i++) {
		register_clcmd(cmd_snipers[i],"snipers")
	}
	for(i = 0; i < sizeof cmd_golden_ak47; i++) {
		register_clcmd(cmd_golden_ak47[i],"golden_ak47")
	}
	set_task(300.0,"info",_,_,_,"b")
}
public plugin_precache() {
	precache_model("models/base/v_golden_ak47.mdl")
	precache_model("models/base/p_golden_ak47.mdl")
	m_spriteTexture = precache_model("sprites/dot.spr")
}
public client_connect(id) {
	limit[id] = false
	g_bHasAk47[id] = false
}
public info() {
	new msg = random_num(1,2)
	switch(msg) {
		case 1: Chat(0,"^3Za da vzemete goldenak napishete: ^4/goldenak ^3v chata^1!")
		case 2: Chat(0,"^3Za da vzemete avtomatichen sniper napishete: ^4/snipers ^3v chata^1!")
	}
}
public event_hltv() {
	new i 
	for(i = 0; i < get_maxplayers(); i++) {
		limit[i] = false 
		g_bHasAk47[i] = false
	}
}
public spawned(id) {
	if(is_user_alive(id)) {
		limit[id] = false
		g_bHasAk47[id] = false
	}
	return HAM_HANDLED
}
public FwdPlayerDamage(victim, inflictor, attacker, Float:damage, damagebits) {
	if(inflictor == attacker 
	&& attacker != victim 
	&& g_bHasAk47[ attacker ]
	&& is_user_alive(attacker) 
	&& get_user_weapon(attacker) == CSW_AK47) {
		
		SetHamParamFloat(4, damage * 2.0)
		
		new vec1[3], vec2[3]
		get_user_origin(attacker, vec1, 1) // origin; your camera point.
		get_user_origin(attacker, vec2, 4) // termina; where your bullet goes (4 is cs-only)		
		
		//BEAMENTPOINTS
		message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
		write_byte (0)     //TE_BEAMENTPOINTS 0
		write_coord(vec1[0])
		write_coord(vec1[1])
		write_coord(vec1[2])
		write_coord(vec2[0])
		write_coord(vec2[1])
		write_coord(vec2[2])
		write_short( m_spriteTexture )
		write_byte(1) // framestart
		write_byte(5) // framerate
		write_byte(2) // life
		write_byte(10) // width
		write_byte(0) // noise
		write_byte( 255 )     // r, g, b
		write_byte( 215 )       // r, g, b
		write_byte( 0 )       // r, g, b
		write_byte(200) // brightness
		write_byte(150) // speed
		message_end()		
	}
}
public snipers(id) {
	if(!is_user_alive(id)) {
		Chat(id,"^4Vie trqbva da ste jiv^1!")
		return 
	}
	else {
		new menu = menu_create("\ySnipers:","snipers_handler")
		
		menu_additem(menu,"\ySg550 \r+\ydeagle","1")
		menu_additem(menu,"\yG3sg1 \r+ \ydeagle","2")
		
		menu_display(id,menu)
		
		client_cmd(id,"spk buttons/bell1")
	}
}
public snipers_handler(id,menu,item) {
	if(!is_user_alive(id)) return 
	
	if(get_user_flags(id) & level) {
		if(get_user_team(id) == 2) {
			if(!limit[id]) {
				if(item == MENU_EXIT) {
					menu_destroy(menu)
					return 
				}
				new data[6], iName[64]
				new access, callback
				
				menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
				
				new key = str_to_num(data)
				
				switch(key) {
					case 1: {
						give_item(id,"weapon_deagle")
						cs_set_user_bpammo(id,CSW_DEAGLE,bpammo)
						give_item(id,"weapon_sg550")
						cs_set_user_bpammo(id,CSW_SG550,bpammo)
						Chat(id,"^4Vie poluchihte^1: ^3SG550 ^1i ^3DEAGLE^1!")
					}
					case 2: {
						give_item(id,"weapon_deagle")
						cs_set_user_bpammo(id,CSW_DEAGLE,bpammo)
						give_item(id,"weapon_g3sg1")
						cs_set_user_bpammo(id,CSW_G3SG1,bpammo)
						Chat(id,"^4Vie poluchihte^1: ^3G3SG1 ^1i ^3DEAGLE^1!")
					}
				}
				limit[id] = true
			}
			else {
				Chat(id,"^4Menuto e blokirano^1!")
			}
		} else {
			Chat(id,"^4Trqbva da ste ot ^3Counter-Terrorist Team^1!")
		}
	} else {
		Chat(id,"^4Menuto e dostupno samo za VIP igrachi^1! ^4Stani VIP na skype: ^1[^3emo_1511^1]")
	}
	menu_destroy(menu)
	return 
}
public golden_ak47(id) {
	if(!is_user_alive(id)) {
		Chat(id,"^4Vie trqbva da ste jiv^1!")
		return 
	}
	else {
		if(get_user_flags(id) & level2) {
			
			if(get_user_team(id) == 2) {
				
				if(!limit[id]) {
					g_bHasAk47[id] = true
					give_item(id, "weapon_ak47")
					cs_set_user_bpammo(id, CSW_AK47, bpammo)
					entity_set_string(id, EV_SZ_viewmodel,"models/base/v_golden_ak47.mdl")
					Chat(id,"^4Vie poluchihte: ^3Golden AK-47^1!")
					limit[id] = true 
				}
				else {
					Chat(id,"^4Menuto e blokirano^1!")
				}
			}
			else {
				Chat(id,"^4Trqbva da ste ot ^3Counter-Terrorist Team^1!")
			}
		} else {
			Chat(id,"^4Menuto e dostypno samo za VIP igrachi^1! ^4Stani VIP na skype ^1[^4emo_1511^1]")
		}
	}
}
public event_curweapon(id) {
	if(g_bHasAk47[id] && read_data(2) == CSW_AK47) {
		set_user_gravity(id,Float:0.7)
		entity_set_string(id, EV_SZ_viewmodel,"models/base/v_golden_ak47.mdl")
		entity_set_string(id, EV_SZ_weaponmodel,"models/base/p_golden_ak47.mdl")
		set_user_rendering(id,kRenderFxGlowShell,255,215,0,kRenderNormal,0)
	}
	else {
		set_user_gravity(id,Float:1.0)
		set_user_rendering(id,_,0,0,0,_,0)
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1026{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
Благодаря предварително.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за преработка на плъгин

Мнение от OciXCrom » 23 Яну 2022, 22:16

Не виждам какво общо има горния плъгин с това което искаш.
Просто добави си още един плъгин, няма нужда всичко да наблъскваш в един файл.

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

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

new const SKIN_FLAG = ADMIN_LEVEL_C
new const SKIN_CT[] = "your_model_name"

new bool:g_bHasCustomSkin[33]

public plugin_init()
{
	register_plugin("Simple VIP Model", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}

public plugin_precache()
{	
	precache_player_model(SKIN_CT)
}

public client_putinserver(id)
{
	g_bHasCustomSkin[id] = false
}

public OnPlayerSpawn(id)
{
	if(is_user_alive(id))
	{
		if(get_user_flags(id) & SKIN_FLAG && cs_get_user_team(id) == CS_TEAM_CT)
		{
			cs_set_user_model(id, SKIN_CT)
			g_bHasCustomSkin[id] = true
		}
		else if(g_bHasCustomSkin[id])
		{
			g_bHasCustomSkin[id] = false
			cs_reset_user_model(id)
		}
	}
}

precache_player_model(const name[], &id = 0)
{
    new model[128]
    formatex(model, charsmax(model), "models/player/%s/%sT.mdl", name, name)

    if(file_exists(model))
    {
        id = precache_generic(model)
    }

    static const extension[] = "T.mdl"
    #pragma unused extension

    copy(model[strlen(model) - charsmax(extension)], charsmax(model), ".mdl")
    return precache_model(model)
}

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

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

Кой е на линия

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