Значение цифр
| |
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_us weapon_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_, Цитата _wS_ ( ) По идее это два разных classname (оружия) Вот-вот , это как бы всё есть и даже лишнее с этими проклятущими LIVE. Уже голову сломал , что это может быть. Хотя есть мысля - из рук типа бросать -взять. Хотя Гранату то тоже из рук бросают , вообщем уже у самого голова кипит.да и еще когда вообще мало что знаешь ...
Цитата _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_, Цитата _wS_ ( ) наверно и в dods есть. Да есть https://forums.alliedmods.net/showthread.php?t=76442, я через него попробовал на сервере ошибку выдал. И там не было с этим *LIVE, при просмотре кода.
кстати судя по этому описанию , этого с 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 |
|
| |
|