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

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Потребителски аватар

Автор на темата
Dvstoyanov89
Потребител
Потребител
Мнения: 41
Регистриран: 11 май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 5 пъти

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

Мнение от Dvstoyanov89 » 13 май 2019, 19:27

Здравейте, възможно ли е този плъгин да се редактира така, че да се премахне наградата от 210 ХП при старт на играта и да се добавят освен He гранати и другите (флаш и смоук)
+ това ХУД съобщението да се вижда постоянно.

Благодаря предварително!

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

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

new pHp, pRound, pRED, pGREEN, pBLUE
new CurRound, Leader

public plugin_init()
{
  register_plugin("Leader", "1.0", "Exta5y")

  register_event("ResetHUD", "eSpawn", "b")
  register_event("DeathMsg", "eDeath", "a")
  register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in")

  register_logevent("roundStart", 2, "1=Round_Start")

  pHp = register_cvar("leader_hp", "5") // количество ХП за человека
  pRound = register_cvar("leader_round", "2")

  pRED = register_cvar("leader_glow_red", "0")
  pGREEN = register_cvar("leader_glow_green", "128")
  pBLUE = register_cvar("leader_glow_blue", "0")
  
  Leader = -1
  CurRound = 0
}

// ищем лидера по фрагам и смертям
SearchLeader() 
{
  new iPlayers[32], NumPlayers
  get_players(iPlayers, NumPlayers, "a")

  new LeaderFrags
  new LeaderDeaths
  new Frags
  new Deaths

  LeaderFrags = get_user_frags(iPlayers[0])
  LeaderDeaths = get_user_deaths(iPlayers[0])
  Leader = iPlayers[0]

  for(new i = 1; i < NumPlayers; i++)
  {
    Frags = get_user_frags(iPlayers[i])
    Deaths = get_user_deaths(iPlayers[i])
    if((Frags > LeaderFrags) || ((Frags == LeaderFrags) && (Deaths < LeaderDeaths)))
    {
      LeaderFrags = Frags
      LeaderDeaths = Deaths
      Leader = iPlayers[i] // id
    }
  }
  if(Leader != -1)
    SetLeader(Leader) // вывод HUD сообщение с именем лидера
  else
    un_glow(Leader)
}


// вывод HUD сообщение с именем лидера
SetLeader(id)
{
  new iPlayers[32], NumPlayers
  get_players(iPlayers, NumPlayers, "")
  give_item(id,"weapon_deagle")
  cs_set_user_bpammo(id,CSW_DEAGLE,35)
  give_item(id,"weapon_knife")
  give_item(id,"weapon_hegrenade")
  cs_set_user_bpammo(id,CSW_HEGRENADE,3)
  set_user_health(id,  100 + get_pcvar_num(pHp) * (NumPlayers-1))

  do_glow(id)

  if(get_user_team(id) == 1)
    set_hudmessage(255, 0, 0, 0.05, 0.2, 0, 6.0, 300.0)
  else
    set_hudmessage(0, 0, 255, 0.05, 0.2, 0, 6.0, 300.0)

  new name[32]
  get_user_name(id, name, 31)

  show_hudmessage(0, "%s is a LEADER!!!!", name)
}

public client_disconnect(id)
{
  if(id == Leader)
    Leader = -1
}

public eRestart()
{
  CurRound = 0
  Leader = -1
}

public roundStart()
{
  CurRound++
  if(CurRound <= get_pcvar_num(pRound) || Leader == -1)
    SearchLeader()
}

public eSpawn(id)
{
  if(Leader == id)
    SetLeader(id) // вывод HUD сообщение с именем лидера
  else
    un_glow(id)
}

public eDeath()
{
  if(CurRound < get_pcvar_num(pRound))
    return PLUGIN_HANDLED

  new killer = read_data(1)
  new victim = read_data(2)
  
  if(victim != Leader)
    return PLUGIN_HANDLED

  if(!killer)
    return PLUGIN_HANDLED

  if(killer != victim && is_user_alive(killer) && get_user_team(killer) != get_user_team(victim))
  {
    Leader = killer
    SetLeader(killer) // вывод HUD сообщение с именем лидера
  }

  return PLUGIN_HANDLED
}

public do_glow(id)
{
  new RED, GREEN, BLUE
  RED = get_pcvar_num(pRED)
  GREEN = get_pcvar_num(pGREEN)
  BLUE = get_pcvar_num(pBLUE)

  set_user_rendering(id,kRenderFxGlowShell, RED, GREEN, BLUE, kRenderNormal,25)
  return PLUGIN_HANDLED;
}

