| 
 
 
	
		
		
			| Значение цифр |  |  |  | 
| www22 | Дата: Среда, 10.10.2018, 16:33:48 | Сообщение # 1 |  |   
|  |  | Сообщений: 84 Репутация: -1 [ +/- ]
 |  | Здравствуйте , есть вопрос , есть у меня вот такой код :
 Цитата  if (GetConVarInt(Cvar_rules_mg_Enable) == 1){
 new weapon_pos = GetEventInt(event, "weapon")
 
 switch (weapon_pos)
 {
 case 35,36:   <---------------- значение данный цифр
 {
 new health[MAXPLAYERS + 1]
 health[client] = GetClientHealth(client)
 if (health[client] > 5)
 {
 health[client] = health[client] - 5
 SetEntityHealth(client, health[client])
 PrintToChat(client, "\x01\x04[Action]\x01 The jerking of your MG has caused you to hurt your arms because you had not deployed it before firing!")
 }
 else
 {
 ForcePlayerSuicide(client)
 }
 }
 }
Так не могу понять откуда брать значения этих цифр . что они означают ?
 Где можно найти такую инфу ?
 А то уже даже и незнаю куда копать с данным вопросом и вообще что это за значение - что они означают.
 P.s. Данный код возможно неправильный , это только пример ..
 
 
 Сообщение отредактировал www22 - Понедельник, 10.05.2021, 18:02:03 |  |  |  |  |  | 
| _wS_ | Дата: Среда, 10.10.2018, 18:57:27 | Сообщение # 2 |  |   | Цитата www22 (  )  Так не могу понять откуда брать значения этих цифр . что они означают ?Ну достаточно почитать как работает switch и case.
 
 
 Код new x = 5;switch (x)
 {
 case 2: PrintToServer("it's 2");
 case 4, 5, 7: PrintToServer("ok, it's 4 or 5 or 7");
 default: PrintToServer("error, it's not 2, not 4, not 5 and not 7");
 }
В case можно использовать лишь цифры, если несколько, то через запятую.
 Переменные и условия нельзя.
 
 
 Цитата www22 (  )  new weapon_pos = GetEventInt(event, "weapon")Это что-то сомнительное, обычно "weapon" это строка типа "awp".
 |  |  |  |  |  | 
| www22 | Дата: Среда, 10.10.2018, 20:00:26 | Сообщение # 3 |  |   
|  |  | Сообщений: 84 Репутация: -1 [ +/- ]
 |  | _wS_, не не , мне интересует немного другое , что означает , если на примере то 35 и 36 цифры , что это за действие оружие . или что это вообще ?Я в этом плане .. Где взять такую инфу ?
 То есть я как понял , то это типа действия , но вот в моем коде оно ввиде цифр ,а мне нужен как бы текст= значение. то есть такого Плана
 1=хэдшот, 35-пулик 2 команды , 36 пулик другой команды . Вообщем значение всех таких действий бы узнать, точнее к какой из циферке что относится ?
 А не сам операнд case, то есть чуток посложнее наверное. Есть вообще такое, или же самому тогда узнавать методом тыка :)))
 
 Или как тогда добавить логирование , этих строк и цифр .. может методом тыка узнать тогда можно ..
 Вообщем вот здесь код https://pastebin.com/nJ28yu5D , вот в этот скрипт я хотел бы еще добавить парочку тройку через кэйс условий ..
 Но вот какие я не знаю.Может , так будет понятно что нужно.
 p.s. сложно объяснить когда мало в этом разбираешься.
 
 
 Сообщение отредактировал www22 - Среда, 10.10.2018, 21:34:53 |  |  |  |  |  | 
