Quick Defuse

BoooS

Участник
Сообщения
104
Реакции
2
Re: QuickDefuse v0.3

вот вопрос, если при закладке не выбрать провод, то при дефюзе тоже нету смысла выбирать?
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
Re: QuickDefuse v0.3

BoooS, если при закладке не был выбран провод, он выбирается рандомно.
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
Re: QuickDefuse v0.3

Новая версия с новыми возможностями как просили.
Убрал инклуде мореколорс и сделал цвета без него.
Добавил сообщения кто разминировал и кто успешно заложил бомбу.
Новые квары:
qd_C4effects - включение эффекта бомбы
qd_printtype - 0 выключено, 1 хинт, 2 центр оповещение.
qd_C4render - прозрачность дыма min 0 max 255
qd_C4colorp "255 0 0" - цвет дыма
qd_C4colorde "0 0 255" - цвет при минирование
qd_C4colord "0 255 0" - цвет разминированной бомбы
 

Вложения

  • QuickDefuse_ob_v0.5.7z
    12.8 КБ · Просмотры: 315

radionucleid

Участник
Сообщения
139
Реакции
13
Re: QuickDefuse v0.3

От одного из админов моих серверов поступило буквально следующее сообщение:
Абсолютно всегда при 100% случаях, этот игрок разминировал бомбу методом угадывания верного провода, когда не хватало времени на обычный дефьюз. При этом однажды 5 раз подряд верно угадал цвет провода, 4 раза из которых цвет был разный, что по теории вероянтости абсолютно невозможно. Считаю что у него стоит какая то программа, которую можно прировнять к читу. И так как демки с этим читом записать нет возможности, прошу вынести собственное решение касательного данного игрока.
Как такое возможно?
Другой игрок так же пишет:
Согласен, при мне ни разу не ошибался с отгадыванием провода, и в большинстве случаев выжыиал удобный момент выбежать и дёрнуть! Все бомбы мои раздефьюзил. )=
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
Re: QuickDefuse v0.3

radionucleid, не думаю что есть такой чит.
 

radionucleid

Участник
Сообщения
139
Реакции
13
Re: QuickDefuse v0.3

Ну есть же чит который может показывать местоположение установленной или дропнутой бомбы или другого оружия.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #48
Re: QuickDefuse v0.3

radionucleid, есть, но чита, который залазит в плагин, узнает значение перменной и выдает её игроку либо использует сам - нет.
 

radionucleid

Участник
Сообщения
139
Реакции
13
Re: QuickDefuse v0.3

Оффтоп
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: QuickDefuse v0.3

Абсолютно всегда при 100% случаях, этот игрок разминировал бомбу методом угадывания верного провода, когда не хватало времени на обычный дефьюз.
Тоже видел такое. Догадываюсь, какой программой делается.
Оффтоп
Плагин переделывать надо.
 

radionucleid

Участник
Сообщения
139
Реакции
13
Re: QuickDefuse v0.3

Итак, вот как обсуждают игрока подозреваемого в читерстве с этим багом у меня на форуме:
подозреваемый:
Я в основном всегда нажимаю 2 или 3 потому что чисто теоретически, игроку который ставит бомбу легче нажать 3 или 2, потому что они расположены ближе к кнопкам управления движением.
оппонент:
" нажимаю и отпускаю кнопку "E" " в таком случае это больше похоже на баг плагина, тогда почему все этим не пользуются? он активно утверждает что жмет 2 или 3:
C-подобный:
 1 -синий 
 2 - желтый 
 3 - красный 
 4 - зеленый
Почему тогда в чате был текст, в котором было неоднократно написано, "обезвредил бомбу выбрав верный синий (цифра 1) провод, и зеленый (цифра 4).
подозреваемый:
Я не знаю почему так получается, но я действительно всегда стараюсь жать 3 или 2. Не исключено что я нажимаю и другие.
возможно всё-таки это баг плагина, а не чит?
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
Re: QuickDefuse v0.3

radionucleid, возьми напарника и тестируйте, там увидим что это.
 

radionucleid

Участник
Сообщения
139
Реакции
13
Re: QuickDefuse v0.3

Slide67, мда, кэп а мы и не знали... В випе на моих серверах есть возможность мгновенного разминирования, но не угадыванием провода. И эта возможность должна быть включена в конфиге вип, чтобы это работало. Естественно в данном случае эта возможность выключена и о вип даже речи нет.
 

radionucleid

Участник
Сообщения
139
Реакции
13
Re: QuickDefuse v0.3

Вот вылезло тут что-то вдруг:
L 10/23/2014 - 23:43:19: SourceMod error session started
L 10/23/2014 - 23:43:19: Info (map "de_dust2") (file "errors_20141023.log")
L 10/23/2014 - 23:43:19: [SM] Native "SetEntPropFloat" reported: Entity -1 (-1) is invalid
L 10/23/2014 - 23:43:19: [SM] Displaying call stack trace for plugin "QuickDefuse.smx":
L 10/23/2014 - 23:43:19: [SM] [0] Line 136, D:\Server\Steampipe\css_public\cstrike\addons\sourcemod\scripting\QuickDefuse.sp::PanelDefuseKit()
 

Vitaly Gromovoy 80781043

Участник
Сообщения
57
Реакции
5
Re: QuickDefuse v0.3

Всем привет!

Тут такая проблема с плагином

Есть один косяк, когда у игрока длинный ник то текст транслита не полностью отображается.

Вот пример:
Ketchup Chili |Game is NOOB|™ активировал бомбу вырвав неверный Желтый провод. Правильным был Зеле

вот мой исходник, я просто добавил только тег:
HTML:
/*
 *		QuickDefuse - by pRED*
 *
 *		CT's get a menu to select a wire to cut when they defuse the bomb
 *			- Choose the right wire - Instant Defuse
 *			- Choose the wrong wire - Instant Explosion
 *
 *		T's also get the option to select the correct wire, otherwise it's random
 *
 *		Ignoring the menu's or selecting exit will let the game continue normally
 *
 */

#include <sourcemod>
#include <sdktools>

#define PLUGIN_VERSION "0.3"

new wire
new Handle:cvar_tchoice

new String:wirecolours[5][] = {"Blue","Yellow","Red","Green","Black"}

public Plugin:myinfo = 
{
	name = "QuickDefuse",
	author = "pRED*",
	description = "Let's CT's choose a wire for quick defusion",
	version = PLUGIN_VERSION,
	url = "http://www.sourcemod.net/"
};

