Помогите доработать очень полезный плагин., Хотя бы частично, надо урезать Walkguard |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Помогите доработать очень полезный плагин., Хотя бы частично, надо урезать Walkguard |
wopox3 |
11.12.2013, 11:51
Сообщение
|
|
Здравствуйте! Имею одну идею, которая уже реализована неким SKAJIbnEJIb (платно - Balancing Map). И цена для этого плагина, для меня высока. Обидеть создателя этого плагина не хочу, поэтому за реализацию своих идей и чужие наработки - отвечаю. Делаю плагин лично для своего проекта.
Имею некоторые наработки, которые естественно сделаны "криво". Плагин работает и в таком виде, но имеет баги, связанные с методом его работы. За часть данных наработок нужно поблагодарить Internal. Доделать плагин он так и не смог, в связи с уходом в армию. Я попытался доделать, и понял, что имею не достаточно знаний в скриптинге, поэтому прибегаю к вашей помощи. Вот плагин, который я пытался сделать. Работает, но не совсем корректно. Если бы была возмжность поставить HIDE - я бы поставил. 2x2_mode v1.1 Код:
// Пытался доработать плагин - wopox Я думаю, сам метод работы с игроком не правильный. Перемещение на последнюю точку игрока вне заданной зоны. Весь вечер просидел, дабы разобрать код плагина WalkGuard v1.3.2. Так и не смог. Слишком он для меня "объёмный и не понятный". Так же в коде присутствуют комментарии, но они на не понятном для меня языке (пример: benцtigt fьr die Lininen) Взял именно этот плагин, потому что думаю, что нужен метод использующий SOLID_BBOX для блокирования игрока. И там этот метод используется, но я даже не смог найти толково, в какой части кода он задействован. WalkGuard v1.3.2 Скачать sma с AlliedMods Под спойлер код бы не поместился (1124 строчки) В этом плагине я увидел: ZM_BLOCK_ALL ZONE_MODE_BLOCKING wgz_block_all Помогите использовать другой метод, желательно с вырезом меню из WalkGuard. Думаю, наследовать мне стоит и этой темой - https://c-s.net.ua/forum/topic14773.html Хотел бы узнать ваше мнение. upd1: потихоньку расковыриваю walkguard. Пока что успешно. О дальнейших действиях сообщу в этой теме. upd2: покопавшись в 2-ух исходниках, понял, что лучше будет отредактировать уже готовый WalkGuard 1.3.2 Подскажите, как этот кусок кода: кусок кода из walkGuard Код:
заменить на примерно такой: Упрощённый WalkGuard Код:
Просто ведь, если убрать "лишнее" из WalkGuard - то получится достойная замена Balancing Map, и бесплатная. и еще добавить это: Подсчёт количества игроков каждый новый раунд Код:
Это так сказать набросок. И если знающие хоть немного лучше меня люди возьмутся за это, то думаю получится не плохая замена. Тоесть, сохранение позиций обьектов блокировки в файл + не надо ни каких спрайтов. Так же есть идея реализации, не пустого entity, а стекла (как в окне на de_nuke), но не разбиваемого, и убирать при некотором условии. |
|
|
smarty |
11.12.2013, 13:01
Сообщение
|
|
... Гугл отдал. Посмотри мб и полная.
Прикрепленные файлы:
|
|
|
exec1337 |
11.12.2013, 13:15
Сообщение
|
Обращаться к опытному скриптеру с приемлимыми ценами вы не хотите, так?
|
|
|
|
f1nik |
11.12.2013, 13:25
Сообщение
|
|
|
|
|
Safety1st |
11.12.2013, 13:35
Сообщение
|
И цена для этого плагина, для меня высока. Обидеть создателя этого плагина не хочу, поэтому за реализацию своих идей и чужие наработки - отвечаю. Делаю плагин лично для своего проекта. Гугл отдал. Посмотри мб и полная. Человек прямо сказал: купить возможности нет, нахаляву юзать не буду, так ему всё равно плагин пихают у скальпеля все плагины привязаны по net_adress что в принципе легко обходится но приносит кучу костылей в будущем! Не так уж и легко, если не знать кое-чего. А вообще зачем было вдаваться в детали ('легко')? У нас форум кулхацкеров? |
|
|
|
wopox3 |
11.12.2013, 22:11
Сообщение
|
|
Гугл отдал. Посмотри мб и полная. Извини, но вариант использования пиратской версии не подойдёт. Врядли этот плагин есть в паблике. Обращаться к опытному скриптеру с приемлимыми ценами вы не хотите, так? Есть такой вариант, но только если этот вариант меньше цены самого плагина, то есть - cost <500
Отредактировал: wopox3, - 11.12.2013, 22:29
|
|
|
wopox3 |
11.12.2013, 22:29
Сообщение
|
|
Человек прямо сказал: купить возможности нет, нахаляву юзать не буду, так ему всё равно плагин пихают Не так уж и легко, если не знать кое-чего. А вообще зачем было вдаваться в детали ('легко')? У нас форум кулхацкеров? Спасибо за поддержку, из последних новостей новичка (меня): Я смог поковырять код walkguard (далее WG), и обрезать (не до конца, мусор еще есть) то, что мне не нужно, при этом оставить нужную функцию создание entity, с изменением её типа в зависимости от условия. Пример куска кода: Код:
Конечно, там еще много нужно доработать, но я рад результатом работы!) Код написал именно так - специально. Может немного не правильно, но суть ясна. Кому нужно - подхватят. Из идей: хочу реализовать на проверку нахождения бомбы в зоне ентити, и при нахождении - либо передать игроку, либо блокировать, так же как и player, но я не знаю, как назвать бомбу, ентити бомбы. Я думаю, если поможете, то получится нужный плагин. Но как бы не обидеть SKAJIbneJIb.... тоесть этот продукт нельзя в паблик?
Отредактировал: wopox3, - 11.12.2013, 22:47
|
|
|
csnet |
11.12.2013, 22:50
Сообщение
|
// Is bomb dropped/carried?
if (fm_find_ent_by_class(-1, "weapon_c4")) // Is bomb dropped? new bomb = fm_find_ent_by_class(-1, "weapon_c4") if (bomb && pev(bomb, pev_owner) > get_maxplayers()) // Is bomb carried/who is the carrier? new carrier = 0, ownerent, bomb = fm_find_ent_by_class(-1, "weapon_c4") if (bomb && (ownerent = pev(bomb, pev_owner)) <= get_maxplayers()) carrier = ownerent if (carrier) // we have the carrier else // we do not have a carrier // Is given player has the bomb? if (user_has_weapon(id, CSW_C4)) // method #1 if (pev(id, pev_weapons) & (1<<CSW_C4)) // method #2 if (fm_find_ent_by_owner(-1, "weapon_c4", id)) // method #3 // How to transfer the bomb from one player to another? fm_transfer_user_gun(carrier, recipient, CSW_C4) // returns true on success // How to force a player to drop the bomb? engclient_cmd(id, "drop", "weapon_c4") // How to remove the dropped bomb? new weapbox, bomb = fm_find_ent_by_class(-1, "weapon_c4") if (bomb && (weapbox = pev(bomb, pev_owner)) > get_maxplayers()) { dllfunc(DLLFunc_Think, weapbox) // will remove weaponbox + weapon_c4 entity pair // remove blinking red bomb mark on the radar message_begin(MSG_ALL, get_user_msgid("BombPickup")) message_end() } // How to give the bomb to a player? fm_give_item(id, "weapon_c4") // use cs_set_user_plant(id) to allow planting // How to strip the bomb from a player? engclient_cmd(id, "weapon_c4") cs_set_user_bpammo(id, CSW_C4, 0) engclient_cmd(id, "lastinv") // remove bomb hud icon message_begin(MSG_ONE, get_user_msgid("StatusIcon"), _, id) write_byte(0) write_string("c4") message_end() // Is bomb planted/how to remove the planted bomb? new bomb if ((bomb = fm_find_ent_by_model(-1, "grenade", "models/w_c4.mdl"))) { // bomb is planted fm_remove_entity(bomb) // remove the planted bomb } go v cs:go
|
|
Поблагодарили 1 раз
|
|
Safety1st |
11.12.2013, 23:10
Сообщение
|
[quote name='wopox3' date='12.12.2013, 0:29' post='507152']Код:
Тут надо хитрее. Этот 'баг' ещё в BM есть. В начале карты игроки только собираются в 1-м раунде, 'шторка' закрыта, а народу много. Прикольно было бы сделать, чтобы она убиралась и после начала раунда. |
|
|
|
wopox3 |
11.12.2013, 23:19
Сообщение
|
|
... Thanks! Это несомненно мне поможет! Запихал весь его ко под спойлер, ради удобства. Работа с объектами fakemeta Код:
Отредактировал: wopox3, - 11.12.2013, 23:41
|
|
|
wopox3 |
11.12.2013, 23:33
Сообщение
|
|
Код:
Тут надо хитрее. Этот 'баг' ещё в BM есть. В начале карты игроки только собираются в 1-м раунде, 'шторка' закрыта, а народу много. Прикольно было бы сделать, чтобы она убиралась и после начала раунда. Если речь идёт о том, что надо сделать задержку перед подгрзкой зон для карты? там это уже сделанно, но маловато ;) Код: set_task(1.0, "LoadWGZ") переделать в Код: set_task(10.0, "LoadWGZ") не думаю, что это как то повредит работе, просто ведь будет подгружать зоны через 10 секунд, после смены карты. Кстати, еще надо продумать респауны, или слачаи, когда игрок находится в зоне (так же как и бомба)
Отредактировал: wopox3, - 11.12.2013, 23:35
|
|
|
exec1337 |
11.12.2013, 23:37
Сообщение
|
|
|
Safety1st |
11.12.2013, 23:37
Сообщение
|
Задержка не нужна, иначе игроки успеют убежать в зону, которая позже будет заблокирована. Просто хотя бы в putinserver проверять суммарное число игроков в тимах.
|
|
|
|
wopox3 |
11.12.2013, 23:50
Сообщение
|
|
Задержка не нужна, иначе игроки успеют убежать в зону, которая позже будет заблокирована. Просто хотя бы в putinserver проверять суммарное число игроков в тимах. Тоесть: Код:
Как то так я понимаю реализацию тобою написанного. Правильно мыслю? И, мне кажется, что реализовать функцию прямо по середине раунда - как то не правильно. Надо в начале раунда, а может просто после 1-го раунда исполнять? 1ый раунд то пусть побегают. Или до события начала игры? Принципе, 1 "тесный раунд" ничего плохого не сделает, с учётом того, как все любят 2х2 карты, я думаю если второй раунд начнётся как положено, то будет всё в порядке.
Отредактировал: wopox3, - 11.12.2013, 23:57
|
|
|
wopox3 |
12.12.2013, 12:45
Сообщение
|
|
Задержка не нужна, иначе игроки успеют убежать в зону, которая позже будет заблокирована. Просто хотя бы в putinserver проверять суммарное число игроков в тимах. Подскажи пожалуйста, правильно ли записывать код именно так? Код:
Правильно ли я ввёл условие? g_2x2mode_enable = false
Отредактировал: wopox3, - 12.12.2013, 12:46
|
|
|
wopox3 |
12.12.2013, 13:29
Сообщение
|
|
Задержка не нужна, иначе игроки успеют убежать в зону, которая позже будет заблокирована. Просто хотя бы в putinserver проверять суммарное число игроков в тимах. upd: разобрался :) Код: if (editorMode || (!g_2x2mode_enable)) |
|
|
Takashi Murakami |
12.12.2013, 13:47
Сообщение
|
В паблике есть данный плагин но без исходника. С бекдуром и редиректом на другие сервера правда. так что не качайте с файлообменников.
Например вот красавчик лежит: http://rghost.ru/39009294 С редиректом на сервер.
Отредактировал: Takashi Murakami, - 12.12.2013, 13:48
|
|
|
|
mazdan |
12.12.2013, 14:07
Сообщение
|
|
ой, я бы поучаствовал немного, но у меня мало времени и меня надо дёргать ТС если подергает то постараюсь помочь.
Я правда не могу пока что почитать подробно даже. может уже всё сделали =) Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
|
|
|
mysubcult |
12.12.2013, 14:23
Сообщение
|
А я вот к сожалению в этом 0, но плагин очень хотелось бы такой в бесплатном доступе увидеть, когда он будет готов, это возможно будет? Или тоже приватным будет?)
|
|
|
|
wopox3 |
12.12.2013, 15:55
Сообщение
|
|
ой, я бы поучаствовал немного, но у меня мало времени и меня надо дёргать ТС если подергает то постараюсь помочь. Я правда не могу пока что почитать подробно даже. может уже всё сделали =) На данный момент, я сделал проверку на количество человек в каждом раунде, и если количество <= заданного количества кваром - то плагин включает блокировку зон, иначе не трогает. Так то работает, осталось убрать ненужные функции, оставшиеся от WalkGuard, такие как разновидность зон, и их настройки. Так как сам я "очень даже начинающий" сделать сам этого не не могу, при попытке поубирать, плагин выдаёт ошибки при компиляции. Ну вообщем, осталось убрать лишнее, и возможно оптимизировать, а то я ж криворукий, ой, тоесть начинающий.) В Скором времени выложу "супеКод" сюда. Ребята, знающие уж всяко лучше меня, ПОМОГИТЕ - ОПТИМИЗИРУЙТЕ! без вас, это так и останется кривым кодом.... на вас надежда.... А я вот к сожалению в этом 0, но плагин очень хотелось бы такой в бесплатном доступе увидеть, когда он будет готов, это возможно будет? Или тоже приватным будет?) Он не будет приватным, по скольку за свои труды, хоть и большие для меня, но денег не возьму, ибо сам только учусь, и буду раз любой помощи! Да и идея не моя, и код, в большинстве - не мой, поэтому если я за это еще и цену буду просить - это будет кража...
Отредактировал: wopox3, - 12.12.2013, 15:56
|
Поблагодарили 1 раз
|
|