Как може да проверя кой рунд е ?

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Как може да проверя кой рунд е ?

Мнение от TheRedShoko » 24 Мар 2018, 00:36

get_players върти цикъл отдолу, за да събере играчите. Използвайки get_players ще завърти 2 пъти цикъл за едно и също нещо. При Round_Start има 1 подробност - извиква се в края на freezetime, а играчите се съживяват преди това. Затова сметнах, че начинът, който дадох е най-оптималният.

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

Как може да проверя кой рунд е ?

Мнение от OciXCrom » 24 Мар 2018, 00:57

Според разбирачите в alliedmods, get_players е по-добър метод. Колко такива теми съм срещал там и винаги се дава един и същ отговор - get_players. Виж това.

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Как може да проверя кой рунд е ?

Мнение от TheRedShoko » 24 Мар 2018, 01:19

Най-вероятно, защото get_players върти един цикъл на ниво C++,а другият на ниво AMXX, което пак стига до C++, но със забавяне. И все пак не виждам логична причина, поради която при 32/32 get_players да е по-бърз... Предполагам, че е нещо от is_user_alive, но без тестване само мога да гадая.

Аватар
[N]eXuS
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 16 Мар 2018, 04:52

Как може да проверя кой рунд е ?

Мнение от [N]eXuS » 24 Мар 2018, 01:29

Защо полочавам 3 warna при опит за комплирине на плъгина къде е грешка та ?

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


#include <amxmodx>
#include <cstrike>
#include <fun>
#include <stripweapons>
#include <hamsandwich>
#include <cromchat>

new pPluginEnable

#define VIP_FLAG ADMIN_KICK

public plugin_init()
{
	RegisterHam(Ham_Spawn, "player", "Player_Spawn", true)
	pPluginEnable = register_cvar("amx_demo", "1")
	CC_SetPrefix("&x04PREFIX")
	
}

public Player_Spawn(id)
{
	if(get_pcvar_num(pPluginEnable) == 1 && get_user_flags(id) & VIP_FLAG && is_user_alive(id))
	{
		new Team:csTeam = get_user_team(id)
		if(csTeam == CS_TEAM_CT)
		{
			give_item(id, "weapon_m4a1")
			
			cs_set_user_bpammo(id, CSW_M4A1, 90)
		}
		
		if(csTeam == CS_TEAM_T)
		{
			give_item(id, "weapon_ak47")
			cs_set_user_bpammo(id, CSW_AK47, 90)
		}
		
		StripWeapons(id, Secondary)
		give_item(id, "weapon_deagle")
		give_item(id, "weapon_hegrenade")
		give_item(id, "weapon_flashbang")
		
		cs_set_user_bpammo(id, CSW_DEAGLE, 35)
		cs_set_user_bpammo(id, CSW_HEGRENADE, 5)
		cs_set_user_bpammo(id, CSW_FLASHBANG, 5)
		
		set_user_health(id, get_user_health(id) + 50)
		set_user_armor(id, 150)
		
		CC_SendMessage(id, "Ala bala")
		
		
	}
}

Аватар
User12
Извън линия
Потребител
Потребител
Мнения: 321
Регистриран на: 25 Яну 2018, 22:39
Местоположение: Сливен
Се отблагодари: 40 пъти
Получена благодарност: 17 пъти
Обратна връзка:

Как може да проверя кой рунд е ?

Мнение от User12 » 24 Мар 2018, 01:31

Кажи какви са Warning , "грешките" ?
Каналът ми в YouTube : Георги Пламенов

Изображение

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Защо полочавам 3 warna при опит за комплирине на плъгина ??

Мнение от TheRedShoko » 24 Мар 2018, 01:36

Защо промени заглавието на темата?????????????

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

Как може да проверя кой рунд е ?

Мнение от OciXCrom » 24 Мар 2018, 01:40

Той обаче завъртя цикъла 1000000 пъти. С 32 пъти реално няма да се усети никаква разлика, тъй като тя ще е само няколко милисекунди (или както се наричат). Като направим проста математика според данните от тестването, get_players методът е от почти 10 пъти при празен сървър до 3 пъти при пълен по-бърз от луупване на всички индекси. Нищо, че няма да се усети разлика конкретно в този случай, все пак е хубаво да се знае кое от двете е по-бързо за кодът да бъде оптимизиран.

// То пък цели 3 нови отговори е имало докато да напиша мнението през телефона. :D

Аватар
[N]eXuS
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 16 Мар 2018, 04:52

Защо полочавам 3 warna при опит за комплирине на плъгина ??

Мнение от [N]eXuS » 24 Мар 2018, 01:41

За да не пускам друга, ако тръгна да правя за всеки един мой въпрос тема :coolface:

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

Защо полочавам 3 warna при опит за комплирине на плъгина ??

Мнение от OciXCrom » 24 Мар 2018, 01:45

Пусни друга, не е проблем. Проблем е да се наблъска всичко в една тема, а заглавието да няма нищо общо.

Аватар
[N]eXuS
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 16 Мар 2018, 04:52

Как може да проверя кой рунд е ?

Мнение от [N]eXuS » 24 Мар 2018, 01:51

Благодарности на @OciXCroma и нa @TheRedShoko :lock:

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

Обратно към “Помощ в скриптирането”

Кой е на линия

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