Поиск Исходники NRS: Last Stand/NRS

Сообщения
13
Реакции
-6
Всем привет!
У кого-нибудь сохранились какие-либо исходники мода для cs 1.6 под названием NRS: Last Stand (или просто NRS). Находил кучу .sma файлов от сей модификации, однако одного нигде не находил: это файл nrs_main.sma . Может он есть у кого-нибудь из вас?
 
Сообщения
133
Реакции
154
Мне удалось связаться с Good_Hash'eм (создателем NRS), пишет, что на основном диске у него не сохранилось ничего, посмотрит в других местах. Если будет что - скину. А пока, как говориться, ждем-с
 

iPlague

♿️
Сообщения
230
Реакции
130
Помог
2 раз(а)
Islingiton_G, привет! очень давно у Good_Hash был сервер вармод, я играл на нём до самого закрытия, собственно из-за его сервера и начал изучать amxx и свой сервер сделал. Пытался связаться с ним через скайп, но он туда уже не заходит. Как тебе удалось с ним связаться?
1636992379660.png
 
Сообщения
133
Реакции
154
iPlague, ух, это долгая история: я искал по куче форумов пока случайно не наткнулся на заявку в турнир по дота2, ещё 2к15го года, одним из участников был указан игрок под ником Good_Hash. Связался с капитаном команды, он меня с ним собственно и связал. А скайп... он же ещё в 2к13м на zombie-mod.ru писал, что скайп тот (полагаю, good_hash_nash) не активен, но новый так и не залил.
 

iPlague

♿️
Сообщения
230
Реакции
130
Помог
2 раз(а)
Islingiton_G, можешь в лс или скрытом содержимом дать контакт?
 
Сообщения
133
Реакции
154
iPlague, для начала мне надо спросить разрешение самого Good_Hash'a. Согласись, свалился я ему как снег на голову да и контакт ещё распространяю (сволочь эдакая!). Не очень вежливо получается. Так что, как мне тебя ему представить? "Кто спрашивает-то?(с)
 
Сообщения
133
Реакции
154
PS кому интересно: у меня есть исходный код всех частей NRS-а, кроме nrs_main.sma (самый блин главный файл ), понадобятся - пишите) а если у кого main есть - так вообще сказка)
 
Сообщения
133
Реакции
154
BalbuR, 4.3 вроде бы была последней, но не уверен. Автор писал о разработке NRS: Last Stand и что-то про новую ветвь NRS-а, new generation она чтоль называлась (запамятствовал, увы) Что касается Lysis-a, протащить-то можно, только фигли толку: слишком много надо додумывать. Использовать Lysis есть смысл, чтобы понять, как всё хотя бы примерно работает (и посмотреть названия функций). Благодаря лизису кстати используемую навигацию я нашёл (по крайней мере очень похожа) , её прикладываю. (больше для себя, чтобы по басурманским форумам опять не бегать)

Код:
stock A_star_pathfinder(ent, Float:ent_origin[3], Float:End_Origin[3], Float:End_Way[][3])
{
static i, checked = 0, Float:extra = 0.1, cost[8], diff[8], bool:finished = false, best_diff = 669999,
    best_way = 0, Float:Created_Way[max_way_points][3], Float:Explore_Origin[8][3],
    Float:Got_Origin[8][3], Float:Start_Search_From_Here[3]

    Start_Search_From_Here = ent_origin

    if(vector_distance(ent_origin, End_Origin) <= 150.0)
{
        g_way_counter[ent] = 1
        End_Way[0] = End_Origin

        return
}

    static bool:Broken_Point[8]

    while(!finished || checked >= (max_way_points - 1))
{
        best_diff = 669999

        Explore_Origin[0][0] = 300.0 * extra
        Explore_Origin[0][1] = 0.0
        Explore_Origin[0][2] = 0.0

        Explore_Origin[1][0] = 150.0 * extra
        Explore_Origin[1][1] = 150.0 * extra
        Explore_Origin[1][2] = 0.0

        Explore_Origin[2][0] = 0.0
        Explore_Origin[2][1] = 300.0 * extra
        Explore_Origin[2][2] = 0.0

        Explore_Origin[3][0] = -150.0 * extra
        Explore_Origin[3][1] = -300.0 * extra
        Explore_Origin[3][2] = 0.0

        Explore_Origin[4][0] = -300.0 * extra
        Explore_Origin[4][1] = 0.0
        Explore_Origin[4][2] = 0.0

        Explore_Origin[5][0] = -150.0 * extra
        Explore_Origin[5][1] = -150.0 * extra
        Explore_Origin[5][2] = 0.0

        Explore_Origin[6][0] = 0.0
        Explore_Origin[6][1] = -150.0 * extra
        Explore_Origin[6][2] = 0.0

        Explore_Origin[7][0] = 150.0 * extra
        Explore_Origin[7][1] = -150.0 * extra
        Explore_Origin[7][2] = 0.0

        for(i = 0; i < sizeof(Explore_Origin); i++)
{
            checked++

            Got_Origin[i] = Start_Search_From_Here
            Got_Origin[i][0] += Explore_Origin[i][0]
            Got_Origin[i][1] += Explore_Origin[i][1]
            Got_Origin[i][2] += Explore_Origin[i][2]

            Broken_Point[i] = false

            if (is_outside_map(Got_Origin[i]))
{
                cost[i] = 10500;
                Broken_Point[i] = true
            }

            if (i == 0 || i == 2 || i == 4 || i == 6)
{
                cost[i] += 10
            } else {
                cost[i] += 14
            }

            diff[i] = floatround(vector_distance(Got_Origin[i], End_Origin)) + (cost[i] + i)

            if(vector_distance(Got_Origin[i], End_Origin) <= 150.0 * extra)
{
                finished = true
            }
}

        for(i = 0; i < sizeof(Explore_Origin); i++)
{
            if ( best_diff >= diff[i]  )
{
                if ( !Broken_Point[i] )
{
                    best_diff = diff[i]
                    best_way = i;
}
}
}

        Start_Search_From_Here = Got_Origin[best_way]
        new Float:got_dist = vector_distance(Start_Search_From_Here, End_Origin)

        if ( g_way_counter[ent] >= (max_way_points - 1) || got_dist <= 150.0 * extra)
{
            for(i = 0; i < g_way_counter[ent]; i++)
{
                End_Way[i] = Created_Way[g_way_counter[ent] - i]
                bomb_led(End_Way[i])
}

            finished = true

            return;
}
else
{
            g_way_counter[ent] += 1
            Created_Way[g_way_counter[ent]] = Got_Origin[best_way]
}

}

    for(i = 0; i < g_way_counter[ent]; i++)
{
        End_Way[i] = Created_Way[g_way_counter[ent]-i]
        bomb_led(End_Way[i])
}
}


