Плъгин "Buy_VIP" for ?min, or 1round.

Искате да ви намерим определен плъгин, или пък да ви изработим такъв? Пишете тук!
Заключена
Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 76
Регистриран: 17 мар 2018, 15:34
Репутация: 0

Плъгин "Buy_VIP" for ?min, or 1round.

Мнение от iv69 » 11 юли 2018, 18:31

Трябва ми плъгин с който играчът, ако има достатъчно $$$(спестени в играта му), да може да си купува VIP-екстрите посочени по-долу , но да "важат" само за 1рунд т.е - докато го убият или свърши рунда(подходящо за класик-сървъри), както и за време в ?мин - подходящо най-вече за DM( времето и цената на покоупката да се определят с квари).

VIP - екстрите да са :
- раждане със 200HP
- при всяко убийство, да получава +20"кръв" - и така пак до 200HP",
- да има 3 HE гранати,
- да се умножава 2х щетата от оръжията му.
Tакива екстри са в този плъгин:

Код: Избери всички

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

#define VIP_FLAG ADMIN_LEVEL_H
#define HP_ON_SPAWN 200
#define HP_ON_KILL 20
#define MAX_HP_ON_KILL 200
#define GRENADES_ON_SPAWN 3
#define DMG_MULTIPLIER 2

public plugin_init()
{
	register_plugin("VIP Plugin", "1.0", "OciXCrom")
	register_event("DeathMsg", "OnPlayerKilled", "a")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
}

public OnPlayerKilled()
{
	new iAttacker = read_data(1), iVictim = read_data(2)
	
	if(is_user_alive(iAttacker) && iAttacker != iVictim && is_user_vip(iAttacker))		
		set_user_health(iAttacker, clamp(get_user_health(iAttacker) + HP_ON_KILL, .max = MAX_HP_ON_KILL))
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id) || !is_user_vip(id))
		return
		
	give_item(id, "weapon_hegrenade")
	cs_set_user_bpammo(id, CSW_HEGRENADE, GRENADES_ON_SPAWN)
	set_user_health(id, HP_ON_SPAWN)
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iVictim || !is_user_vip(iAttacker))
		return
	
	SetHamParamFloat(4, fDamage * DMG_MULTIPLIER)
}

bool:is_user_vip(id)
	return bool:(get_user_flags(id) & VIP_FLAG)

При закупуване на VIP, в чата - ако може да излиза съобщение, като предупреждение към останалите играчи. Подобен плъгин за временни "покупки", но за "невидимост" е този:

Код: Избери всички

/* 
.:CVARS:.
-amx_stealthCOST <value> - sets cost of buying invisibility
-amx_stealthTIME <value> - sets invisiblity time
-amx_stealthVISI <value> - sets degree of invisibility
.:SAY COMMANDS.:
-/buy_stealth - makes client invisible for set amount of time
*/

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "Buy_Stealth"
#define VERSION "1.6.1"
#define AUTHOR "Laziboi72"

new Buy, Timer, Visi, Toggle_Plugin