public un_glow(id)
{
  set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
  return PLUGIN_HANDLED;
}

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

blazz3rzbg NSFW
AMXX Скриптър
AMXX Скриптър
Мнения: 43
Регистриран: 22 фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 13 пъти
Години: 18

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

Мнение от blazz3rzbg NSFW » 13 май 2019, 20:14

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

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

new /*pHp, */pRound, pRED, pGREEN, pBLUE
new CurRound, Leader

new g_iName[33][32];
new rgb[3];

public plugin_init()
{
	register_plugin("Leader", "1.0", "Exta5y")

	register_event("ResetHUD", "eSpawn", "b")
	register_event("DeathMsg", "eDeath", "a")
	register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in")

	register_logevent("roundStart", 2, "1=Round_Start")

	//pHp = register_cvar("leader_hp", "5") // количество ХП за человека
	pRound = register_cvar("leader_round", "2")

	pRED = register_cvar("leader_glow_red", "0")
	pGREEN = register_cvar("leader_glow_green", "128")
	pBLUE = register_cvar("leader_glow_blue", "0")

	Leader = -1
	CurRound = 0

	set_task(1.0, "leader_hud", _, .flags = "b");
}

// ищем лидера по фрагам и смертям
SearchLeader() 
{
	new iPlayers[32], NumPlayers
	get_players(iPlayers, NumPlayers, "a")

	new LeaderFrags
	new LeaderDeaths
	new Frags
	new Deaths

	LeaderFrags = get_user_frags(iPlayers[0])
	LeaderDeaths = get_user_deaths(iPlayers[0])
	Leader = iPlayers[0]

	for(new i = 1; i < NumPlayers; i++)
	{
		Frags = get_user_frags(iPlayers[i])
		Deaths = get_user_deaths(iPlayers[i])
		if((Frags > LeaderFrags) || ((Frags == LeaderFrags) && (Deaths < LeaderDeaths)))
		{
			LeaderFrags = Frags
			LeaderDeaths = Deaths
			Leader = iPlayers[i] // id
		}
	}
	if(Leader != -1)
	SetLeader(Leader) // вывод HUD сообщение с именем лидера
	else
	un_glow(Leader)
}


// вывод HUD сообщение с именем лидера
SetLeader(id)
{
	new iPlayers[32], NumPlayers
	get_players(iPlayers, NumPlayers, "")
	give_item(id,"weapon_deagle")
	cs_set_user_bpammo(id,CSW_DEAGLE,35)
	give_item(id,"weapon_knife")
	give_item(id,"weapon_hegrenade")
	give_item(id,"weapon_flashbang")
	give_item(id,"weapon_smokegrenade")
	cs_set_user_bpammo(id,CSW_HEGRENADE,3)
	cs_set_user_bpammo(id,CSW_FLASHBANG,3)
	cs_set_user_bpammo(id,CSW_SMOKEGRENADE,3)
	//set_user_health(id,  100 + get_pcvar_num(pHp) * (NumPlayers-1))

	do_glow(id)
	
	get_user_name(id, g_iName[id], 31)
	
	if(get_user_team(id) = 1) {
		rgb[0] = 255;
		rgb[1] = 0;
		rgb[2] = 0;
	}
	else {
		rgb[0] = 0;
		rgb[1] = 0;
		rgb[2] = 255;
	}
}

public leader_hud()
{
	if(Leader == -1)
		return;
	
	set_hudmessage(rgb[0], rgb[1], rgb[2], 0.05, 0.2, 0, 6.0, 1.1);
	show_hudmessage(0, "%s is a LEADER!!!!", g_iName[id]);
}

public client_disconnect(id)
{
	if(id == Leader)
	Leader = -1
}

public eRestart()
{
	CurRound = 0
	Leader = -1
}

public roundStart()
{
	CurRound++
	if(CurRound <= get_pcvar_num(pRound) || Leader == -1)
	SearchLeader()
}

public eSpawn(id)
{
	if(Leader == id)
	SetLeader(id) // вывод HUD сообщение с именем лидера
	else
	un_glow(id)
}

public eDeath()
{
	if(CurRound < get_pcvar_num(pRound))
	return PLUGIN_HANDLED

	new killer = read_data(1)
	new victim = read_data(2)

	if(victim != Leader)
	return PLUGIN_HANDLED

	if(!killer)
	return PLUGIN_HANDLED

	if(killer != victim && is_user_alive(killer) && get_user_team(killer) != get_user_team(victim))
	{
		Leader = killer
		SetLeader(killer) // вывод HUD сообщение с именем лидера
	}

	return PLUGIN_HANDLED
}

