Subversion Repository Public Repository

fonline_sdk

This repository has no backups
This repository's network speed is throttled to 100KB/sec

1
2
3
4
5
6
7
8
9
10
11
// FOS Common

#pragma property Global Public string[] BestScores

#ifdef __SERVER
# ifndef __SCORES
import void SetBestScore( uint score, string name ) from "Scores";
import void AddScore( Critter& cr, uint score, int value ) from "Scores";
import int  GetScore( Critter& cr, uint score ) from "Scores";
# endif
#endif

Commits for fonline_sdk/Modules/Scores/Scores.fosh

Diff revisions: vs.
Revision Author Commited Message
606 Diff Diff cvet picture cvet Mon 23 May, 2016 15:41:24 +0000

Реорганизация движка.

563 Diff Diff cvet picture cvet Sat 24 Oct, 2015 08:47:44 +0000

Реорганизация контента.
Scores в отдельный модуль.

562 Diff Diff cvet picture cvet Sat 24 Oct, 2015 08:46:34 +0000

Реорганизация контента.
Scores в отдельный модуль.

561 Diff Diff cvet picture cvet Sat 24 Oct, 2015 08:44:26 +0000

Реорганизация контента.
Scores в отдельный модуль.

537 Diff Diff cvet picture cvet Mon 21 Sep, 2015 15:06:06 +0000

Введено некое подобие модульной системы организации контента.
Теперь все будет лежать не по отдельным папакам. т.е. скрипты в scripts, диалоги в dialogs и т.п., а в общей папке Modules, в которой можно группировать файлы как удобно.
Предполагается, что папки верхнего уровня это наименование отдельного модуля.
Любые папки в Modules (включая подпапки) начинающиеся с подчеркивания ‘_’ не будут обрабатываться.
Папки с именем ‘Resources’ будут паковаться в ресурсы клиента.
А в папках ‘Texts’ сервер будет искать файлы локализации текстов.
Пока есть только один модуль ‘TLA’, но в будущем он будет разделен на отдельные, например: Core, Traders, Combat и т.п.
Но нужно помнить, что пространство имен у всех контентных файлов (диалоги, прототипы и т.п.) одно и наличие двух одинаковых в разных папках не допускается.

507 cvet picture cvet Sun 31 May, 2015 20:56:58 +0000

Вынесено множество данных из внутренней структуры персонажа на новые свойства.
Все свойства имеют тип доступа PrivateServer.
uint HomeMapId – Id домашней карты;
uint16 HomeHexX - домашний гекс;
uint16 HomeHexY - домашний гекс;
uint8 HomeDir - домашнее направление;
uint[] KnownLocations - идентификаторы известных игроку локаций, модифицируется движком автоматически, в скриптах так же можно его модифицировать;
uint[] ConnectionIp - список Ip клиента в порядке входа ими;
uint16[] ConnectionPort - порты подключения клиента; при самостоятельной модификации массивы ConnectionIp и ConnectionPort должны совпадать, иначе будет вылет сервера;
uint[] HoloInfo - списки номеров информации голодисков известной игроку;
uint[] EnemyStack - стек идентификаторов врагов;
hash[] InternalBagItemPid - массив прототипов предметов для обновления у нпц;
uint[] InternalBagItemCount - массив количества предметов для обновления у нпц; при самостоятельной модификации массивы InternalBagItemPid и InternalBagItemCount должны совпадать, иначе будет вылет сервера;
uint8[] ExternalBagCurrentSet - массив номеров выбранных сетов в механизме сумок, файл Bags.cfg;
hash[] FavoriteItemPid - прототипы предметов для установки нпц в слот, индекс в массиве это слот предмета;

Из движка убран некоторый функционал, который теперь обрабатывается в скриптах:
- механизм работы очков (константы SCORE_*, AddScore, GetScore, SetBestScore) перенесен в скрипты - scores.fos/scores_h.fos;
- служебное свойство IsNotValid переименовано в IsDestroyed и Ref в RefCounter;
- SetHomePos/GetHomePos вместо них теперь используются свойства HomeMapId/HomeHexX/HomeHexY/HomeDir;
- удалены SetBagRefreshTime, GetBagRefreshTime, SetInternalBag, GetInternalBag;
- AddEnemyInStack переименован в AddEnemyToStack;
- удалены ChangeEnemyStackSize, GetEnemyStack;
- вместо GetScriptId() теперь используется свойство ScriptId.

Введена поддержка свойствами массива строк (string[]) и ассоциативного массива со значением строки (dict) или массива строк (dict).

Различные правки работоспособности движка.