| _wS_ | Дата: Среда, 10.10.2018, 20:36:42 | Сообщение # 4 |  |   | Теперь понятно, нашёл в исхах dod, пробуй:
 
 Код typedef enum{
 WEAPON_NONE = 0,
 
 //Melee
 WEAPON_AMERKNIFE = 1,
 WEAPON_SPADE = 2,
 
 //Pistols
 WEAPON_COLT = 3,
 WEAPON_P38 = 4,
 WEAPON_C96 = 5,
 
 //Rifles
 WEAPON_GARAND = 6,
 WEAPON_M1CARBINE = 7,
 WEAPON_K98,
 
 //Sniper Rifles
 WEAPON_SPRING = 8,
 WEAPON_K98_SCOPED = 9,
 
 //SMG
 WEAPON_THOMPSON = 10,
 WEAPON_MP40 = 11,
 WEAPON_MP44 = 12,
 WEAPON_BAR = 13,
 
 //Machine guns
 WEAPON_30CAL = 14,
 WEAPON_MG42 = 15,
 
 //Rocket weapons
 WEAPON_BAZOOKA = 16,
 WEAPON_PSCHRECK = 17,
 
 //Grenades
 WEAPON_FRAG_US = 18,
 WEAPON_FRAG_GER = 19,
 
 WEAPON_FRAG_US_LIVE = 20,
 WEAPON_FRAG_GER_LIVE = 21,
 
 WEAPON_SMOKE_US = 22,
 WEAPON_SMOKE_GER = 23,
 
 WEAPON_RIFLEGREN_US = 24,
 WEAPON_RIFLEGREN_GER = 25,
 
 WEAPON_RIFLEGREN_US_LIVE = 26,
 WEAPON_RIFLEGREN_GER_LIVE = 27,
 
 // not actually separate weapons, but defines used in stats recording
 // find a better way to do this without polluting the list of actual weapons.
 WEAPON_THOMPSON_PUNCH = 28,
 WEAPON_MP40_PUNCH = 29,
 
 WEAPON_GARAND_ZOOMED = 30,
 WEAPON_K98_ZOOMED = 31,
 WEAPON_SPRING_ZOOMED = 32,
 WEAPON_K98_SCOPED_ZOOMED = 33,
 
 WEAPON_30CAL_UNDEPLOYED = 34,
 WEAPON_MG42_UNDEPLOYED = 35,
 
 WEAPON_BAR_SEMIAUTO = 36,
 WEAPON_MP44_SEMIAUTO = 37,
 
 WEAPON_MAX = 38,  // number of weapons weapon index
 
 } DODWeaponID;
Выбери что-то из середины, добавь бота, стрельни в него из нужного оружия и выведи в чат weaponid и проверь совпал
 ли он с значением из этого списка, если да, то здесь скорее всего верные данные.
 |  |  |  |  |  | 
| www22 | Дата: Среда, 10.10.2018, 21:25:47 | Сообщение # 5 |  |   
|  |  | Сообщений: 84 Репутация: -1 [ +/- ]
 |  | _wS_, Спасибо ... я думал может это стадартное из соурсмода самого. Хотел уже логирование сделать и проверять так.
 С ботами в ДОДс плохо .. они там тупые и просто бегают ..Цитата _wS_ (  )  добавь бота
 Что то понять не могу , что может означать добавка _LIVE к 20,21,26,27.
 Еще раз Спасибо !!
 
 Добавлено (10.10.2018, 23:27:59)
 ---------------------------------------------
 
 Цитата _wS_ (  )  В case можно использовать лишь цифры, если несколько, то через запятую.да тут немного вопрос не по теме , больше об скриптинге , а если подряд цифры идут , такой вариант можно использовать : case (21-26) ?
 или же тире-минус = минус ,и всё равно нужно все перечислить , через запятую тогда ?
 p.s. В скриптинге пока что нуб , учусь ...
 
 
 Сообщение отредактировал www22 - Среда, 10.10.2018, 23:30:46 |  |  |  |  |  | 
| _wS_ | Дата: Среда, 10.10.2018, 23:34:50 | Сообщение # 6 |  |   | Цитата www22 (  )  Что то понять не могу , что может означать добавка _LIVE к 20,21,26,27.Я тем более не знаю, никогда не играл в dods, хотя раз может пробовал.
 По идее это два разных classname (оружия)
 
 
 Код weapon_frag_usweapon_frag_us_live
Попробуй выдать через GivePlayerItem, может удастся увидеть отличия.
 Еще вроде есть .txt файлы
 
 
 Код "scripts/weapon_frag_us.txt""scripts/weapon_frag_us_live.txt"
 |  |  |  |  |  | 
| www22 | Дата: Четверг, 11.10.2018, 08:38:49 | Сообщение # 7 |  |   
|  |  | Сообщений: 84 Репутация: -1 [ +/- ]
 |  | _wS_, Вот-вот , это как бы всё есть и даже лишнее с этими проклятущими LIVE. Уже голову сломал , что это может быть. Хотя есть мысля - из рук типа бросать -взять. Хотя Гранату то тоже из рук бросают , вообщем уже у самого голова кипит.да и еще когда вообще мало что знаешь ...Цитата _wS_ (  )  По идее это два разных classname (оружия)
 
 Цитата _wS_ (  )  Попробуй выдать через GivePlayerItem, может удастся увидеть отличия.Сам вряд ли смогу написать , если найти исходник уже с похожей функцией, и там исправить на нужное и проверить.
 Что то никак пока не получается с "нуля" написать плагины , пока ка что только простенькие вещи
    . А так спасибо за наводку ...
 
 
 Сообщение отредактировал www22 - Четверг, 11.10.2018, 08:47:22 |  |  |  |  |  | 
