trezona

Standalone API

23 сообщения в этой теме

trezona есть же DeleteFile, CopyFile
Созданный файл скопировал с нужным расширением

Старый удалил

Я так ротацию некоторых логов в своей системе логгирования организую

Жаль что переименования нет

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


Одно из крупных обновлений API, уже совсем скоро.

Коротко что сделано.

 

Сделан инициализатор классов и встроенное API внутри.

class YouModServer : APIServer {  }

class YouModClient : APIClient {  }

И для любителей иметь в одном классе, и сервер и клиент.

class YouModClient : APICore {  }

 

А дальше просто пишете ваш код внутри. Он будет автоматически добавлен в обработчик StandaloneAPI. А так же бонусом, в консоль будет выводится информация о загруженных классах.

Дополнительно вы получите доступ к списку обработчиков функций игры для сервера и клиента.

 

Например смело можете писать такой код.

class YOrClass : APIServer
{
	override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
	{
		SendMessageAll(string.Format("Player %1 connected on server", player.GetName()));
		SendMessage(player, "You play on very nice server :D");
		ItemBase item;
		if(!GiveItem(player, "Ammo_380", item))
		{
			SendMessage(player, "Предмет выпал на землю, подберите.");
		}
	}
}

На данный момент, вторым сильно затронувшее изменение API были события Event

 

Теперь они имеют всего 3 функции статичные и не только.
Вызывает функцию с задержкой, время задержки изменяется. Возможны погрешности во время расчета из за оптимизации кода.

event.CallLater (..., int delay, bool repeat, ...) - Вызывает событие сейчас, или через некоторое время после вызова функции.

event.CallLaterGame (..., int hour, int minute, bool repeat, ...) - Вызывает событие при достижении игрового времени.

event.CallLaterTime (..., int hour, int minute, bool repeat, ...) - Вызывает событие при достижении времени на серверной машине.

 

и доступны 2 только при создании new event;

event.Call ( ) - Добавляет ваше событие, для дальнейшего вызова..

event.Invoke() - инициализирует ваше кастомное событие.

 

Теперь функции в событиях могут изменятся и настраиваться отдельно или даже во время рабочего события.

При вызове одной из 2-х функций, событие перестраивается на ваши новые настройки.

SetTime( hour, minute, IsTimeGame)
SetDelay( seconds )

Delete() - если захотите удалить определенное событие.

 

Разработка еще в процессе. Это только та часть которая уже готова.. Слушаю предложения и пожелания. Если успею, добавлю в обновление ваши просьбы.

 

 

 

Изменено пользователем trezona (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

trezona Имхо, Все что Вы делаете - пустая трата времени

Никто не будет разбираться в Вашем API пока не будет нормально оформленной доки, хотя мне кажется, что даж если она и будет, никто не станет использовать подобное.

 

API поверх API... Странное решение

 

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BorizzK все может быть. Посмотри Steam обсуждения. Документация в таком виде подойдет? Но для меня довольно очень полезное, которая позволяет избежать сотни тысяч строк в модах. А заниматься сразу логикой мода, не создавая все связи между собой. Т.к ScriptInvoker - пробовал, совсем не то.. Сырое очень, что лучше работает мой event или ScriptInvoker не знаю. Судить не мне. Ну по краней мере event модифицируем как пожелает душа.

или писать RPC под каждый мод будет занимать много времени и продумывая схему..

Или писать кучу строк кода, и мод будет разрастаться сотнями строками, когда можно было обойти пару десятками.

 

Я поступлю следующим образом. Если как ты сказал что ни кому не нужно то что я делаю.

Тогда пожалуй оставлю эту тему в таком виде в каком она сейчас.

 

Изменено пользователем trezona (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

trezona Ну во первых ты бы изменил название, чтобы людей не путать, т.к. это не апи, а обертка - фреймворк. И к своем фреймворку ты уже даешь апи. Но исключительно твое, а не стандалоновское вдруг..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Контент в мастерской закрыли, из за жалоб на контент.

Не понимаю кому я мешаю своим контентом..

 

Но не суть.

Новая страница: https://steamcommunity.com/sharedfiles/filedetails/?id=1839439370

И новое название: APIWrapper

 

А письмо в поддержку отправил для выяснения ситуации с предыдущей страницей.

Изменено пользователем trezona (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас