Блокиране на healing zones

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

Блокиране на healing zones

Мнение от TheRedShoko » 06 Авг 2017, 00:13

Как бих могъл да засека зареждането на кръв от т. нар. зони, в които като влезеш и те презарежда с кръв? Седях го мислих, но не стигнах до никъде. Рових се из alliedmods дали някой не е търсил помощ за същото, но.. Не знам на какъв принцип работят, за да го блокирам. Не искам да премахвам самата зона, а само функцията и при определена ситуация.
Изображение

Също на тези бронежилетки и аптечки по стените, които се използват с E, някой случайно да знае classname, за да ги блокирам?
Изображение Изображение

Аватар
aHaJLruH
Извън линия
VHE Mapper
VHE Mapper
Мнения: 138
Регистриран на: 13 Окт 2016, 12:33
Местоположение: София
Се отблагодари: 12 пъти
Получена благодарност: 42 пъти

Re: Блокиране на healing zones

Мнение от aHaJLruH » 06 Авг 2017, 13:06

Не знам дали ще ти е от помощ, но когато се изработват картите тези аптечки по стените се правят с Class "func_healthcharger" и "func_recharge".

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

Re: Блокиране на healing zones

Мнение от TheRedShoko » 06 Авг 2017, 13:47

Помогна ми, но се оказа, че има и някакви други варианти на тези...
Успях да ги блокирам използвайки func_recharge & func_healthrecharge, но само някои... Тази не става да се блокира по този начин
Изображение

Мога да ти кажа маповете, на които ги има, ако можеш да ги разгледаш и да ми кажеш как работят, за да ги блокирам.

Аватар
aHaJLruH
Извън линия
VHE Mapper
VHE Mapper
Мнения: 138
Регистриран на: 13 Окт 2016, 12:33
Местоположение: София
Се отблагодари: 12 пъти
Получена благодарност: 42 пъти

Re: Блокиране на healing zones

Мнение от aHaJLruH » 06 Авг 2017, 14:20

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

Аватар
TryAgain
Извън линия
Потребител
Потребител
Мнения: 182
Регистриран на: 25 Яну 2017, 16:59
Се отблагодари: 1 път
Получена благодарност: 26 пъти

Re: Блокиране на healing zones

Мнение от TryAgain » 06 Авг 2017, 14:40

Няма ли да е по-лесно през vhe да им зададеш съответните класове и после плъгина ще блоква.

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

Re: Блокиране на healing zones

Мнение от TheRedShoko » 06 Авг 2017, 15:48

Идеята не е да преработя всички мапове, за да работят както искам... Искам да намеря някакво универсално решение за всичко. Аналгин, едните се активират при допир, други при Use, предполагам, че мога да ги деактивирам без да пипам другите. Отделно, ако ми дадеш и името на параметъра, който отговаря за това колко кръв да бие trigger_hurt мога да пробвам да ги филтрирам през него. Относно другите "капсули" и подобни, дали не работят и те така? http://gamebanana.com/maps/176570 на този мап има от този вид зони, ако ти се занимава да погледнеш как работят...

Аватар
aHaJLruH
Извън линия
VHE Mapper
VHE Mapper
Мнения: 138
Регистриран на: 13 Окт 2016, 12:33
Местоположение: София
Се отблагодари: 12 пъти
Получена благодарност: 42 пъти

Re: Блокиране на healing zones

Мнение от aHaJLruH » 06 Авг 2017, 16:13

Имам някакъв проблем с програмите за преглеждане на маповете. Като тръгна да отварям някоя карта и ми крашват, затова в момента не мога да ти кажа със сигурност дали са направени по този метод. Би трябвало тези аптечки които не се използват с Use, да са всичките с "trigger_hurt". Защо просто не забраниш функцията и след това да прегледаш дали работи? Относно параметъра то той е "Damage" и за да дава кръв трябва стойността да е отрицателна. ( -5 ще дава по 5 кръв).

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

Блокиране на healing zones

Мнение от TheRedShoko » 10 Авг 2017, 11:20

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

#include <amxmodx>
#include <engine>
#include <hamsandwich>

public plugin_init()
{
	RegisterHam(Ham_Use, "func_recharge", "FncRch");
	RegisterHam(Ham_Use, "func_healthcharger", "FncRecharge");
	register_touch("trigger_hurt", "player", "FncHurt");
}

public FncHurt(iEnt, id)
{
	if (!is_valid_ent(iEnt))
	{
		return HAM_IGNORED;
	}

	new szValue[32];
	get_keyvalue(iEnt, "dmg", szValue, charsmax(szValue));
	new iDamage = str_to_num(szValue);
	if (iDamage < 0)
	{
		client_print(0, print_center, "Healing from trigger_hurt1");
		return PLUGIN_HANDLED;
	}

	return PLUGIN_CONTINUE;
}
public FncRch(iEnt)
{
	client_print(0, print_center, "Recharging");
	return HAM_SUPERCEDE;
}

public FncRecharge(iEnt)
{
	client_print(0, print_center, "Recharging1");
	return HAM_SUPERCEDE;
}
Ако някой може да се изкаже защо ми връща empty string при get_keyvalue... не можах да открия отговор в интернет, а точно dmg е key-a, който ми трябва. Иначе на този принцип се блокира, благодаря на Аналгин за помощта.

Аватар
DaRk_StyLe
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 264
Регистриран на: 26 Окт 2016, 12:40
Се отблагодари: 11 пъти
Получена благодарност: 33 пъти

Блокиране на healing zones

Мнение от DaRk_StyLe » 10 Авг 2017, 15:04

Няма да стане с get_keyvalue(), тъй като не може да извлече информацията от entity-то, което води до empty string грешка. Използвай FM_KeyValue в комбинация с get_kvd() и set_kvd(). Задаваш стойността на 0 и би трябвало да се получи, ако само при отрицателна стойност дава кръв.

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

Блокиране на healing zones

Мнение от TheRedShoko » 10 Авг 2017, 15:41

Как по-точно да го използвам? Да проверявам във forward-a за стойностите на dmg и да блъскам в някой масив индексите на обектите ли?

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

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

Кой е на линия

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