Добавяне на произволни оръжия към плъгина random warmup

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
impossible
Извън линия
Потребител
Потребител
Мнения: 488
Регистриран на: 15 Юни 2019, 12:41
Се отблагодари: 23 пъти
Получена благодарност: 47 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от impossible » 06 Сеп 2020, 11:57

Здравейте, Искам към плъгина Random warmup -да се добавят още произволни оръжия за заграване в момента е направен само с Knife,Deagle,Scout,AWP,Grenade бих искал грнататите да се премахнат

какви произволни оръжия да има вътре:

AK47
GALIL
AUG
G3/SG-1
MAC-10
P228
AWP
MP5
M249
Sig 550
XM1014
FIVE SEVEN
M4A1
SCOUT
P90
TMP
DEAGLE
FAMAS
SSG552
UMP45
M3
GLOCK
BERETT
KNIFE
USP
warmup_random.sma
(4.31 KiB) Свалено 113 пъти
warmup_random.sma
(4.31 KiB) Свалено 113 пъти
Последно промяна от impossible на 06 Сеп 2020, 17:02, променено общо 1 път.

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Добавяне на произволни оръжия към плъгина Ramdow warmup

Мнение от JustInCase » 06 Сеп 2020, 12:56

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

#include <amxmodx>
#include <fakemeta_util>
#include <cstrike>
#include <fun>
#include <dhudmessage>
#include <hamsandwich>
new Timer, SecondsCvar
//new bool:first_time=true

new g_mode = 0

#define TASK_REVIVE 2312
// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons
new const szWarmupWeapons[][] = { "","weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10",
	"weapon_aug", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
	"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90" }
// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons	
	
new const szWarmupWeaponNames[][] = { "","P228", "Scout", "XM1014", "Mac 10",
	"AUG", "Fiveseven", "UMP45", "SG550",
	"Galil", "Famas", "USP", "GLOCK 18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"M3", "M4A1", "TMP", "Deagle", "SG552", "AK47", "Knife", "P90" }
	
new const szWeaponNames[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
	"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
	"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
"weapon_ak47", "weapon_knife", "weapon_p90" }

	public plugin_init()
{
	register_plugin( "Warmup Random" , "4.0Stable", "VCL" )
	register_event("DeathMsg", "on_death", "a")
	register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" )
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)  
	for (new i = 1; i < sizeof szWeaponNames; i++)
		if (szWeaponNames[i][0]) RegisterHam(Ham_Item_AddToPlayer, szWeaponNames[i], "fw_Weapon_AddToPlayer_Post", 1)
	SecondsCvar = register_cvar("wr_rr_time","90.0")
	Timer = get_pcvar_num(SecondsCvar)
	g_mode = random_num(1, sizeof(szWarmupWeapons))
	if(random_num(0,1)==1) g_mode = random_num(1,5)
	set_task(1.0, "start_rr_timer", 0, _, _, "a", Timer)
}

public on_death()
{
	new victim
	victim = read_data(2)
	
	if(g_mode!=0) set_task(1.0, "fnRevivePlayer", victim+TASK_REVIVE)
}

public fw_Weapon_AddToPlayer_Post(weapon, id)
{
	if(g_mode!=0 && !task_exists(id)) set_task(0.1,"give_items",id)
}

public fwHamPlayerSpawnPost(id)
{
	if(g_mode!=0 && !task_exists(id)) set_task(0.1,"give_items",id)
	
}

public give_items(id)
{
	if(g_mode!=0 && is_user_connected(id) && is_user_alive(id))
	{
		fm_strip_user_weapons(id)
		fm_give_item(id, szWarmupWeapons[g_mode]);
		cs_set_user_bpammo( id, get_weaponid( szWarmupWeapons[g_mode] ), 120 ); 
		if(equali(szWarmupWeapons[g_mode], "weapon_knife"))
			set_user_health(id, 35)
	
	}
}

