Преработка на плъгина vampire

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Mucii
Извън линия
Потребител
Потребител
Мнения: 66
Регистриран на: 11 Дек 2019, 20:53
Се отблагодари: 5 пъти
Обратна връзка:

Преработка на плъгина vampire

Мнение от Mucii » 02 Яну 2020, 18:19

Здравейте,
Ако може да се преработи плъгина vampire.
Нека да обесня какво искам да му се преработи на плъгина.
Начи при нормален kill да дава по 5 кръв.При headshot kill да дава по 10 кръв.
Макса на кръв да е до 180 кръв.
След това при нормален kill да дава по 500$ пари.А при headshot kill да дава по 900$ пари.
И да се добави flag е
Това е всичко.
Ето и кода:

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

/*
*   http://games.qwerty.ru
*
*    AmxModX
*   Vampire plugin
*    by Shalfey
*
*   CVars
*   amx_vampire_hp - hp add for kill
*   amx_vampire_hp_hs - hp add for kill in head
*   amx_vampire_max_hp - max player hp
*
*   Players gets HP for kills.
*/
#include <amxmodx>
#include <fun>

#define PLUGIN_VERSION "1.0c"

new health_add
new health_hs_add
new health_max

new nKiller
new nKiller_hp
new nHp_add
new nHp_max

public plugin_init()
{
   register_plugin("Vampire", PLUGIN_VERSION, "Shalfey")

   health_add = register_cvar("amx_vampire_hp", "15")
   health_hs_add = register_cvar("amx_vampire_hp_hs", "40")
   health_max = register_cvar("amx_vampire_max_hp", "100")

   register_event("DeathMsg", "hook_death", "a", "1>0")     
}