public OnPluginStart()
{
	LoadTranslations("quickdefuse.phrases")
	
	CreateConVar("sm_quickdefuse_version", PLUGIN_VERSION, "Quick Defuse Version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY)

	HookEvent("bomb_begindefuse", Event_Defuse, EventHookMode_Post)
	HookEvent("bomb_beginplant", Event_Plant, EventHookMode_Post)
	HookEvent("bomb_planted", Event_Planted, EventHookMode_PostNoCopy)
	
	HookEvent("bomb_abortdefuse", Event_Abort, EventHookMode_Post)
	HookEvent("bomb_abortplant", Event_Abort, EventHookMode_Post)
	
	cvar_tchoice = CreateConVar("qd_tchoice", "1", "Sets whether Terrorists can select a wire colour (QuickDefuse)")
}

public Event_Plant(Handle:event, const String:name[], bool:dontBroadcast)
{
	new clientId = GetEventInt(event, "userid")
	new client = GetClientOfUserId(clientId)
	new String:textstring[128]
	
	wire = 0;
	//let the planter choose a wire
	
	if (GetConVarInt(cvar_tchoice))
	{	
		new Handle:panel = CreatePanel()
	
		Format(textstring, sizeof(textstring), "%t:", "Choose a Wire")
		SetPanelTitle(panel, textstring )
	
		DrawPanelText(panel, " ")
		
		Format(textstring, sizeof(textstring), "%t", "Choose a Wire1")
		DrawPanelText(panel, textstring)
		Format(textstring, sizeof(textstring), "%t", "Choose a Wire2")
		DrawPanelText(panel, textstring)
		
		DrawPanelText(panel, " ")
		
		Format(textstring, sizeof(textstring), "%t", wirecolours[0])
		DrawPanelItem(panel,textstring)
		Format(textstring, sizeof(textstring), "%t", wirecolours[1])
		DrawPanelItem(panel,textstring)
		Format(textstring, sizeof(textstring), "%t", wirecolours[2])
		DrawPanelItem(panel,textstring)
		Format(textstring, sizeof(textstring), "%t", wirecolours[3])
		DrawPanelItem(panel,textstring)
		Format(textstring, sizeof(textstring), "%t", wirecolours[4])
		DrawPanelItem(panel,textstring)
		
		
		DrawPanelText(panel, " ");
		Format(textstring, sizeof(textstring), "%t", "Exit")
		DrawPanelItem(panel, textstring)
		
		SendPanelToClient(panel, client, PanelPlant, 5)
			
		CloseHandle(panel)
	}
}

public Event_Planted(Handle:event, const String:name[], bool:dontBroadcast)
{
	if (wire == 0)
		wire = GetRandomInt(1,4)		
}


public Event_Defuse(Handle:event, const String:name[], bool:dontBroadcast)
{
	new clientId = GetEventInt(event, "userid")
	new client = GetClientOfUserId(clientId)
	new bool:kit = GetEventBool(event, "haskit")
	new String:textstring[128]
	
	//show a menu to the client offering a choice to pull/cut the wire
			
	new Handle:panel = CreatePanel()

	Format(textstring, sizeof(textstring), "%t:", "Choose a Wire")
	SetPanelTitle(panel, textstring )
	Format(textstring, sizeof(textstring), "%t", "Choose a Wire3")
	DrawPanelText(panel, textstring )

	DrawPanelText(panel, " ")
	
	
	Format(textstring, sizeof(textstring), "%t", "Choose a Wire4")
	DrawPanelText(panel, textstring )
	Format(textstring, sizeof(textstring), "%t", "Choose a Wire5")
	DrawPanelText(panel, textstring )
	
	
	/*if (!kit)
	{
		Format(textstring, sizeof(textstring), "%t", "No Kit1")
		DrawPanelText(panel, textstring )
		Format(textstring, sizeof(textstring), "%t", "No Kit2")
		DrawPanelText(panel, textstring )
	}*/
	

	DrawPanelText(panel, " ")
	
	Format(textstring, sizeof(textstring), "%t", "Blue")
	DrawPanelItem(panel,textstring)
	Format(textstring, sizeof(textstring), "%t", "Yellow")
	DrawPanelItem(panel,textstring)
	Format(textstring, sizeof(textstring), "%t", "Red")
	DrawPanelItem(panel,textstring)
	Format(textstring, sizeof(textstring), "%t", "Green")
	DrawPanelItem(panel,textstring)
	Format(textstring, sizeof(textstring), "%t", "Black")
	DrawPanelItem(panel,textstring)
	
	
	DrawPanelText(panel, " ")
	Format(textstring, sizeof(textstring), "%t", "Exit")
	DrawPanelItem(panel, textstring)
	
	if (kit)
		SendPanelToClient(panel, client, PanelDefuseKit, 5)
	else
		SendPanelToClient(panel, client, PanelNoKit, 5)
		
	CloseHandle(panel)
}

public PanelPlant(Handle:menu, MenuAction:action, param1, param2)
{
	if (action == MenuAction_Select && param2 > 0 && param2 < 6) //User selected a valid wire colour
	{
		wire = param2
		PrintToChat(param1,"\x04[\x03Бомба Дефуз\x04]\x01: %t %t %t","T Choosen1",wirecolours[param2-1],"T Choosen2")
	}
}

public PanelDefuseKit(Handle:menu, MenuAction:action, param1, param2)
{
	if (action == MenuAction_Select && param2 > 0 && param2 < 6) //User selected a valid wire colour
	{
		new bombent = FindEntityByClassname(-1,"planted_c4")
	
		if (bombent>0)
		{
			new String:name[32]
			GetClientName(param1,name,sizeof(name))
		
			if (param2 == wire)
			{
				SetEntPropFloat(bombent, Prop_Send, "m_flDefuseCountDown", 1.0)
				PrintToChatAll("\x04[\x03Бомба Дефуз\x04]\x01: \x04%s \x01%t %t %t",name,"CT Done1",wirecolours[param2-1],"CT Done2")
			}
			else
			{	
				SetEntPropFloat(bombent, Prop_Send, "m_flC4Blow", 1.0)
				PrintToChatAll("\x04[\x03Бомба Дефуз\x04]\x01: \x04%s \x01%t %t %t %t",name,"CT Fail1",wirecolours[param2-1],"CT Fail2",wirecolours[wire-1])
			}
		}
	}
}

public PanelNoKit(Handle:menu, MenuAction:action, param1, param2)
{
	if (action == MenuAction_Select && param2 > 0 && param2 < 6) //User selected a valid wire colour
	{
		new bombent = FindEntityByClassname(-1,"planted_c4")
	
		if (bombent>0)
		{
			new String:name[32]
			GetClientName(param1,name,sizeof(name))
			
			if (param2 == wire && GetRandomInt(0,1))
			{
				SetEntPropFloat(bombent, Prop_Send, "m_flDefuseCountDown", 1.0)
				PrintToChatAll("\x04[\x03Бомба Дефуз\x04]\x01: \x04%s \x01%t %t %t",name,"CT Done No Kit1","CT Done No Kit2",wirecolours[param2-1])
			}
			else
			{
				SetEntPropFloat(bombent, Prop_Send, "m_flC4Blow", 1.0)
				if (param2 != wire)
					PrintToChatAll("\x04[\x03Бомба Дефуз\x04]\x01: \x04%s \x01%t %t %t %t",name,"CT Fail No Kit1a",wirecolours[param2-1],"CT Fail No Kit2a",wirecolours[wire-1])
				else
					PrintToChatAll("\x04[\x03Бомба Дефуз\x04]\x01: \x04%s \x01%t %t %t!",name,"CT Fail No Kit1b",wirecolours[param2-1],"CT Fail No Kit2b")
			}
		}
	}
}



public Event_Abort(Handle:event, const String:name[], bool:dontBroadcast)
{
	new clientId = GetEventInt(event, "userid")
	new client = GetClientOfUserId(clientId)
	
	CancelClientMenu(client)
}

помогите... думаю скриптерам раз плюнуть это исправить...
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #57
Re: QuickDefuse v0.3

Vitaly Gromovoy 80781043, скорее всего превышен лимит символов и если это так - это не исправить.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: QuickDefuse v0.3

Vitaly Gromovoy 80781043, варианта 2:
1) Укоротить текст так, чтобы влезал самый длинный ник. Сколько не хватает - на столько русских букв и укорачиваем.
2) Дописать ещё 1 строчку PrintToChat с ещё одним переводом - будет с новой строчки, но писать можно даже больше.
Можно ещё попробовать ExtraPrintToChatAll, чтобы почти не менять код (вставляется лишь приставка Extra и её стоковая функция). В таком случае, длина текста будет не ограничена.
Лично я себе просто текст укоротил.
Оффтоп
 

radionucleid

Участник
Сообщения
139
Реакции
13
Re: QuickDefuse v0.3

C-подобный:
L 12/17/2014 - 11:44:29: SourceMod error session started
L 12/17/2014 - 11:44:29: Info (map "de_dust2") (file "errors_20141217.log")
L 12/17/2014 - 11:44:29: [SM] Native "SetEntPropFloat" reported: Entity -1 (-1) is invalid
L 12/17/2014 - 11:44:29: [SM] Displaying call stack trace for plugin "QuickDefuse.smx":
L 12/17/2014 - 11:44:29: [SM]   [0]  Line 159, D:\Server\Steampipe\css_public\cstrike\addons\sourcemod\scripting\QuickDefuse.sp::PanelNoKit()
L 12/17/2014 - 12:18:35: Error log file session closed.
 

Aleksandr123

Участник
Сообщения
1
Реакции
0
Re: QuickDefuse v0.3

Кто нибудь сделайте чтоб quick defuse чтоб когда выбираеш провод и в чате пишут вы выбрали синий провод чтоб цветными цвета были
 
Сверху Снизу