public fnRevivePlayer(id) 
{
	id-=TASK_REVIVE
	if(!is_user_alive(id) && g_mode!=0 && is_user_connected(id))
	{
		ExecuteHamB(Ham_CS_RoundRespawn, id)
	}
}

public EventCurWeapon(id)
{
	/*if(g_mode!=0 && is_user_connected(id) && is_user_alive(id)) 
	{
		switch(g_mode)
		{
			case 1: engclient_cmd(id, "weapon_knife")
				case 2: engclient_cmd(id, "weapon_deagle")
				case 3: engclient_cmd(id, "weapon_scout")
				case 4: engclient_cmd(id, "weapon_awp")
				case 5: engclient_cmd(id, "weapon_hegrenade")
			}
		
	}*/
}

public start_rr_timer()
{
	
	if(get_pcvar_num(SecondsCvar)==Timer)
	{
		g_mode = random_num(1,5)
		if(random_num(0,1)==1) g_mode = random_num(1,5)
		for(new i=1;i<=32;i++)
		{
			give_items(i)
		}
	}
	Timer--

	if(g_mode==0)
	{
		remove_task()
	}
	else
	{
		set_dhudmessage(135, 206, 235, -1.0, 0.08, 0, 0.0, 0.01)
		show_dhudmessage(0, "^nZagrqvasht round! %s!^nRestart sled: [ %d ]", szWarmupWeaponNames[g_mode],Timer)
	}
	if(Timer < 1)
	{
		server_cmd("sv_restartround 1")
		set_task(3.0, "rr_end")
		g_mode = 0
	}
}

public rr_end()
{
	g_mode = 0
	set_dhudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.78, 2, 6.0, 3.0, 0.1, 1.5, false )
	new message[100]
	new servname[64]
	get_cvar_string("hostname",servname,charsmax(servname))
	format(message,charsmax(message),"Uspeh na vsichki !^nNasladete se na igrata v nashiq survur %s",servname)
	show_dhudmessage(0, message)
}
Тествай :)
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
impossible
Извън линия
Потребител
Потребител
Мнения: 488
Регистриран на: 15 Юни 2019, 12:41
Се отблагодари: 23 пъти
Получена благодарност: 47 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от impossible » 06 Сеп 2020, 17:34

смених мапа доста пъти и ме пуска само с тези оръжия
AUG
XM1014
P228
MAC-10

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от JustInCase » 07 Сеп 2020, 22:05

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

#include <amxmodx>
#include <fakemeta_util>
#include <cstrike>
#include <fun>
#include <dhudmessage>
#include <hamsandwich>
new Timer, SecondsCvar
//new bool:first_time=true

new g_mode = 0

#define TASK_REVIVE 2312
// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons
new const szWarmupWeapons[][] = { "","weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10",
	"weapon_aug", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
	"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90" }
// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons	
	
new const szWarmupWeaponNames[][] = { "","P228", "Scout", "XM1014", "Mac 10",
	"AUG", "Fiveseven", "UMP45", "SG550",
	"Galil", "Famas", "USP", "GLOCK 18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"M3", "M4A1", "TMP", "Deagle", "SG552", "AK47", "Knife", "P90" }
	
new const szWeaponNames[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
	"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
	"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
"weapon_ak47", "weapon_knife", "weapon_p90" }

	public plugin_init()
{
	register_plugin( "Warmup Random" , "4.0Stable", "VCL" )
	register_event("DeathMsg", "on_death", "a")
	register_event( "CurWeapon", "EventCurWeapon", "be", "2!29" )
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)  
	for (new i = 1; i < sizeof szWeaponNames; i++)
		if (szWeaponNames[i][0]) RegisterHam(Ham_Item_AddToPlayer, szWeaponNames[i], "fw_Weapon_AddToPlayer_Post", 1)
	SecondsCvar = register_cvar("wr_rr_time","90.0")
	Timer = get_pcvar_num(SecondsCvar)
	g_mode = random_num(1, sizeof(szWarmupWeapons))
	set_task(1.0, "start_rr_timer", 0, _, _, "a", Timer)
}

