Русское сообщество по скриптингу

[2018] LaserMine  [Выполнено]

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
6. Запрещено нарушение авторских прав.

В данном разделе форума разрешено создавать темы только с продажей сборки сервера или того или иного плагина.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Re: LaserMine 2018

Сообщение NightFury » 11 фев 2018, 06:49

_asd писал(а):NightFury, какие особенности мин? Из-за того что написано ReApi то они 500р стоят?

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>
Все написано на одном синке (без синка игрока), луч создается один раз и больше не трогается, дамаг наносит всем игрокам (даже если несколько игроков), в других минах сделан костыль (каждый раз новый луч по трейсу)... нельзя ставить на двери, предметы которые можно двигать(лифт, бочка), обьекты которые могут сломать, мина не активируется если игрок мешает (так сказать в мине), своя модель с боди(на 2 лвл мина меняется)

есть настройки:
#define LASER_TIME_DATA 0.1 // Время обновления информации о мине
#define LASER_HEALTH 500.0 // Здоровье мины
#define LASER_HEALTH_LEVEL 300.0 // Добавление HP на 2 уровне
#define LASER_REWARD 1200 // Награда за убийства мины
#define LASER_MAX 3 // Максимальное количество мин у игрока
#define LASER_DISTANCE_INFO 500.0 // Дистанция показа информации мины
#define LASER_PRICE 1500 // Цена мины
#define LASER_PRICE_LEVEL 1000 // Цена на улучшения до 2 уровня
#define LASER_MODEL "models/406/lasermine.mdl" // Модель мины
#define LASER_EXPLOS "sprites/zerogxplode.spr" // Спрайт взрыва
#define LASER_REWARD_ATTACKER 150 // Награда за убийство миной
#define LASER_REWARD_ATTACKER_LEVEL 150 // Награда игроку за мину 2 уровня
#define LASER_DAMAGE 10.0 // Урон мины 1 уровня
#define LASER_DAMAGE_LEVEL 20.0 // Урон мины 2 уровня
весь код уложен на 360 строк
для REHLDS надо переделать певы на ентвар
Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
Аватара пользователя
NightFury
 
Сообщения: 85
Зарегистрирован: 10 авг 2016, 12:22
Благодарил (а): 8 раз.
Поблагодарили: 24 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, C, C++

Re: LaserMine 2018

Сообщение Subb98 » 11 фев 2018, 07:38

NightFury писал(а):#include <reapi>

NightFury писал(а):для REHLDS надо переделать певы на ентвар

Не для ReHLDS, а для Reapi. Вы итак его используете, почему изначально не сделали?

NightFury писал(а):нельзя ставить на двери, предметы которые можно двигать

Скорее, минус, чем плюс, ИМХО. Например, в Half-Life 1 на карте frenzy эти мины любят прятать внутрь автоматической двери. Мину никак не видно снаружи и бегущий к двери игрок успешно подрывается на ней, ни о чём не подозревая.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: LaserMine 2018

Сообщение NightFury » 11 фев 2018, 13:37

Subb98 писал(а):
NightFury писал(а):#include <reapi>

NightFury писал(а):для REHLDS надо переделать певы на ентвар

Не для ReHLDS, а для Reapi. Вы итак его используете, почему изначально не сделали?

NightFury писал(а):нельзя ставить на двери, предметы которые можно двигать

Скорее, минус, чем плюс, ИМХО. Например, в Half-Life 1 на карте frenzy эти мины любят прятать внутрь автоматической двери. Мину никак не видно снаружи и бегущий к двери игрок успешно подрывается на ней, ни о чём не подозревая.

Я использую HLDS регейм и реапи, так что мне не нужны нативы под REHLDS

Для меня это минус тк таким образом можно заблокировать проход
Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
Аватара пользователя
NightFury
 
Сообщения: 85
Зарегистрирован: 10 авг 2016, 12:22
Благодарил (а): 8 раз.
Поблагодарили: 24 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, C, C++

Re: LaserMine 2018

Сообщение Subb98 » 11 фев 2018, 13:53

NightFury писал(а):Я использую HLDS регейм и реапи, так что мне не нужны нативы под REHLDS

Какое отношение имеют нативы Reapi (которые дёргают методы ReGameDLL_CS) к ReHLDS? Вы используете HLDS, но плагин вы продаёте, а не используете только для себя. Стоит, наверное, подумать и о потенциальных покупателях тоже, в таком случае?
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: LaserMine 2018

Сообщение NightFury » 11 фев 2018, 15:29

Subb98 писал(а):
NightFury писал(а):Я использую HLDS регейм и реапи, так что мне не нужны нативы под REHLDS