public plugin_init(){
	register_plugin("Buy_Stealth", "1.6.1", "Laziboi72")
	Toggle_Plugin = register_cvar("amx_stealth", "1")
	Timer = register_cvar("amx_stealthTIME", "10.0")
	Buy = register_cvar("amx_stealthCOST", "5000")
	Visi = register_cvar("amx_stealthVISI", "10")
	register_clcmd("say /buy_stealth", "buyS")
	register_clcmd("say_team /buy_stealth", "buyS")	
	
}
public buyS(id){
	new Toggle_P = get_pcvar_num(Toggle_Plugin)
	if(Toggle_P != 1)
		return PLUGIN_HANDLED
	if(!is_user_connected(id)) return PLUGIN_CONTINUE
	new uMoney = cs_get_user_money(id)
	new uBuy = get_pcvar_num(Buy)
	if(uMoney < uBuy){
		client_print(id, print_chat, "[ADMIN] NOT ENOUGH MONEY TO BUY STEALTH!")
		return PLUGIN_HANDLED
	}
	new User[32]
	get_user_name(id,User,31)
	new uVisi = get_pcvar_num(Visi)
	set_user_rendering( id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, uVisi )	
	cs_set_user_money(id, uMoney - uBuy) 
	client_print (0, print_chat, "[ADMIN] %s is in stealth mode!",User)		
	set_task(get_pcvar_float(Timer), "removestealth", id)
	return PLUGIN_HANDLED
}
public removestealth(id){
	set_user_rendering(id,kRenderFxNone,0,0,0,kRenderNormal,0)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Тоест , ако може , и не е много сложно да се преработи втория код, но да дава не невидимост, а посочените горе "есктри" !?

Благодаря !

p.s. Мисля , че плъгина ще дава допълнителна мотивация за игра в сървърите, дори и на малко по-слабите играчи, стига те да са малко по-"спестовни" и "икономични", и ще внася допълнителна диманика и интрига в самата игра !?

Потребителски аватар

OciXCrom™ MKD
Администратор
Администратор
Мнения: 3672
Регистриран: 06 окт 2016, 19:20
Репутация: 14
Местоположение: /resetscore
Години: 20
Контакти:

Плъгин "Buy_VIP" for ?min, or 1round.

Мнение от OciXCrom™ MKD » 13 юли 2018, 00:10

Искаш тези екстри да ги получават САМО когато ги закупят, или да ги имат и останалите потребители с въпросния флаг? Демек дали да махна флага изцяло?

Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 76
Регистриран: 17 мар 2018, 15:34
Репутация: 0

Плъгин "Buy_VIP" for ?min, or 1round.

Мнение от iv69 » 13 юли 2018, 00:21

Добавено преди 2 минути 8 секунди:
OciXCrom™ написа:
13 юли 2018, 00:10
Искаш тези екстри да ги получават САМО когато ги закупят, или да ги имат и останалите потребители с въпросния флаг? Демек дали да махна флага изцяло?
Ако може екстрите да са "временни" и да са без флаг. Просто на принципа на долния плъгин ... Там мисля , че всичко е или до края на рунда или докато умре или ако оживее все пак - до изтичане на определеното време... Благодаря !
Забравих да добавя , ако е от значение - плъгина е за DeathMatch

P.s. Извинявам се за късния отговор, сега се прибрах .

Потребителски аватар

OciXCrom™ MKD
Администратор
Администратор
Мнения: 3672
Регистриран: 06 окт 2016, 19:20
Репутация: 14
Местоположение: /resetscore
Години: 20
Контакти:

Плъгин "Buy_VIP" for ?min, or 1round.

Мнение от OciXCrom™ MKD » 13 юли 2018, 15:55

Команда: /buyvip
Цена: 12000$ (променя се от #define VIP_PRICE)
Времетраене: премахват се при прераждане

Код: Избери всички

#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define VIP_PRICE 12000
#define HP_ON_SPAWN 200
#define HP_ON_KILL 20
#define MAX_HP_ON_KILL 200
#define GRENADES_ON_SPAWN 3
#define DMG_MULTIPLIER 2

new bool:g_bIsVIP[33]

public plugin_init()
{
	register_plugin("VIP Plugin", "1.0", "OciXCrom")
	register_event("DeathMsg", "OnPlayerKilled", "a")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /buyvip", "Cmd_BuyVIP")
	register_clcmd("say_team /buyvip", "Cmd_BuyVIP")
	CC_SetPrefix("&x04[Buy VIP]")
}

public OnPlayerSpawn(id)
	g_bIsVIP[id] = false

public OnPlayerKilled()
{
	new iAttacker = read_data(1), iVictim = read_data(2)
	
	if(is_user_alive(iAttacker) && iAttacker != iVictim && g_bIsVIP[iAttacker])
		set_user_health(iAttacker, clamp(get_user_health(iAttacker) + HP_ON_KILL, .max = MAX_HP_ON_KILL))
}

public Cmd_BuyVIP(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "Trqbva da si jiv za da zakupish VIP ekstri!")
	else if(g_bIsVIP[id])
		CC_SendMessage(id, "Veche si zakupil VIP ekstrite!")		
	else
	{
		new iMoney = cs_get_user_money(id)
		
		if(iMoney < VIP_PRICE)
			CC_SendMessage(id, "Nqmash dostatuchno pari! Nujni sa &x04%i$", VIP_PRICE)
		else
		{
			g_bIsVIP[id] = true
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, GRENADES_ON_SPAWN)
			set_user_health(id, HP_ON_SPAWN)
			
			new szName[32]
			get_user_name(id, szName, charsmax(szName))
			CC_SendMessage(0, "&x03%s &x01zakupi VIP ekstri!", szName)
			cs_set_user_money(id, iMoney - VIP_PRICE)
		}
	}
	
	return PLUGIN_HANDLED
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(iAttacker == iVictim || !g_bIsVIP[iAttacker])
		return
	
	SetHamParamFloat(4, fDamage * DMG_MULTIPLIER)
}

Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 76
Регистриран: 17 мар 2018, 15:34
Репутация: 0

Плъгин "Buy_VIP" for ?min, or 1round.

Мнение от iv69 » 13 юли 2018, 17:03

Работи перфектно (както всички останало твое ..), препоръчвам го горещо на всички.

:lock: :tnx:
Последна промяна от 1fRaNkkK syn7ax69 на 13 юли 2018, 17:05, променено общо 1 път.
Причина: Премахнат цитат.

Заключена

Върни се в “Намиране/Изработка на плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 2 госта