public do_glow(id)
{
	new RED, GREEN, BLUE
	RED = get_pcvar_num(pRED)
	GREEN = get_pcvar_num(pGREEN)
	BLUE = get_pcvar_num(pBLUE)

	set_user_rendering(id,kRenderFxGlowShell, RED, GREEN, BLUE, kRenderNormal,25)
	return PLUGIN_HANDLED;
}

public un_glow(id)
{
	set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
	return PLUGIN_HANDLED;
}

Тествай и пиши :)
Последна промяна от blazz3rzbg NSFW на 13 май 2019, 20:25, променено общо 1 път.

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

Автор на темата
Dvstoyanov89
Потребител
Потребител
Мнения: 41
Регистриран: 11 май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 5 пъти

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

Мнение от Dvstoyanov89 » 13 май 2019, 20:25

Не мога да го компилирам. Пробвах и локално пак същите грешки.

Изображение

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

blazz3rzbg NSFW
AMXX Скриптър
AMXX Скриптър
Мнения: 43
Регистриран: 22 фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 13 пъти
Години: 18

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

Мнение от blazz3rzbg NSFW » 13 май 2019, 20:26

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

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

new /*pHp, */pRound, pRED, pGREEN, pBLUE
new CurRound, Leader

new g_iName[33][32];
new rgb[3];

public plugin_init()
{
	register_plugin("Leader", "1.0", "Exta5y")

	register_event("ResetHUD", "eSpawn", "b")
	register_event("DeathMsg", "eDeath", "a")
	register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in")

	register_logevent("roundStart", 2, "1=Round_Start")

	//pHp = register_cvar("leader_hp", "5") // количество ХП за человека
	pRound = register_cvar("leader_round", "2")

	pRED = register_cvar("leader_glow_red", "0")
	pGREEN = register_cvar("leader_glow_green", "128")
	pBLUE = register_cvar("leader_glow_blue", "0")

	Leader = -1
	CurRound = 0

	set_task(1.0, "leader_hud", _, .flags = "b");
}

// ищем лидера по фрагам и смертям
SearchLeader() 
{
	new iPlayers[32], NumPlayers
	get_players(iPlayers, NumPlayers, "a")

	new LeaderFrags
	new LeaderDeaths
	new Frags
	new Deaths

	LeaderFrags = get_user_frags(iPlayers[0])
	LeaderDeaths = get_user_deaths(iPlayers[0])
	Leader = iPlayers[0]

	for(new i = 1; i < NumPlayers; i++)
	{
		Frags = get_user_frags(iPlayers[i])
		Deaths = get_user_deaths(iPlayers[i])
		if((Frags > LeaderFrags) || ((Frags == LeaderFrags) && (Deaths < LeaderDeaths)))
		{
			LeaderFrags = Frags
			LeaderDeaths = Deaths
			Leader = iPlayers[i] // id
		}
	}
	if(Leader != -1)
	SetLeader(Leader) // вывод HUD сообщение с именем лидера
	else
	un_glow(Leader)
}


// вывод HUD сообщение с именем лидера
SetLeader(id)
{
	new iPlayers[32], NumPlayers
	get_players(iPlayers, NumPlayers, "")
	give_item(id,"weapon_deagle")
	cs_set_user_bpammo(id,CSW_DEAGLE,35)
	give_item(id,"weapon_knife")
	give_item(id,"weapon_hegrenade")
	give_item(id,"weapon_flashbang")
	give_item(id,"weapon_smokegrenade")
	cs_set_user_bpammo(id,CSW_HEGRENADE,3)
	cs_set_user_bpammo(id,CSW_FLASHBANG,3)
	cs_set_user_bpammo(id,CSW_SMOKEGRENADE,3)
	//set_user_health(id,  100 + get_pcvar_num(pHp) * (NumPlayers-1))

	do_glow(id)
	
	get_user_name(id, g_iName[id], 31)
	
	if(get_user_team(id) == 1) {
		rgb[0] = 255;
		rgb[1] = 0;
		rgb[2] = 0;
	}
	else {
		rgb[0] = 0;
		rgb[1] = 0;
		rgb[2] = 255;
	}
}

public leader_hud()
{
	if(Leader == -1)
		return;
	
	set_hudmessage(rgb[0], rgb[1], rgb[2], 0.05, 0.2, 0, 6.0, 1.1);
	show_hudmessage(0, "%s is a LEADER!!!!", g_iName[id]);
}