Какое отношение имеют нативы Reapi (которые дёргают методы ReGameDLL_CS) к ReHLDS? Вы используете HLDS, но плагин вы продаёте, а не используете только для себя. Стоит, наверное, подумать и о потенциальных покупателях тоже, в таком случае?

Минимальные требования амх 1.8.3, реапи я могу вырезать по требованию

Добавлено спустя 58 минут 35 секунд:
Для тех кто не в курсе
#include <reapi_engine> // @note: only for ReHLDS
#include <reapi_gamedll> // @note: only for gamedll Counter-Strike (ReGameDLL_CS)
Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
Аватара пользователя
NightFury
 
Сообщения: 85
Зарегистрирован: 10 авг 2016, 12:22
Благодарил (а): 8 раз.
Поблагодарили: 24 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, C, C++

Re: LaserMine 2018

Сообщение Subb98 » 11 фев 2018, 18:00

NightFury писал(а):Для тех кто не в курсе
#include <reapi_engine> // @note: only for ReHLDS
#include <reapi_gamedll> // @note: only for gamedll Counter-Strike (ReGameDLL_CS)

А, понятно теперь. То есть, ни код смотреть, ни тестировать, увидев такой комментарий, мы уже не будем? Ну ОК, на днях потестирую самостоятельно.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: LaserMine 2018

Сообщение NightFury » 11 фев 2018, 20:00

Subb98 писал(а):
NightFury писал(а):Для тех кто не в курсе
#include <reapi_engine> // @note: only for ReHLDS
#include <reapi_gamedll> // @note: only for gamedll Counter-Strike (ReGameDLL_CS)

А, понятно теперь. То есть, ни код смотреть, ни тестировать, увидев такой комментарий, мы уже не будем? Ну ОК, на днях потестирую самостоятельно.

В моем плагине используется пару натив из reapi_gamedll и set/get_member, достаточно просто установить регеймс для обычного хлдс и реапи.
На рехлдс использовала set_pev/pev нативы из fakemeta работало нормально, так что плагин должен подойти и для рехлдс.
Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
Аватара пользователя
NightFury
 
Сообщения: 85
Зарегистрирован: 10 авг 2016, 12:22
Благодарил (а): 8 раз.
Поблагодарили: 24 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, C, C++

Re: LaserMine 2018

Сообщение Subb98 » 12 фев 2018, 08:53

NightFury писал(а):На рехлдс использовала set_pev/pev нативы из fakemeta работало нормально, так что плагин должен подойти и для рехлдс.

Собственно, я об этом и говорю. Я не думаю, что set/get_member не будут работать на HLDS (должна быть обратная совместимость). Хочу проверить. Комментарий этот я прежде не видел, предполагаю, он может относиться к конкретным нативам из этого инклуда.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: LaserMine 2018 [350р.]  [Выполнено]

Сообщение NightFury » 16 фев 2018, 16:39

Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
Аватара пользователя
NightFury
 
Сообщения: 85
Зарегистрирован: 10 авг 2016, 12:22
Благодарил (а): 8 раз.
Поблагодарили: 24 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn, C, C++

Re: [2018] LaserMine

Сообщение Podarok » 11 мар 2018, 06:15

Код: Выделить всё
while(is_entity(victim))
    {
        engfunc(EngFunc_TraceLine, vOrigin, vAngle, DONT_IGNORE_MONSTERS, victim, 0)
        get_tr2(0, TR_vecEndPos, vOrigin)
        victim = get_tr2(0, TR_pHit)
        if(is_user_alive(victim) && get_member(victim, m_iTeam) != get_laser_team(entity) && pev(victim, pev_takedamage) != DAMAGE_NO && pev(victim, pev_solid) != SOLID_NOT)
        {
            engfunc(EngFunc_EmitSound, victim, CHAN_WEAPON, g_Sound[3], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
            ExecuteHamB(Ham_TakeDamage, victim, entity, get_laser_user_id(entity), g_Damage[is_user(get_laser_user_level_id(entity))], DMG_ENERGYBEAM)
        }
    }


Это заставляет сервер зависать, создает бесконечную петлю. Если установить так парочку мин и встать в них, то сервер упадёт!

Так же хочу дополнить, что мины не работают, если поставить на их пути какой нибудь объект, скажем, хил машину или пушку сентри.. (traceline проблемы)
Аватара пользователя
Podarok
 
Сообщения: 10
Зарегистрирован: 26 фев 2014, 02:40
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Пред.

Вернуться в Продажа сборок / плагинов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6