| _wS_ | Дата: Четверг, 11.10.2018, 09:14:23 | Сообщение # 8 |  |   | В css и csgo есть команда give, наверно и в dods есть.sv_cheats 1 (server.cfg или rcon), затем рождаешься и пишешь в консоль give weapon_frag_us и должно выдать оружие.
 
 Плаг простой:
 
 
 Код #include <sdktools_functions>public OnPluginStart() RegConsoleCmd("test", test_cmd);
 public Action:test_cmd(client, args)
 {
 if (client < 1) PrintToConsole(client, "You must be online");
 else if (args != 1) PrintToChat(client, "test \"weapon classname\"");
 else if (!IsPlayerAlive(client)) PrintToChat(client, "You must be alive");
 else
 {
 decl String:weapon[32];
 GetCmdArg(1, weapon, sizeof(weapon));
 if (TrimString(weapon))
 GivePlayerItem(client, weapon);
 }
 return Plugin_Handled;
 }
test weapon_frag_us
 
 | Гости не могут скачивать файлы | 
 |  |  |  |  |  | 
| www22 | Дата: Четверг, 11.10.2018, 09:33:30 | Сообщение # 9 |  |   
|  |  | Сообщений: 84 Репутация: -1 [ +/- ]
 |  | _wS_, Да есть https://forums.alliedmods.net/showthread.php?t=76442, я через него попробовал на сервере ошибку выдал. И там не было с этим *LIVE, при просмотре кода.Цитата _wS_ (  )  наверно и в dods есть.
 кстати судя по этому описанию , этого с LIVE и нет там https://wiki.alliedmods.net/Day_of_Defeat:_Source_Weapons ..
 если только тхт попробовать вписать.
 Ничего не стал делать , пошел по простому пути , через консоль игры и give weapon_*_*_live , всё заработало.
 Уппс , только недавно заметил , что вы тоже этот вариант предложили . А так осталось понять стоит ли все эти c *LIVE отлавливать.
 А так это типа - ты не успел откинуть подобранную обычную и винтовочную гранату . Вообщем типа самоубийства от гранат наверное так.
 Вот видео - https://youtu.be/pjt8BccfX3k ..
 
 Спасибо , тему наверное можно закрыть .. Особенно Спасибо за предоставленные циферки и значение их .
 
 Добавлено (13.10.2018, 16:13:23)
 ---------------------------------------------
 
 Цитата _wS_ (  )   WEAPON_K98,да кстати ты тут циферку забыл , а то хотел по твоему коду проверить что и как, пришлось самому расписывать заново в свой файлик :))
 _wS_,
 У меня вопросик не по теме больше к урокам или помощи относится .
 Так вот у меня в плагине используется тоже
 Цитата _wS_ (  )  RegConsoleCmd("test", test_cmd);Так вопрос в чем , если я использую к примеру Hookevent вместо RegConsoleCmd , то тогда будет такой код чтоль :
 HookEvent("test", test_cmd) ?
 А то хотел объединить 2 плагина в 1 . Но это RegConsoleCmd , меня путает немного ..
 
 
 Сообщение отредактировал www22 - Суббота, 13.10.2018, 16:26:54 |  |  |  |  |  | 
| _wS_ | Дата: Суббота, 13.10.2018, 18:43:56 | Сообщение # 10 |  |   |  |  |  |  |  |  | 
| www22 | Дата: Пятница, 26.04.2019, 13:03:56 | Сообщение # 11 |  |   
|  |  | Сообщений: 84 Репутация: -1 [ +/- ]
 |  | Привет , кстати у меня возник вопрос , интересно как прорисовать картинку в панель , мож HUD это, вообщем незнаю что именно это , вот здесь http://prntscr.com/nh5m4l ?Или же просто заменить как на скриншоте , картинку одну на другую через плагин.
 p.s. а то вон сделали что то похожее ввиде плагина, и интересно стало тоже, как это делается через плагин.
 
 Всё вроде понял как, спасибо за ссыль из Сообщение # 4 . вопрос закрыт.
 
 
 Сообщение отредактировал www22 - Суббота, 27.04.2019, 21:10:36 |  |  |  |  |  
 |