The New Future :: FOnline, Half-life 2 :: Roleplay It!  

Вернуться   The New Future :: FOnline, Half-life 2 :: Roleplay It! > Прочее > FOmod > Учебка

Учебка Обучающие материалы.

Ответ
 
Опции темы Опции просмотра
Старый 16.02.2014, 20:24   #1
tester
Senior Member
 
Аватар для tester
 
Регистрация: 02.02.2012
Сообщений: 152
Вес репутации: 86
tester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of light
По умолчанию Создание локации через диалог

Прошу администрацию удалить эту тему.

Последний раз редактировалось tester; 17.02.2014 в 03:14.
tester вне форума   Ответить с цитированием
Данный пользователь сказал FFUU~~ tester за этот пост:
KindMan (17.02.2014)
Старый 17.02.2014, 04:37   #2
PowerMagic
Lost Overseer
 
Аватар для PowerMagic
 
Специализация: ест детей.
Регистрация: 29.01.2010
Сообщений: 1,000
Вес репутации: 571
PowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond reputePowerMagic has a reputation beyond repute
По умолчанию

Выложи решение, другим пригодиться.
__________________
Jet Rock's
PowerMagic вне форума   Ответить с цитированием
Старый 17.02.2014, 18:00   #3
tester
Senior Member
 
Аватар для tester
 
Регистрация: 02.02.2012
Сообщений: 152
Вес репутации: 86
tester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of lighttester is a glorious beacon of light
По умолчанию

Код:
// прописать в scripts.cfg как       @ server module p_base
#include "_macros.fos"


#define PID_CENTER          (LOCATION_Replication3) // относительно чего делается локация
#define LOC_START           (LOCATION_Warehouse_First) // начало карт пока взял карты из квеста на склад
#define LOC_END             (LOCATION_Warehouse_Last) // конец карт 

#define DIALOG_TERM         (10) // сюда вставить id диалога из dialogs/dialogs.lst
void spawnBase(Critter& cr)
{
    Location @ Center = GetLocationByPid( PID_CENTER, 0 );  // центр
    if(!valid(Center))
        return;

    uint x = Center.WorldX + 2 * Random( -1 * ( __GlobalMapZoneLength), __GlobalMapZoneLength ); // смещение на глобале
    uint y = Center.WorldY + 2 * Random( -1 * ( __GlobalMapZoneLength), __GlobalMapZoneLength ); 

    //Critter @[] critters;
    //Critter @ Leader = cr.GetFollowLeader();
    //if (!valid(Leader)) // раскоментить если надо будет для группы 
    // @Leader = cr;
    //critters.insertLast(@Leader);
    //Leader.GetFollowGroup(FIND_LIFE,critters);
    
    uint BaseId = CreateLocation( Random(LOC_START,LOC_END), x, y, /*critters*/null );
    if(BaseId == 0)
        return;

    cr.SetKnownLoc(true ,BaseId); // закоментить если база будет для групп 
    
    Location @ Base = GetLocation(BaseId);

    Base.AutoGarbage = false;
    Base.Visible = false;
    Base.Radius = 6;
}

bool s_Terminal( Critter& player, Scenery& terminal, int skill, Item@ item ) // прикрепить к терминалу через маппер 
{
    if( player.IsPlayer() && skill == -1 && not valid( item ) )
        RunDialog( player, DIALOG_TERM, terminal.HexX, terminal.HexY, false );
    return true;
}

void r_spawnBase(Critter& cr, Critter@) // вставить как результат в диалог
{
    spawnBase(cr);
}

void _spawnBase(Critter& cr, int, int, int) //~~20 p_base spawnBase 0 0 0
{
    spawnBase(cr);
}

Последний раз редактировалось tester; 17.02.2014 в 18:01.
tester вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:17.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot
Для внутреннего пользования