stock bomb_led(const Float:point[3])
{
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
    write_byte(TE_GLOWSPRITE)
    engfunc(EngFunc_WriteCoord, point[0])
    engfunc(EngFunc_WriteCoord, point[1])
    engfunc(EngFunc_WriteCoord, point[2])
    write_short(spr_bomb)
    write_byte(10)
    write_byte(3)
    write_byte(255)
    message_end()
}

stock Search_Way(ent, Float:target[3])
{
    static Float:npc_origin[3]

    g_way_counter[ent] = 0
    pev(ent, pev_origin, npc_origin)
    A_star_pathfinder(ent, npc_origin, target, point)

    if ( g_way_counter[ent] < 1 )
return

    g_way_point[ent] = point[0]
    g_way_point_index[ent] = 1
}

stock is_outside_map(Float:Origin[3]) return (engfunc(EngFunc_PointContents, Origin) == CONTENTS_SOLID)
 
Последнее редактирование:
Сообщения
133
Реакции
154
Прикрепляю по заявкам трудящихся все имеющиеся у меня файлы по NRS (если какие-то карты не стартуют - на меня не серчайте. Скидываю что есть, nrs_main тут нет!!!), ссылка на файлообменник, ибо архив весит 180Мб и для обычного прикрепления тяжеловат. А, ну и бонус: там ещё исходники некоторых боссов, не связанных с NRS (хотя их интеграцию когда-то видел)

Ссылка: https://wdfiles.ru/6539af
 
Последнее редактирование:
Сообщения
833
Реакции
516
Помог
12 раз(а)
Islingiton_G,
по огрызку кода мало конечно что понятно, разве что основан на коде BlackRose'а
а точки для навигации используются в этом коде?
 
Сообщения
833
Реакции
516
Помог
12 раз(а)
в общем как-то криво декомпильнуло, целостности кода нет
исходя из fw_think, как там вообще нцп перемещает и какую функцию для этого использует

Скрытое содержимое для пользователей: Islingiton_G
 
Сообщения
133
Реакции
154
Islingiton_G,
основан на коде BlackRose'а
Поспешу не согласиться. Свой код Black Rose выложил в 14м году, когда приложенный опубликовали в 12м году (тут http://gamevn.com/threads/amx-tong-hop-code-plug-do-mem-che-hoac-gioi-thieu.776103/page-158). Да и гораздо сложнее (хоть при этом он может строить пути на большие расстояния) блэкроузов код. Приложенная версия требует доработки (хотя и минимальной): у нас есть координаты точек пути, надо просто заставлять NPC идти до этих точек; если интересно про сам алгоритм поподробнее почитать, вот тут неплохо расписано:

1) https://www.redblobgames.com/pathfinding/a-star/introduction.html
2) https://ru.wikipedia.org/wiki/A*

Я, честно признаться, не вижу особого смыла декомпилировать имеющийся main. Лучше посмотреть основные принципы работы плагина-модуля и сделать свой, с блэкджеком и куртизанками (в космосе разумеется) ) (чем кстати я сейчас и занимаюсь) - сделать это гораздо проще, чем додумывать за аффтором и декомпилятором. (да и некоторые моменты самого нрс-а мне не очень нравятся. Например, совместимость только с CS.
 
Последнее редактирование:
Сообщения
133
Реакции
154
BalbuR, Автор писал о разработке NRS: Last Stand и что-то про новую ветвь NRS-а, new generation она чтоль называлась (запамятствовал, увы)
Вспомнил ёпть! NRS: PRO оно называется. Хотя автор его вроде как не выложил...




 
Сообщения
133
Реакции
154
Алексеич, и что ты тогда предлагаешь?
1) искать данный плагин (конкретно данную версию) - геморно, особенно при учете того, что единственный ресурс, на котором он выложен, ещё менее стабилен, чем ядерный реактор под присмотром цыганского табора
2) выложен для более удобного доступа и (кому надо) декомпиляции. + как дополнение к одному из предыдущих моих тут сообщений.
3) его исходы как раз и ищем (да и для простого пользования кому пригодиться может)
 
Последнее редактирование:
Сообщения
3,010
Реакции
1,730
Помог
79 раз(а)
Islingiton_G, предлагаю не распространять плагины без исходников, не давать ссылки, так как они могут быть уязвимы.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу