Плъгин да завърта на определено време най-добрите играчи в сървъра
-
Dvstoyanov89
Извън линия - Потребител
- Мнения: 41
- Регистриран на: 11 Май 2019, 14:04
- Се отблагодари: 11 пъти
- Получена благодарност: 6 пъти
Плъгин да завърта на определено време най-добрите играчи в сървъра
Здравейте, преди време бях видял във един сървър подобен плъгин, но не мога да го намеря. Идеята е следната, примерно на 5-10 минути да смени 1вите играчи в TABSCORE от Т на CT и обратно.
Поздрави!
Поздрави!
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Плъгин да завърта на определено време най-добрите играчи в сървъра
Cvar: sbp_swap_delay = 600 -- през колко секунди да сменя играчите.
Ще смени първия играч от всеки отбор според броя на убийства.
Ако има повече от един човек със същия брой на убийства, ще избере този с най-малкия брой на умирания.
Ще смени първия играч от всеки отбор според броя на убийства.
Ако има повече от един човек със същия брой на убийства, ще избере този с най-малкия брой на умирания.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cromchat>
#include <cstrike>
new g_pSwapDelay
public plugin_init()
{
register_plugin("Swap Best Players", "1.0", "OciXCrom")
g_pSwapDelay = register_cvar("sbp_swap_delay", "600")
CC_SetPrefix("&x04[SBP]")
}
public plugin_cfg()
{
set_task(get_pcvar_float(g_pSwapDelay), "swap_best_players", .flags = "b")
}
public swap_best_players()
{
new iPlayers[32], id[2], iPnum
get_players(iPlayers, iPnum, "e", "CT")
if(!iPnum)
{
return
}
SortCustom1D(iPlayers, iPnum, "sort_players")
id[0] = iPlayers[0]
get_players(iPlayers, iPnum, "e", "TERRORIST")
if(!iPnum)
{
return
}
SortCustom1D(iPlayers, iPnum, "sort_players")
id[1] = iPlayers[0]
cs_set_user_team(id[0], CS_TEAM_T)
cs_set_user_team(id[1], CS_TEAM_CT)
new szName[2][32]
get_user_name(id[0], szName[0], charsmax(szName[]))
get_user_name(id[1], szName[1], charsmax(szName[]))
CC_SendMessage(0, "&x03%s &x01and &x03%s &x01have swapped teams!", szName[0], szName[1])
}
public sort_players(id1, id2)
{
if(get_user_frags(id1) > get_user_frags(id2))
{
return -1
}
else if(get_user_frags(id1) < get_user_frags(id2))
{
return 1
}
else
{
if(cs_get_user_deaths(id1) < cs_get_user_deaths(id2))
{
return -1
}
else if(cs_get_user_deaths(id1) > cs_get_user_deaths(id2))
{
return 1
}
}
return 0
}
-
Dvstoyanov89
Извън линия - Потребител
- Мнения: 41
- Регистриран на: 11 Май 2019, 14:04
- Се отблагодари: 11 пъти
- Получена благодарност: 6 пъти
Плъгин да завърта на определено време най-добрите играчи в сървъра
Всичко е точно, но как може да се оправи това, че сменя играчите, но си ме оставя във противниковата база. Примерно мести ме терорист, но ме спаунва във базата на CT
Друг проблем е, че сменя играчите само 1 път, след това през целия мап плъгина е неактивен.
Друг проблем е, че сменя играчите само 1 път, след това през целия мап плъгина е неактивен.
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Плъгин да завърта на определено време най-добрите играчи в сървъра
Искаш да respawn-ва всеки път ли? Защото смяната може да се случи и по време на рунд.
Сигурен ли си, че става само един път? Ако да, има ли някакви грешки в конзолата?
Имай предвид, че смяната няма да се случи ако няма поне един играч във всеки отбор.
Сигурен ли си, че става само един път? Ако да, има ли някакви грешки в конзолата?
Имай предвид, че смяната няма да се случи ако няма поне един играч във всеки отбор.
-
Dvstoyanov89
Извън линия - Потребител
- Мнения: 41
- Регистриран на: 11 Май 2019, 14:04
- Се отблагодари: 11 пъти
- Получена благодарност: 6 пъти
Плъгин да завърта на определено време най-добрите играчи в сървъра
Искам да кажа, че когато започне нов рунд, тогава ни разменя. До тук ок, но аз съм вече във противниковата база и ги избивам изненадващо
-
iv69
Извън линия - Потребител
- Мнения: 744
- Регистриран на: 17 Мар 2018, 15:34
- Се отблагодари: 214 пъти
- Получена благодарност: 39 пъти
Плъгин да завърта на определено време най-добрите играчи в сървъра
Може би е от значение и дали сървъра е Classic или Respawn ??? При втория случай рунда започва малко по-различно...Dvstoyanov89 написа: ↑25 Май 2019, 14:40 Искам да кажа, че когато започне нов рунд, тогава ни разменя. До тук ок, но аз съм вече във противниковата база и ги избивам изненадващо
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Плъгин да завърта на определено време най-добрите играчи в сървъра
Ако искаш, мога да го направя да ги разменя в края на рунда. Обаче ако сървърът е с respawn, по-добре е да се прероди играчът.
-
iv69
Извън линия - Потребител
- Мнения: 744
- Регистриран на: 17 Мар 2018, 15:34
- Се отблагодари: 214 пъти
- Получена благодарност: 39 пъти
Плъгин да завърта на определено време най-добрите играчи в сървъра
Така, как обясни човека на мене ми прозвуча, че сървъра му е Classic (.. но аз съм вече във противниковата база...) или пък е Respawn, но е с spawnmode = none , тоест се прераждат само в базите си. При мен е с spawnmode = preset , тоест използвам си predefined spawns , но понякога като сложа нов плъгин и само сменя картата а не ресвам сървъра, нещо ми се бъгва и започват да се раждат в базите си... и става интересното... с активиран FFA . Не е изключено и на него нещо да се е бъгнало?
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Плъгин да завърта на определено време най-добрите играчи в сървъра
Ето за двамата вариант, пък изберете си кой ще ползвате.
Cvar: sbp_respawn:
Cvar: sbp_respawn:
- ако е сложено на 1, ще замени играчите веднага когато минат дадените секунди и ще ги съживи в новите им бази;
- ако е сложено на 0, ще изчака до края на рунда да замени играчите, обаче няма да ги съживи.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <hamsandwich>
new bool:g_bShouldSwap, g_pSwapDelay, g_pRespawn
public plugin_init()
{
register_plugin("Swap Best Players", "1.1", "OciXCrom")
register_logevent("OnRoundEnd", 2, "1=Round_End")
g_pSwapDelay = register_cvar("sbp_swap_delay", "600")
g_pRespawn = register_cvar("sbp_respawn", "1")
CC_SetPrefix("&x04[SBP]")
}
public plugin_cfg()
{
set_task(get_pcvar_float(g_pSwapDelay), "time_to_swap", .flags = "b")
}
public time_to_swap()
{
if(get_pcvar_num(g_pRespawn) == 1)
{
swap_best_players(true)
}
else
{
CC_SendMessage(0, "The game will attempt to swap the best players when the &x03round ends&x01.")
g_bShouldSwap = true
}
}
public OnRoundEnd()
{
if(g_bShouldSwap)
{
swap_best_players(false)
g_bShouldSwap = false
}
}
public swap_best_players(bool:bRespawn)
{
new iPlayers[32], id[2], iPnum
get_players(iPlayers, iPnum, "e", "CT")
if(!iPnum)
{
return
}
SortCustom1D(iPlayers, iPnum, "sort_players")
id[0] = iPlayers[0]
get_players(iPlayers, iPnum, "e", "TERRORIST")
if(!iPnum)
{
return
}
SortCustom1D(iPlayers, iPnum, "sort_players")
id[1] = iPlayers[0]
cs_set_user_team(id[0], CS_TEAM_T)
cs_set_user_team(id[1], CS_TEAM_CT)
if(bRespawn)
{
ExecuteHam(Ham_CS_RoundRespawn, id[0])
ExecuteHam(Ham_CS_RoundRespawn, id[1])
}
new szName[2][32]
get_user_name(id[0], szName[0], charsmax(szName[]))
get_user_name(id[1], szName[1], charsmax(szName[]))
CC_SendMessage(0, "&x03%s &x01and &x03%s &x01have swapped teams!", szName[0], szName[1])
}
public sort_players(id1, id2)
{
if(get_user_frags(id1) > get_user_frags(id2))
{
return -1
}
else if(get_user_frags(id1) < get_user_frags(id2))
{
return 1
}
else
{
if(cs_get_user_deaths(id1) < cs_get_user_deaths(id2))
{
return -1
}
else if(cs_get_user_deaths(id1) > cs_get_user_deaths(id2))
{
return 1
}
}
CC_SendMessage(0, "Unable to swap players because &x032 or more &x01of them have the exact same score.")
return 0
}
-
Dvstoyanov89
Извън линия - Потребител
- Мнения: 41
- Регистриран на: 11 Май 2019, 14:04
- Се отблагодари: 11 пъти
- Получена благодарност: 6 пъти
Плъгин да завърта на определено време най-добрите играчи в сървъра
При мен всичко е точно. Благодаря
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 2 Отговори
- 1393 Преглеждания
-
Последно мнение от EKOLOGA
-
- 7 Отговори
- 2534 Преглеждания
-
Последно мнение от M36
-
- 3 Отговори
- 1724 Преглеждания
-
Последно мнение от menkisa
-
- 3 Отговори
- 2039 Преглеждания
-
Последно мнение от devilchy
-
- 1 Отговори
- 1563 Преглеждания
-
Последно мнение от Autumn Shade
-
- 13 Отговори
- 3742 Преглеждания
-
Последно мнение от zolfeca
-
- 12 Отговори
- 4980 Преглеждания
-
Последно мнение от hackera457
Кой е на линия
Потребители разглеждащи този форум: Bing [Bot] и 15 госта