public on_death()
{
	new victim
	victim = read_data(2)
	
	if(g_mode!=0) set_task(1.0, "fnRevivePlayer", victim+TASK_REVIVE)
}

public fw_Weapon_AddToPlayer_Post(weapon, id)
{
	if(g_mode!=0 && !task_exists(id)) set_task(0.1,"give_items",id)
}

public fwHamPlayerSpawnPost(id)
{
	if(g_mode!=0 && !task_exists(id)) set_task(0.1,"give_items",id)
	
}

public give_items(id)
{
	if(g_mode!=0 && is_user_connected(id) && is_user_alive(id))
	{
		fm_strip_user_weapons(id)
		fm_give_item(id, szWarmupWeapons[g_mode]);
		cs_set_user_bpammo( id, get_weaponid( szWarmupWeapons[g_mode] ), 120 ); 
		if(equali(szWarmupWeapons[g_mode], "weapon_knife"))
			set_user_health(id, 35)
	
	}
}

public fnRevivePlayer(id) 
{
	id-=TASK_REVIVE
	if(!is_user_alive(id) && g_mode!=0 && is_user_connected(id))
	{
		ExecuteHamB(Ham_CS_RoundRespawn, id)
	}
}

public EventCurWeapon(id)
{
	/*if(g_mode!=0 && is_user_connected(id) && is_user_alive(id)) 
	{
		switch(g_mode)
		{
			case 1: engclient_cmd(id, "weapon_knife")
				case 2: engclient_cmd(id, "weapon_deagle")
				case 3: engclient_cmd(id, "weapon_scout")
				case 4: engclient_cmd(id, "weapon_awp")
				case 5: engclient_cmd(id, "weapon_hegrenade")
			}
		
	}*/
}

public start_rr_timer()
{
	
	if(get_pcvar_num(SecondsCvar)==Timer)
	{
		g_mode = random_num(1,5)
		if(random_num(0,1)==1) g_mode = random_num(1,5)
		for(new i=1;i<=32;i++)
		{
			give_items(i)
		}
	}
	Timer--

	if(g_mode==0)
	{
		remove_task()
	}
	else
	{
		set_dhudmessage(135, 206, 235, -1.0, 0.08, 0, 0.0, 0.01)
		show_dhudmessage(0, "^nZagrqvasht round! %s!^nRestart sled: [ %d ]", szWarmupWeaponNames[g_mode],Timer)
	}
	if(Timer < 1)
	{
		server_cmd("sv_restartround 1")
		set_task(3.0, "rr_end")
		g_mode = 0
	}
}

public rr_end()
{
	g_mode = 0
	set_dhudmessage( random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.78, 2, 6.0, 3.0, 0.1, 1.5, false )
	new message[100]
	new servname[64]
	get_cvar_string("hostname",servname,charsmax(servname))
	format(message,charsmax(message),"Uspeh na vsichki !^nNasladete se na igrata v nashiq survur %s",servname)
	show_dhudmessage(0, message)
}
Извинявай ето кода
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
impossible
Извън линия
Потребител
Потребител
Мнения: 488
Регистриран на: 15 Юни 2019, 12:41
Се отблагодари: 23 пъти
Получена благодарност: 47 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от impossible » 07 Сеп 2020, 23:47

хмм 30- пъти смених мапа и пак ме пуска само с
AUG
XM1014
P228
MAC-10

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от JustInCase » 07 Сеп 2020, 23:57

Промени

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

g_mode = random_num(1,5)
=>

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

g_mode = random_num(1, sizeof(szWarmupWeapons))
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
impossible
Извън линия
Потребител
Потребител
Мнения: 488
Регистриран на: 15 Юни 2019, 12:41
Се отблагодари: 23 пъти
Получена благодарност: 47 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от impossible » 08 Сеп 2020, 01:04

