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

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

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

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

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

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

Преработка на +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
Извън линия
Потребител
Потребител
Мнения: 285
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 83 пъти
Получена благодарност: 39 пъти
Обратна връзка:

Преработка на +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
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Преработка на +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
Извън линия
Потребител
Потребител
Мнения: 285
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 83 пъти
Получена благодарност: 39 пъти
Обратна връзка:

Преработка на +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
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Преработка на +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
Извън линия
Потребител
Потребител
Мнения: 285
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 83 пъти
Получена благодарност: 39 пъти
Обратна връзка:

Преработка на +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
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Преработка на +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
Извън линия
Потребител
Потребител
Мнения: 285
Регистриран на: 13 Апр 2020, 11:36
Се отблагодари: 83 пъти
Получена благодарност: 39 пъти
Обратна връзка:

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

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

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

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

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

Кой е на линия

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