Значение цифр
| |
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" );
}
1 2 3 4 5 6 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 ,
WEAPON_AMERKNIFE = 1 ,
WEAPON_SPADE = 2 ,
WEAPON_COLT = 3 ,
WEAPON_P38 = 4 ,
WEAPON_C96 = 5 ,
WEAPON_GARAND = 6 ,
WEAPON_M1CARBINE = 7 ,
WEAPON_K98,
WEAPON_SPRING = 8 ,
WEAPON_K98_SCOPED = 9 ,
WEAPON_THOMPSON = 10 ,
WEAPON_MP40 = 11 ,
WEAPON_MP44 = 12 ,
WEAPON_BAR = 13 ,
WEAPON_30CAL = 14 ,
WEAPON_MG42 = 15 ,
WEAPON_BAZOOKA = 16 ,
WEAPON_PSCHRECK = 17 ,
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 ,
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 ,
} DODWeaponID;
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
Выбери что-то из середины, добавь бота, стрельни в него из нужного оружия и выведи в чат 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
1 2
Попробуй выдать через GivePlayerItem, может удастся увидеть отличия. Еще вроде есть .txt файлы
"scripts/weapon_frag_us.txt"
"scripts/weapon_frag_us_live.txt"
1 2
|
|
| |
www22
|
Дата: Четверг, 11.10.2018, 08:38:49 | Сообщение # 7 |
|
Сообщений: 84
Репутация: -1 [ +/- ]
|
|
Сообщение отредактировал 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;
}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
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 |
|
| |
|