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

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Dvstoyanov89
Извън линия
Потребител
Потребител
Мнения: 41
Регистриран на: 11 Май 2019, 14:04
Се отблагодари: 11 пъти
Получена благодарност: 6 пъти

Преработка на плъгин "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
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 50
Регистриран на: 22 Фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 16 пъти

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

Мнение от blazz3rzbg » 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 на 13 Май 2019, 20:25, променено общо 1 път.

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

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

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

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

Изображение

Аватар
blazz3rzbg
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 50
Регистриран на: 22 Фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 16 пъти

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

Мнение от blazz3rzbg » 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 пъти
Получена благодарност: 6 пъти

Преработка на плъгин "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
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 50
Регистриран на: 22 Фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 16 пъти

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

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

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

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

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

Мнение от OciXCrom » 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 пъти
Получена благодарност: 6 пъти

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

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

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

Аватар
blazz3rzbg
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 50
Регистриран на: 22 Фев 2019, 14:38
Местоположение: Стара Загора
Се отблагодари: 12 пъти
Получена благодарност: 16 пъти

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

Мнение от blazz3rzbg » 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 пъти
Получена благодарност: 6 пъти

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

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

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

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

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

Кой е на линия

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