сега е само
AUG
SCOUT
XM1014
P228
MAC-10

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Добавяне на произволни оръжия към плъгина random warmup

Мнение от hackera457 » 08 Сеп 2020, 11:22

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

g_mode = random_num(0, sizeof(szWarmupWeapons))
Масивите започват от нулев елемент, а и е нормално да ти върти едни и същи - все пак функцията може няколко пъти да генерира едно и също число, така че нищо нередно няма
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от atmax » 08 Сеп 2020, 13:02

Ето един начин да се избегне повтаряне през random_num():

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

for(new i=0; i<5; i++)
{
   num[i] = random_num(1, 10);
   while(num_exists(num[i], i , num))
   num[i] = random_num(1, 10);

}  

bool:num_exists(number, count, source[]){

 for(new j; j < count; j++)
 if(source[j]==number)
 return true;
 
 return false;
}
Или:

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

    for ( new i ; i < sizeof num ; i++ ) {
        do num[i] = random_num(1, 10);
        while ( AlreadyExists(num[i], num, i) )
    }
// ...
AlreadyExists(num, array[], size) {
    for ( new i ; i < size ; i++ )
        if ( array[i] == num )
            return 1;
    return 0;
}
Rest in peace my friend I always will remember you! 🖤👊

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Добавяне на произволни оръжия към плъгина random warmup

Мнение от JustInCase » 14 Сеп 2020, 21:49

hackera457 написа: 08 Сеп 2020, 11:22

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

g_mode = random_num(0, sizeof(szWarmupWeapons))
Масивите започват от нулев елемент, а и е нормално да ти върти едни и същи - все пак функцията може няколко пъти да генерира едно и също число, така че нищо нередно няма
Ако ще променяш този ред да започва от първия елемент на масива се увери че променяш и двата масива, така че първите им елементи да не са празни.

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

// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons
new const szWarmupWeapons[][] = { "","weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10",
	"weapon_aug", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
	"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90" }
// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons	
	
new const szWarmupWeaponNames[][] = { "","P228", "Scout", "XM1014", "Mac 10",
	"AUG", "Fiveseven", "UMP45", "SG550",
	"Galil", "Famas", "USP", "GLOCK 18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"M3", "M4A1", "TMP", "Deagle", "SG552", "AK47", "Knife", "P90" }
=>

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

// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons
new const szWarmupWeapons[][] = { "weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10",
	"weapon_aug", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
	"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_knife", "weapon_p90" }
// 				-------------------------------------------------------------------------------------------- Here you can edit your weapons	
	
new const szWarmupWeaponNames[][] = { "P228", "Scout", "XM1014", "Mac 10",
	"AUG", "Fiveseven", "UMP45", "SG550",
	"Galil", "Famas", "USP", "GLOCK 18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
	"M3", "M4A1", "TMP", "Deagle", "SG552", "AK47", "Knife", "P90" }

atmax написа: 08 Сеп 2020, 13:02 Ето един начин да се избегне повтаряне през random_num():

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

for(new i=0; i<5; i++)
{
   num[i] = random_num(1, 10);
   while(num_exists(num[i], i , num))
   num[i] = random_num(1, 10);

}  

bool:num_exists(number, count, source[]){

 for(new j; j < count; j++)
 if(source[j]==number)
 return true;
 
 return false;
}
Или:

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

    for ( new i ; i < sizeof num ; i++ ) {
        do num[i] = random_num(1, 10);
        while ( AlreadyExists(num[i], num, i) )
    }
// ...
AlreadyExists(num, array[], size) {
    for ( new i ; i < size ; i++ )
        if ( array[i] == num )
            return 1;
    return 0;
}

Ако не се лъжа плъгина се активира при смяна на картата така че ще трябва да запазваш някъде предишните примерно 5 стойности за да не се повтарят.
MANSION - HNS : 45.144.155.99:27026
ONLINE

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

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

Кой е на линия

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