public hook_death()
{
   // Killer id
   nKiller = read_data(1)

   if ( (read_data(3) == 1) && (read_data(5) == 0) )
   {
      nHp_add = get_pcvar_num (health_hs_add)
   }
   else
      nHp_add = get_pcvar_num (health_add)

   nHp_max = get_pcvar_num (health_max)

   // Updating Killer HP
   nKiller_hp = get_user_health(nKiller)
   nKiller_hp += nHp_add

   // Maximum HP check
   if (nKiller_hp > nHp_max) nKiller_hp = nHp_max

   set_user_health(nKiller, nKiller_hp)

   // Hud message "Healed +15/+40 hp"
   set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
   show_hudmessage(nKiller, "Healed +%d hp", nHp_add)

   // Screen fading
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
   write_short(1<<10)
   write_short(1<<10)
   write_short(0x0000)
   write_byte(0)
   write_byte(0)
   write_byte(200)
   write_byte(75)
   message_end()

Аватар
Fatall
Извън линия
Потребител
Потребител
Мнения: 295
Регистриран на: 30 Авг 2018, 09:35
Местоположение: София
Се отблагодари: 26 пъти
Получена благодарност: 17 пъти
Обратна връзка:

Преработка на плъгина vampire

Мнение от Fatall » 02 Яну 2020, 22:13

Тествай.

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

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

#define PLUGIN_VERSION "1.0c"

#define VIP_ACCESS "e" // Админ Флаг
#define VIP_MONEY_KL 200 // Пари при килл
#define VIP_MONEY_HS 500 // Пари при HS

new health_add
new health_hs_add
new health_max

new nKiller
new nKiller_hp
new nHp_add
new nHp_max

public plugin_init()
{
   register_plugin("Vampire", PLUGIN_VERSION, "Shalfey")

   health_add = register_cvar("amx_vampire_hp", "5")
   health_hs_add = register_cvar("amx_vampire_hp_hs", "10")
   health_max = register_cvar("amx_vampire_max_hp", "100")

   register_event("DeathMsg", "hook_death", "a", "1>0")    
   register_event("DeathMsg", "OnPlayerDeathMsg", "a")   
}

public OnPlayerDeathMsg()
{
		
	new iAttacker = read_data(1)
	new iVictim = read_data(2)

	if (iAttacker == iVictim || !is_user_connected(iAttacker) || !is_user_vip(iAttacker))
	{
		return PLUGIN_CONTINUE
	}

	new bool:bHeadshot = bool:read_data(3)

	new iMoney = VIP_MONEY_KL

	if (bHeadshot)
	{
		iMoney = VIP_MONEY_HS
	}

	cs_set_user_money(iAttacker, cs_get_user_money(iAttacker) + iMoney)

	return PLUGIN_CONTINUE
}

public hook_death()
{
   // Killer id
   nKiller = read_data(1)

   if ( (read_data(3) == 1) && (read_data(5) == 0) )
   {
      nHp_add = get_pcvar_num (health_hs_add)
   }
   else
      nHp_add = get_pcvar_num (health_add)

   nHp_max = get_pcvar_num (health_max)

   // Updating Killer HP
   nKiller_hp = get_user_health(nKiller)
   nKiller_hp += nHp_add

   // Maximum HP check
   if (nKiller_hp > nHp_max) nKiller_hp = nHp_max

   set_user_health(nKiller, nKiller_hp)

   // Hud message "Healed +15/+40 hp"
   set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
   show_hudmessage(nKiller, "Healed +%d hp", nHp_add)

   // Screen fading
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
   write_short(1<<10)
   write_short(1<<10)
   write_short(0x0000)
   write_byte(0)
   write_byte(0)
   write_byte(200)
   write_byte(75)
   message_end()
}

bool:is_user_vip(id)
{
	return bool:(get_user_flags(id) & read_flags(VIP_ACCESS))
}

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

<?php
   $error_msg = "Database error in [page].php / ";
   $error_msg .= mysqli_error ( $link )." / ";
   $error_msg .= $query;
   UpdateLog ( $error_msg , DB_ERROR_LOG_FILE );
?>

Аватар
Mucii
Извън линия
Потребител
Потребител
Мнения: 66
Регистриран на: 11 Дек 2019, 20:53
Се отблагодари: 5 пъти
Обратна връзка:

Преработка на плъгина vampire

Мнение от Mucii » 03 Яну 2020, 03:43

Плъгина работи перфектно.
Локвайте темата!

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

Преработка на плъгина vampire

Мнение от OciXCrom » 03 Яну 2020, 14:40

Спрете да разпространявате този стар и бъгав плъгин. Прави проблеми на всички останали плъгини които дават кръв над максималната. Ползвай това:

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

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

// Comment this line to disable HUD messages
#define HUD_ENABLED

#if defined HUD_ENABLED
	#define HUD_COLOR 0, 255, 0
	#define HUD_POSITION -1.0, 0.15
	#define HUD_DURATION 1.5
#endif

// Comment this line to disable screen fade
#define SCREENFADE_ENABLED

#if defined SCREENFADE_ENABLED
	#define SCREENFADE_COLOR_R 0
	#define SCREENFADE_COLOR_G 0
	#define SCREENFADE_COLOR_B 200
	#define SCREENFADE_COLOR_A 75
#endif

// Comment this line to disable VIP flag
#define VIP_ONLY

#if defined VIP_ONLY
	#define VIP_FLAG ADMIN_SLAY
#endif

enum _:Cvars
{
	amx_vampire_hp,
	amx_vampire_hp_hs,
	amx_vampire_max_hp,
	amx_vampire_money,
	amx_vampire_money_hs,
	amx_vampire_max_money
}

new g_eCvars[Cvars]

#if defined HUD_ENABLED
new g_iObject
#endif

#if defined SCREENFADE_ENABLED
new g_iScreenFade
#endif

public plugin_init()
{
	register_plugin("Vampire", "1.1", "OciXCrom")
	register_event("DeathMsg", "OnPlayerKilled", "a")
	g_eCvars[amx_vampire_hp]     =     register_cvar("amx_vampire_hp",        "5")
	g_eCvars[amx_vampire_hp_hs]  =     register_cvar("amx_vampire_hp_hs",     "10")
	g_eCvars[amx_vampire_max_hp] =     register_cvar("amx_vampire_max_hp",    "180")
	g_eCvars[amx_vampire_money]  =     register_cvar("amx_vampire_money",     "500")
	g_eCvars[amx_vampire_money_hs]  =  register_cvar("amx_vampire_money_hs",  "900")
	g_eCvars[amx_vampire_max_money]  = register_cvar("amx_vampire_max_money", "16000")

	#if defined HUD_ENABLED
	g_iObject = CreateHudSyncObj()
	#endif

	#if defined SCREENFADE_ENABLED
	g_iScreenFade = get_user_msgid("ScreenFade")
	#endif
}

public OnPlayerKilled()
{
	new iAttacker = read_data(1), iVictim = read_data(2)

	if(!is_user_connected(iAttacker) || iAttacker == iVictim)
	{
		return
	}

	#if defined VIP_ONLY
	if(!is_user_vip(iAttacker))
	{
		return
	}
	#endif

	new iHealth = get_user_health(iAttacker), iMax = get_pcvar_num(g_eCvars[amx_vampire_max_hp])

	if(iHealth >= iMax)
	{
		return
	}

	new bool:bHeadshot = read_data(3) != 0

	new iAdd = bHeadshot ? get_pcvar_num(g_eCvars[amx_vampire_hp_hs]) : get_pcvar_num(g_eCvars[amx_vampire_hp])
	set_user_health(iAttacker, clamp(iHealth + iAdd, .max = iMax))

	new iMoney = cs_get_user_money(iAttacker)
	iMax = get_pcvar_num(g_eCvars[amx_vampire_max_money])

	if(iMoney >= iMax)
	{
		return
	}

	iAdd = bHeadshot ? get_pcvar_num(g_eCvars[amx_vampire_money_hs]) : get_pcvar_num(g_eCvars[amx_vampire_money])
	cs_set_user_money(iAttacker, clamp(iMoney + iAdd, .max = iMax))

	#if defined HUD_ENABLED
	set_hudmessage(HUD_COLOR, HUD_POSITION, .holdtime = HUD_DURATION)
	ShowSyncHudMsg(iAttacker, g_iObject, "Healed +%i HP", iAdd)
	#endif

	#if defined SCREENFADE_ENABLED
	message_begin(MSG_ONE, g_iScreenFade, {0, 0, 0}, iAttacker)
	write_short(1<<10)
	write_short(1<<10)
	write_short(0x0000)
	write_byte(SCREENFADE_COLOR_R)
	write_byte(SCREENFADE_COLOR_G)
	write_byte(SCREENFADE_COLOR_B)
	write_byte(SCREENFADE_COLOR_A)
	message_end()
	#endif
}

bool:is_user_vip(id)
{
	return (get_user_flags(id) & VIP_FLAG) != 0
}

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

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

Кой е на линия

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