SA-MP Forums Archive
[Plugin] Life Command Engine [LIFE:CMD] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+----- Forum: Релизы/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=66)
+----- Thread: [Plugin] Life Command Engine [LIFE:CMD] (/showthread.php?tid=423812)

Pages: 1 2


Life Command Engine [LIFE:CMD] - Kazon - 19.03.2013

Life Commands v2.0 Beta:
Описание:

Это новый командный процессор который был создан мной (Kazon).
Он написан на C++ в Plugin'e
И на данный момент он является самым быстрым командным процессором!

Установка:

Вам всего лишь требуется прописать #include
PHP Code:
#include <LIFE-CMD> 
Примеры написания команд:

Команды в LIFE:CMD пишутся точно так же как и в ZCMD, YCMD и др.
PHP Code:
LIFE:command(playeridparams[]) //(command) ваша команда пишется без палочки (/)
{
    
// Ваш код
    
return true;

PHP Code:
CMD:mycommand(playeridparams[]) //(mycommand) ваша команда пишется без палочки (/)
{
    return 
cmd::command(playeridparams); // Так мы вызываем команду (/command) из другой команды

Коллбэки:

PHP Code:
public OnPlayerCommandCall(playeridcmdtext[])
{
    
//playerid - Ид игрока | cmdtext - сама команда
    
return true;

public OnPlayerCommandCall(playerid, cmdtext[]) - Вызывается перед использованием команды

PHP Code:
public OnPlayerCommandFinish(playeridcmdtext[], success)
{
    
//playerid - Ид игрока | cmdtext - сама команда | success - возвращает true или false то есть существует ли команда или нет
    
return true;

public OnPlayerCommandFinish(playerid, cmdtext[], success) - Вызывается после использования команды

Функции:

PHP Code:
CMD:command(playeridparams[]) // Создание команды
LIFE:command(playeridparams[]) // Создание команды
FCMD:command(playeridparams[]) // Создание команды
FUSION:command(playeridparams[]) // Создание команды
COMMAND:command(playeridparams[]) // Создание команды
cmd::command(playeridparams); // Вызов одной команды из другой
Call::(playerid"/command 1 2.0 Текст"); //Вызов команды из любой части мода с параметрами 
Тест скорости:





Тесты проводились над:
RCMD - Romanius Command Engine
ZCMD - Zeex Command Engine
TCMD - Threaded Command Engine(Мультипоточный)
LIFE:CMD - Life Command Engine(Мультипоточный)



Скачать:

LIFE:CMD (dll + so + inc) - Скачать* (Обновлено 20/03/2013)
Speed Test - Скачать* (Обновлено 20/03/2013)
Source - Скачать* (Обновлено 20/03/2013)


Re: Life Command Engine [LIFE:CMD] - Alexander_Petrov - 19.03.2013

Зачем нужна и в чем проявляется мультипоточность?
Он безопасный?
Дай достоверный тест на 500000 команд с логом из консоли.


Re: Life Command Engine [LIFE:CMD] - Kazon - 19.03.2013

Quote:

Зачем нужна и в чем проявляется мультипоточность?
Он безопасный?
Дай достоверный тест на 500000 команд с логом из консоли.

Это бета версия всё должно быть безопасным тест можете делать сами


Re: Life Command Engine [LIFE:CMD] - ParanoidZ - 19.03.2013

Поддержка кириллицы?)
Один из важных вопросов интересующих людей в этом под-форуме


Re: Life Command Engine [LIFE:CMD] - AirKite - 19.03.2013

Вы не ответили не на один выше поставленный вопрос. И что значит
Quote:
Originally Posted by Kazon
View Post
Это бета версия всё должно быть безопасным
В чём проявляется мультипоточность? (Использование потоков в PAWN может быть не безопасно).
Quote:
Originally Posted by Kazon
View Post
тест можете делать сами
Да, вам говорят о том, что бессмысленно предоставлять тесты 5 и 100 команд.
Quote:
Originally Posted by ParanoidZ
View Post
Поддержка кириллицы?)
Один из важных вопросов интересующих людей в этом под-форуме
Нет конечно.
pawn Code:
#define COMMAND:%0(%1,%2)       \
        forward cmd_%0(%1,%2);  \
        public cmd_%0(%1,%2)



Re: Life Command Engine [LIFE:CMD] - Kazon - 19.03.2013

Quote:

Поддержка кириллицы?)
Один из важных вопросов интересующих людей в этом под-форуме

В этом командном процессоре не отключён стандартный public OnPlayerCommandText так что команды на кириллице вы можете и там создовать


Re: Life Command Engine [LIFE:CMD] - Kazon - 19.03.2013

Quote:

В чём проявляется мультипоточность? (Использование потоков в PAWN может быть не безопасно).

Если вы про защиту примитивами синхронизации то доступ к второй очереди осуществляется как из потока amx так и из нового потока и он не защищён но не стоит забывать что это Beta версия


Re: Life Command Engine [LIFE:CMD] - kamilot73 - 19.03.2013

Кто уже попробовал? Что скажите? Стоящая замена ZCMD?


Re: Life Command Engine [LIFE:CMD] - Kazon - 19.03.2013

Quote:

Да, вам говорят о том, что бессмысленно предоставлять тесты 5 и 100 команд.

А какой вы предлагаете сделать тест?


Re: Life Command Engine [LIFE:CMD] - ZiGGi - 19.03.2013

Что будет, если в процессе выполнения команды изменятся какие-то важные значения в памяти(переменные, PVar'ы)?


Re: Life Command Engine [LIFE:CMD] - Kazon - 20.03.2013

Провёл несколько тестов. Оказалось что потоки были очень затратные. Попробовал без них Pawn -> Plugin -> Pawn скорость оказалась раза в 2-3 больше. Так же пробовал в 1 потоке всё равно было в минус так что сделал без потоков но скорость стала ещё больше! Обновил ссылки. Можете проводить новые тесты и вы ощутите заметное изменение скорости.


Re: Life Command Engine [LIFE:CMD] - Alexander_Petrov - 20.03.2013

Так-то лучше.
Но лучше дай обновленные тесты сам, тема твоя, как-никак. Просто вставь нам текст из лога. Мне, например, не хочется качать все заявленные инклуды и плагины коммандных процессоров только для того, чтобы посмотреть на их скорость.


Re: Life Command Engine [LIFE:CMD] - XemyL - 20.03.2013

Никому не хочется =)


Re: Life Command Engine [LIFE:CMD] - Kazon - 20.03.2013

Quote:

Так-то лучше.
Но лучше дай обновленные тесты сам, тема твоя, как-никак. Просто вставь нам текст из лога. Мне, например, не хочется качать все заявленные инклуды и плагины коммандных процессоров только для того, чтобы посмотреть на их скорость.

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


Re: Life Command Engine [LIFE:CMD] - Alexander_Petrov - 20.03.2013

Quote:
Originally Posted by Kazon
Посмотреть сообщение
Я сделал таблицы скорости. Так же можно скачать всего лишь 1 архив и там запустить 1 файл для теста и всё
Тест удален или перемещен с обменника.


Re: Life Command Engine [LIFE:CMD] - Kazon - 20.03.2013

Quote:

Тест удален или перемещен с обменника.

Обновил ссылку


Re: Life Command Engine [LIFE:CMD] - kamilot73 - 20.03.2013

Quote:
Originally Posted by Alexander_Petrov
Посмотреть сообщение
Так-то лучше.
Но лучше дай обновленные тесты сам, тема твоя, как-никак. Просто вставь нам текст из лога. Мне, например, не хочется качать все заявленные инклуды и плагины коммандных процессоров только для того, чтобы посмотреть на их скорость.
Что скажете? Нормальная вещь?

P.S: На 1000 версии никаких багов не возникает? Просто многие плагины что-то конфликтуют с 1000 версией.


Re: Life Command Engine [LIFE:CMD] - Alexander_Petrov - 20.03.2013

Я не знаю, у меня тест не работает, не загружает TCMD


Re: Life Command Engine [LIFE:CMD] - The_Creator - 20.03.2013

Quote:
Originally Posted by kamilot73
Посмотреть сообщение
Что скажете? Нормальная вещь?

P.S: На 1000 версии никаких багов не возникает? Просто многие плагины что-то конфликтуют с 1000 версией.
Может они скомпилированы под максимум 500 игроков?


Re: Life Command Engine [LIFE:CMD] - kamilot73 - 20.03.2013

Quote:
Originally Posted by The_Creator
Посмотреть сообщение
Может они скомпилированы под максимум 500 игроков?
Нет, 1000) просто на игроках свыше 700ых ID'oв какие то чудо баги сыпятся