Преработка на +grab -grab да бъде +use

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
m0ney
Извън линия
Рекламатор
Рекламатор
Мнения: 61
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 23 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Преработка на +grab -grab да бъде +use

Мнение от m0ney » 22 Фев 2021, 20:58

OciXCrom написа:
22 Фев 2021, 20:55
Тогава защо пускаш заявка за редакция на плъгин който не си тествал дали работи както искаш?
Не работи след промяната, попринцип си работи

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

Преработка на +grab -grab да бъде +use

Мнение от OciXCrom » 22 Фев 2021, 21:52

Опитай така:

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

if(user_button & IN_USE)
{
	grab_block(id)
}
else if(entity_get_int(id, EV_INT_oldbuttons) & IN_USE)
{
	release_block(id)
}

Аватар
m0ney
Извън линия
Рекламатор
Рекламатор
Мнения: 61
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 23 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Преработка на +grab -grab да бъде +use

Мнение от m0ney » 22 Фев 2021, 22:19

OciXCrom написа:
22 Фев 2021, 21:52
Опитай така:

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

if(user_button & IN_USE)
{
	grab_block(id)
}
else if(entity_get_int(id, EV_INT_oldbuttons) & IN_USE)
{
	release_block(id)
}
Оправи се +grab бинда но неще да мести със Е копчето +use

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

Преработка на +grab -grab да бъде +use

Мнение от TheRedShoko » 23 Фев 2021, 09:45

OciXCrom написа:
22 Фев 2021, 21:52
Опитай така:

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

new old_btns = entity_get_int(id, EV_INT_oldbuttons);
if(user_button & IN_USE && !(old_btns & IN_USE))
{
	grab_block(id)
}
else if(old_btns & IN_USE)
{
	release_block(id)
}

Аватар
m0ney
Извън линия
Рекламатор
Рекламатор
Мнения: 61
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 23 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Преработка на +grab -grab да бъде +use

Мнение от m0ney » 23 Фев 2021, 14:59

TheRedShoko написа:
23 Фев 2021, 09:45
OciXCrom написа:
22 Фев 2021, 21:52
Опитай така:

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