public client_disconnect(id)
{
	if(id == Leader)
	Leader = -1
}

public eRestart()
{
	CurRound = 0
	Leader = -1
}

public roundStart()
{
	CurRound++
	if(CurRound <= get_pcvar_num(pRound) || Leader == -1)
	SearchLeader()
}

public eSpawn(id)
{
	if(Leader == id)
	SetLeader(id) // вывод HUD сообщение с именем лидера
	else
	un_glow(id)
}

public eDeath()
{
	if(CurRound < get_pcvar_num(pRound))
	return PLUGIN_HANDLED

	new killer = read_data(1)
	new victim = read_data(2)

	if(victim != Leader)
	return PLUGIN_HANDLED

	if(!killer)
	return PLUGIN_HANDLED

	if(killer != victim && is_user_alive(killer) && get_user_team(killer) != get_user_team(victim))
	{
		Leader = killer
		SetLeader(killer) // вывод HUD сообщение с именем лидера
	}

	return PLUGIN_HANDLED
}

public do_glow(id)
{
	new RED, GREEN, BLUE
	RED = get_pcvar_num(pRED)
	GREEN = get_pcvar_num(pGREEN)
	BLUE = get_pcvar_num(pBLUE)

	set_user_rendering(id,kRenderFxGlowShell, RED, GREEN, BLUE, kRenderNormal,25)
	return PLUGIN_HANDLED;
}

public un_glow(id)
{
	set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
	return PLUGIN_HANDLED;
}
Пробвай сега

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

Автор на темата
Dvstoyanov89
Потребител
Потребител
Мнения: 41
Регистриран: 11 май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 5 пъти

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

Мнение от Dvstoyanov89 » 13 май 2019, 20:45

Другите грешки ги няма, но сега е това:

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

Leader.sma(107) : error 017: undefined symbol "id"

1 Error.
Could not locate output file Leader.amx (compile failed).

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

blazz3rzbg NSFW
AMXX Скриптър
AMXX Скриптър
Мнения: 43
Регистриран: 22 фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 13 пъти
Години: 18

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

Мнение от blazz3rzbg NSFW » 13 май 2019, 20:49

стой така преработвам плъгина тествам го и го пращам че от бързане голям съкатлък стана :D

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

OciXCrom TM
Администратор
Администратор
Мнения: 5378
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 87 пъти
Получена благодарност: 597 пъти
Години: 21
Контакти:

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

Мнение от OciXCrom TM » 14 май 2019, 00:25

Моля, слагай по-качествени заглавия. "Преработка на Х" не е достатъчно. Сложи информация за каква преработка става дума.

Поправих грешката от горния код. Друго не съм гледал:

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

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

new /*pHp, */pRound, pRED, pGREEN, pBLUE
new CurRound, Leader

new g_iName[33][32];
new rgb[3];

public plugin_init()
{
    register_plugin("Leader", "1.0", "Exta5y")

    register_event("ResetHUD", "eSpawn", "b")
    register_event("DeathMsg", "eDeath", "a")
    register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in")

    register_logevent("roundStart", 2, "1=Round_Start")

    //pHp = register_cvar("leader_hp", "5") // количество ХП за человека
    pRound = register_cvar("leader_round", "2")

    pRED = register_cvar("leader_glow_red", "0")
    pGREEN = register_cvar("leader_glow_green", "128")
    pBLUE = register_cvar("leader_glow_blue", "0")

    Leader = -1
    CurRound = 0

    set_task(1.0, "leader_hud", _, .flags = "b");
}

// ищем лидера по фрагам и смертям
SearchLeader()
{
    new iPlayers[32], NumPlayers
    get_players(iPlayers, NumPlayers, "a")

    new LeaderFrags
    new LeaderDeaths
    new Frags
    new Deaths

    LeaderFrags = get_user_frags(iPlayers[0])
    LeaderDeaths = get_user_deaths(iPlayers[0])
    Leader = iPlayers[0]

    for(new i = 1; i < NumPlayers; i++)
    {
        Frags = get_user_frags(iPlayers[i])
        Deaths = get_user_deaths(iPlayers[i])
        if((Frags > LeaderFrags) || ((Frags == LeaderFrags) && (Deaths < LeaderDeaths)))
        {
            LeaderFrags = Frags
            LeaderDeaths = Deaths
            Leader = iPlayers[i] // id
        }
    }
    if(Leader != -1)
    SetLeader(Leader) // вывод HUD сообщение с именем лидера
    else
    un_glow(Leader)
}