new old_btns = entity_get_int(id, EV_INT_oldbuttons);
if(user_button & IN_USE && !(old_btns & IN_USE))
{
	grab_block(id)
}
else if(old_btns & IN_USE)
{
	release_block(id)
}
Отново не мести с бутоан Е, +use :(

Ето плъгин, бейс билдер 6.5 който работи с +use ако ще ви е от полза как става https://forums.alliedmods.net/showthread.php?t=144287

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

Преработка на +grab -grab да бъде +use

Мнение от TheRedShoko » 23 Фев 2021, 16:47

Нормално, сега видях къде си го сложил в prethink функцията...
Пробвай така

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

public client_PreThink(id)
{
	if(!access(id,ADMIN_BLOCK_MOVE_BATTLE) && !user_build_battle[id] && !can_build && is_user_alive(id)) return
	
	static user_button, ent, old_btns
	user_button = entity_get_int(id,EV_INT_button)
	old_btns = entity_get_int(id, EV_INT_oldbuttons);

	if(user_button & IN_USE && !(old_btns & IN_USE))
	{
		grab_block(id)
	}
	else if(old_btns & IN_USE)
	{
		release_block(id)
	}

	if (!is_valid_ent(user_blockent[id])) return
	
	ent = user_blockent[id]

	if(user_button & IN_ATTACK)
	{
		if(entity_get_float(ent,EV_FL_fuser3) != float(BLOCKS_YELLOW))
		{
			user_block_dist[id] += get_pcvar_float(cvar_move_pull_push_speed)
		} else {
			user_block_dist[id] += (get_pcvar_float(cvar_move_pull_push_speed) * 2)
		}
		
		ExecuteForward(fwd_block_pull_push,fwd_return,id,2)
		
		if(fwd_return >= FORWARD_CONTINUE) return
		
		//user_block_dist[id] += get_pcvar_float(cvar_move_pull_push_speed)
		
		if(user_block_dist[id] > get_pcvar_float(cvar_move_max_dist)) 
		{
			user_block_dist[id] = get_pcvar_float(cvar_move_max_dist)
			client_print(id, print_center, "MAX !!!")
		}
		else
			client_print(id,print_center,"Pushing...")
	} 
	else if(user_button & IN_ATTACK2)
	{
		if(entity_get_float(ent,EV_FL_fuser3) != float(BLOCKS_YELLOW))
		{
			user_block_dist[id] -= get_pcvar_float(cvar_move_pull_push_speed)
		} else {
			user_block_dist[id] -= (get_pcvar_float(cvar_move_pull_push_speed) * 2)
		}
		
		ExecuteForward(fwd_block_pull_push,fwd_return,id,1)
		
		if(fwd_return >= FORWARD_CONTINUE) return
		
		//user_block_dist[id] -= get_pcvar_float(cvar_move_pull_push_speed)
		
		if(user_block_dist[id] < get_pcvar_float(cvar_move_min_dist)) 
		{
			user_block_dist[id] = get_pcvar_float(cvar_move_min_dist)
			client_print(id, print_center, "MIN !!!")
		}
		else
			client_print(id,print_center,"Pulling...")
	}
	
	if(freezetime || ent <= maxplayers || !is_valid_ent(ent) || !is_user_connected(id))
	{
		release_block(id)
		return
	}
	
	new iOrigin[3], iLook[3], Float:fOrigin[3], Float:fLook[3], Float:vMoveTo[3], Float:fLength

	get_user_origin(id, iOrigin, 1);
	IVecFVec(iOrigin, fOrigin);
	get_user_origin(id, iLook, 3);
	IVecFVec(iLook, fLook);

	fLength = get_distance_f(fLook, fOrigin);
	if (fLength == 0.0) fLength = 1.0;

	vMoveTo[0] = (fOrigin[0] + (fLook[0] - fOrigin[0]) * user_block_dist[id] / fLength) + g_fOffset1[id];
	vMoveTo[1] = (fOrigin[1] + (fLook[1] - fOrigin[1]) * user_block_dist[id] / fLength) + g_fOffset2[id];
	vMoveTo[2] = (fOrigin[2] + (fLook[2] - fOrigin[2]) * user_block_dist[id] / fLength) + g_fOffset3[id];
	vMoveTo[2] = float(floatround(vMoveTo[2], floatround_floor));

	entity_set_origin(ent, vMoveTo);
}

Аватар
m0ney
Извън линия
Рекламатор
Рекламатор
Мнения: 61
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 23 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Преработка на +grab -grab да бъде +use

Мнение от m0ney » 23 Фев 2021, 17:30

TheRedShoko написа:
23 Фев 2021, 16:47
Нормално, сега видях къде си го сложил в prethink функцията...
Пробвай така

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

public client_PreThink(id)
{
	if(!access(id,ADMIN_BLOCK_MOVE_BATTLE) && !user_build_battle[id] && !can_build && is_user_alive(id)) return
	
	static user_button, ent, old_btns
	user_button = entity_get_int(id,EV_INT_button)
	old_btns = entity_get_int(id, EV_INT_oldbuttons);

	if(user_button & IN_USE && !(old_btns & IN_USE))
	{
		grab_block(id)
	}
	else if(old_btns & IN_USE)
	{
		release_block(id)
	}

	if (!is_valid_ent(user_blockent[id])) return
	
	ent = user_blockent[id]

	if(user_button & IN_ATTACK)
	{
		if(entity_get_float(ent,EV_FL_fuser3) != float(BLOCKS_YELLOW))
		{
			user_block_dist[id] += get_pcvar_float(cvar_move_pull_push_speed)
		} else {
			user_block_dist[id] += (get_pcvar_float(cvar_move_pull_push_speed) * 2)
		}
		
		ExecuteForward(fwd_block_pull_push,fwd_return,id,2)
		
		if(fwd_return >= FORWARD_CONTINUE) return
		
		//user_block_dist[id] += get_pcvar_float(cvar_move_pull_push_speed)
		
		if(user_block_dist[id] > get_pcvar_float(cvar_move_max_dist)) 
		{
			user_block_dist[id] = get_pcvar_float(cvar_move_max_dist)
			client_print(id, print_center, "MAX !!!")
		}
		else
			client_print(id,print_center,"Pushing...")
	} 
	else if(user_button & IN_ATTACK2)
	{
		if(entity_get_float(ent,EV_FL_fuser3) != float(BLOCKS_YELLOW))
		{
			user_block_dist[id] -= get_pcvar_float(cvar_move_pull_push_speed)
		} else {
			user_block_dist[id] -= (get_pcvar_float(cvar_move_pull_push_speed) * 2)
		}
		
		ExecuteForward(fwd_block_pull_push,fwd_return,id,1)
		
		if(fwd_return >= FORWARD_CONTINUE) return
		
		//user_block_dist[id] -= get_pcvar_float(cvar_move_pull_push_speed)
		
		if(user_block_dist[id] < get_pcvar_float(cvar_move_min_dist)) 
		{
			user_block_dist[id] = get_pcvar_float(cvar_move_min_dist)
			client_print(id, print_center, "MIN !!!")
		}
		else
			client_print(id,print_center,"Pulling...")
	}
	
	if(freezetime || ent <= maxplayers || !is_valid_ent(ent) || !is_user_connected(id))
	{
		release_block(id)
		return
	}
	
	new iOrigin[3], iLook[3], Float:fOrigin[3], Float:fLook[3], Float:vMoveTo[3], Float:fLength

	get_user_origin(id, iOrigin, 1);
	IVecFVec(iOrigin, fOrigin);
	get_user_origin(id, iLook, 3);
	IVecFVec(iLook, fLook);

	fLength = get_distance_f(fLook, fOrigin);
	if (fLength == 0.0) fLength = 1.0;

	vMoveTo[0] = (fOrigin[0] + (fLook[0] - fOrigin[0]) * user_block_dist[id] / fLength) + g_fOffset1[id];
	vMoveTo[1] = (fOrigin[1] + (fLook[1] - fOrigin[1]) * user_block_dist[id] / fLength) + g_fOffset2[id];
	vMoveTo[2] = (fOrigin[2] + (fLook[2] - fOrigin[2]) * user_block_dist[id] / fLength) + g_fOffset3[id];
	vMoveTo[2] = float(floatround(vMoveTo[2], floatround_floor));

	entity_set_origin(ent, vMoveTo);
}
Работи обаче се получи като предния бъг по-рано написан в темата(и оправен при +grab от Oxi) кликваш Е и то ти го хваща и пуска веднага все едно си кликнал бутона вместо задържал

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

Преработка на +grab -grab да бъде +use

Мнение от TheRedShoko » 23 Фев 2021, 17:56

Пробвай така, вече би трябвало да няма проблем...

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

public client_PreThink(id)
{
	if(!access(id,ADMIN_BLOCK_MOVE_BATTLE) && !user_build_battle[id] && !can_build && is_user_alive(id)) return
	
	static user_button, ent, old_btns
	user_button = entity_get_int(id,EV_INT_button)
	old_btns = entity_get_int(id, EV_INT_oldbuttons);

	if(user_button & IN_USE && !(old_btns & IN_USE))
	{
		grab_block(id)
	}
	else if(!(user_button & IN_USE) && old_btns & IN_USE)
	{
		release_block(id)
	}

	if (!is_valid_ent(user_blockent[id])) return
	
	ent = user_blockent[id]

	if(user_button & IN_ATTACK)
	{
		if(entity_get_float(ent,EV_FL_fuser3) != float(BLOCKS_YELLOW))
		{
			user_block_dist[id] += get_pcvar_float(cvar_move_pull_push_speed)
		} else {
			user_block_dist[id] += (get_pcvar_float(cvar_move_pull_push_speed) * 2)
		}
		
		ExecuteForward(fwd_block_pull_push,fwd_return,id,2)
		
		if(fwd_return >= FORWARD_CONTINUE) return
		
		//user_block_dist[id] += get_pcvar_float(cvar_move_pull_push_speed)
		
		if(user_block_dist[id] > get_pcvar_float(cvar_move_max_dist)) 
		{
			user_block_dist[id] = get_pcvar_float(cvar_move_max_dist)
			client_print(id, print_center, "MAX !!!")
		}
		else
			client_print(id,print_center,"Pushing...")
	} 
	else if(user_button & IN_ATTACK2)
	{
		if(entity_get_float(ent,EV_FL_fuser3) != float(BLOCKS_YELLOW))
		{
			user_block_dist[id] -= get_pcvar_float(cvar_move_pull_push_speed)
		} else {
			user_block_dist[id] -= (get_pcvar_float(cvar_move_pull_push_speed) * 2)
		}
		
		ExecuteForward(fwd_block_pull_push,fwd_return,id,1)
		
		if(fwd_return >= FORWARD_CONTINUE) return
		
		//user_block_dist[id] -= get_pcvar_float(cvar_move_pull_push_speed)
		
		if(user_block_dist[id] < get_pcvar_float(cvar_move_min_dist)) 
		{
			user_block_dist[id] = get_pcvar_float(cvar_move_min_dist)
			client_print(id, print_center, "MIN !!!")
		}
		else
			client_print(id,print_center,"Pulling...")
	}
	
	if(freezetime || ent <= maxplayers || !is_valid_ent(ent) || !is_user_connected(id))
	{
		release_block(id)
		return
	}
	
	new iOrigin[3], iLook[3], Float:fOrigin[3], Float:fLook[3], Float:vMoveTo[3], Float:fLength

	get_user_origin(id, iOrigin, 1);
	IVecFVec(iOrigin, fOrigin);
	get_user_origin(id, iLook, 3);
	IVecFVec(iLook, fLook);

	fLength = get_distance_f(fLook, fOrigin);
	if (fLength == 0.0) fLength = 1.0;

	vMoveTo[0] = (fOrigin[0] + (fLook[0] - fOrigin[0]) * user_block_dist[id] / fLength) + g_fOffset1[id];
	vMoveTo[1] = (fOrigin[1] + (fLook[1] - fOrigin[1]) * user_block_dist[id] / fLength) + g_fOffset2[id];
	vMoveTo[2] = (fOrigin[2] + (fLook[2] - fOrigin[2]) * user_block_dist[id] / fLength) + g_fOffset3[id];
	vMoveTo[2] = float(floatround(vMoveTo[2], floatround_floor));

	entity_set_origin(ent, vMoveTo);
}

Аватар
m0ney
Извън линия
Рекламатор
Рекламатор
Мнения: 61
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 23 пъти
Получена благодарност: 6 пъти
Обратна връзка:

Преработка на +grab -grab да бъде +use

Мнение от m0ney » 23 Фев 2021, 18:05

Евала! Благодаря на всички за отделеното време! <3

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

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

Кой е на линия

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