// вывод HUD сообщение с именем лидера
SetLeader(id)
{
    new iPlayers[32], NumPlayers
    get_players(iPlayers, NumPlayers, "")
    give_item(id,"weapon_deagle")
    cs_set_user_bpammo(id,CSW_DEAGLE,35)
    give_item(id,"weapon_knife")
    give_item(id,"weapon_hegrenade")
    give_item(id,"weapon_flashbang")
    give_item(id,"weapon_smokegrenade")
    cs_set_user_bpammo(id,CSW_HEGRENADE,3)
    cs_set_user_bpammo(id,CSW_FLASHBANG,3)
    cs_set_user_bpammo(id,CSW_SMOKEGRENADE,3)
    //set_user_health(id,  100 + get_pcvar_num(pHp) * (NumPlayers-1))

    do_glow(id)

    get_user_name(id, g_iName[id], 31)

    if(get_user_team(id) == 1) {
        rgb[0] = 255;
        rgb[1] = 0;
        rgb[2] = 0;
    }
    else {
        rgb[0] = 0;
        rgb[1] = 0;
        rgb[2] = 255;
    }
}

public leader_hud()
{
    if(Leader == -1)
        return;

    set_hudmessage(rgb[0], rgb[1], rgb[2], 0.05, 0.2, 0, 6.0, 1.1);
    show_hudmessage(0, "%s is a LEADER!!!!", g_iName[Leader]);
}

public client_disconnect(id)
{
    if(id == Leader)
    Leader = -1
}

public eRestart()
{
    CurRound = 0
    Leader = -1
}

public roundStart()
{
    CurRound++
    if(CurRound <= get_pcvar_num(pRound) || Leader == -1)
    SearchLeader()
}

public eSpawn(id)
{
    if(Leader == id)
    SetLeader(id) // вывод HUD сообщение с именем лидера
    else
    un_glow(id)
}

public eDeath()
{
    if(CurRound < get_pcvar_num(pRound))
    return PLUGIN_HANDLED

    new killer = read_data(1)
    new victim = read_data(2)

    if(victim != Leader)
    return PLUGIN_HANDLED

    if(!killer)
    return PLUGIN_HANDLED

    if(killer != victim && is_user_alive(killer) && get_user_team(killer) != get_user_team(victim))
    {
        Leader = killer
        SetLeader(killer) // вывод HUD сообщение с именем лидера
    }

    return PLUGIN_HANDLED
}

public do_glow(id)
{
    new RED, GREEN, BLUE
    RED = get_pcvar_num(pRED)
    GREEN = get_pcvar_num(pGREEN)
    BLUE = get_pcvar_num(pBLUE)

    set_user_rendering(id,kRenderFxGlowShell, RED, GREEN, BLUE, kRenderNormal,25)
    return PLUGIN_HANDLED;
}

public un_glow(id)
{
    set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
    return PLUGIN_HANDLED;
}

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

Автор на темата
Dvstoyanov89
Потребител
Потребител
Мнения: 41
Регистриран: 11 май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 5 пъти

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

Мнение от Dvstoyanov89 » 14 май 2019, 17:03

Плъгина сега работи всичко точно, но всички гранати ги дава х3 пъти. :(
Извън темата
Извинявам се за неточното заглавие!

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

blazz3rzbg NSFW
AMXX Скриптър
AMXX Скриптър
Мнения: 43
Регистриран: 22 фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 13 пъти
Години: 18

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

Мнение от blazz3rzbg NSFW » 14 май 2019, 18:40

Търсиш

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

    cs_set_user_bpammo(id,CSW_HEGRENADE,3)
    cs_set_user_bpammo(id,CSW_FLASHBANG,3)
    cs_set_user_bpammo(id,CSW_SMOKEGRENADE,3)
и променяш cs_set_user_bpammo(id,CSW_SMOKEGRENADE,3)
3 е количеството на гранатата

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

Автор на темата
Dvstoyanov89
Потребител
Потребител
Мнения: 41
Регистриран: 11 май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 5 пъти

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

Мнение от Dvstoyanov89 » 14 май 2019, 21:08

Оправих го това с гранатите, благодаря много за което! Но ме притеснява друг проблем във конзолата. Този текст, който съм подчертал във червено излиза заради този плъгин.
Преди това изписваше да добавя debug, след което го направих изписва това! Проблем ли ще е занапред и ако да има ли вариянт да го оправя.
Изображение

Отговори

Върни се в “Заявки за плъгини”

Кой е на линия

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