Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Pawn.CMD - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Pawn.CMD Самый быстрый и функциональный командный процессор Оценка: -----

#1
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Pawn.CMD 3.1.2

Описание:
Pawn.CMD - это новый командный процессор, работающий через плагин.
Этот плагин совместим с любой версией SA:MP, несмотря на работу с памятью.

Изображение

Список изменений:
  • 1.0:
    - Первый релиз.
  • 2.0:
    - Добавлена полная совместимость с zcmd.
  • 3.0:
    - Добавлен макрос "callcmd" для вызова команды. Пример: callcmd::ban(playerid, "42");
    - Добавлены нативы: PC_SetFlags, PC_GetFlags, PC_EmulateCommand, PC_RenameCommand, PC_DeleteCommand.
    - Добавлен макрос "isnull" для проверки параметров команды.
    - Удалена запись в консоль о регистрации команды.
    - "cmdtext" был разделен на "cmd" и "params".
    - Потеряна совместимость с синтаксисом zcmd.


Создатель:
  • urShadow


Скачать:


Пример работы:
#include <Pawn.CMD>

cmd:help(playerid, params[]) // also possible to use CMD and COMMAND
{
    // code here
    return 1;
}
alias:help("commands", "cmds", "menu");

public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if(!IsPlayerLogged(playerid)) return 0;
    if(!CheckAntiFlood(playerid)) return 0;
    return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], result)
{
    if(result == -1)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Unknown command.");
        return;
    }
}


3

#2
Пользователь офлайн   IgorStalker 

  • Пользователь
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
В чём его особенности?Или хорошие черты?
0

#3
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Цитировать
  • Раскрыть информацию

Просмотр сообщенияIgorStalker (04 Июнь 2016 - 13:42) писал:

В чём его особенности?Или хорошие черты?


В скорости работы. На данный момент по заявлении автора, это самый быстрый командный процессор.
0

#4
Пользователь офлайн   Gamaz 

  • Новичок
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Крутая вещь!
0

#5
Пользователь офлайн   SnoopDy 

  • 4:20
  • Вставить ник
  • Цитировать
  • Раскрыть информацию

Просмотр сообщенияRomzes (04 Июнь 2016 - 13:45) писал:

В скорости работы. На данный момент по заявлении автора, это самый быстрый командный процессор.

На скрине zcmd обходит dc_cmd и ycmd, Сказка!
а что за mcmd? В первые о нем слышу
0

#6
Пользователь офлайн   Ukrainian 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Уже есть версия 2.1 там исправили некоторые баги

Прикрепленные файлы


1

#7
Пользователь офлайн   Morphone 

  • Знаток
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Для чего эти паблики?
OnPlayerCommandPerformed(playerid, cmdtext[], result)
OnPlayerCommandReceived(playerid, cmdtext[])


п.с. если бы его подробнее кто-нибудь здесь разобрал, вообще было бы шик)

Сообщение отредактировал Merser45: 30 Июнь 2016 - 17:43

0

#8
Пользователь офлайн   m1n1vv 

  • Искусственный Cверхинтеллект
  • Вставить ник
  • Цитировать
  • Раскрыть информацию

Просмотр сообщенияMerser45 (30 Июнь 2016 - 17:36) писал:

Для чего эти паблики?
OnPlayerCommandPerformed(playerid, cmdtext[], result)
OnPlayerCommandReceived(playerid, cmdtext[])


п.с. если бы его подробнее кто-нибудь здесь разобрал, вообще было бы шик)


Callbacks
0

#9
Пользователь офлайн   Ukrainian 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию

Просмотр сообщенияMerser45 (30 Июнь 2016 - 17:36) писал:

Для чего эти паблики?
OnPlayerCommandPerformed(playerid, cmdtext[], result)
OnPlayerCommandReceived(playerid, cmdtext[])


п.с. если бы его подробнее кто-нибудь здесь разобрал, вообще было бы шик)

alias:help("commands", "cmds", "menu");//благодаря этому можно одну и туже команду вызивать разным текстом

public OnPlayerCommandReceived(playerid, cmdtext[])//паблик который лично я использую чтобы игрок не смог вводить команды без логинизации
{
    if(!IsPlayerLogged(playerid)) return 0;//если игрок не залогинился, то команды не срабатывают
    if(!CheckAntiFlood(playerid)) return 0;//чтобы не флудил командой
    return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], result)//паблик который проверяет есть ли команда
{
    if(result == -1)//если нету команды то...
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Unknown command.");//выводим текст что команды нету.(текст можно менять на свой)
        return 1;
    }
}

Сообщение отредактировал Ukrainian: 01 Июль 2016 - 16:43

1

Сказали спасибо 1:

#10
Пользователь офлайн   Ukrainian 

  • Эксперт
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
Лично у меня плагин не запускается. Пишет Failed. Зделал всё верно
А и да вышли версии 3.0 и 3.1
3.0
Добавлены макросы "callcmd" для вызова команды. Пример: callcmd :: ban(playerid, "42");
Добавлены туземцы: PC_SetFlags, PC_GetFlags, PC_EmulateCommand, PC_RenameCommand, PC_DeleteCommand.
Добавлены макросы "IsNull" для проверки Params команды.
Удалены вызов "logprintf" при регистрации команды.
"Cmdtext" было разбито на "ЦМД" и "Params".
Pawn.CMD не совместим с zcmd стилем больше.
Скачать 3.0

3.1
Добавлены туземцы: PC_CommandExists, PC_GetCommandArray, PC_GetAliasArray, PC_GetArraySize, PC_FreeArray, PC_GetCommandName
Добавлены макросы "PC_HasFlag"
Добавлен общественности "PC_OnInit"
Изменены родной "PC_GetFlags"
Совместимость с YSI
Скачать 3.1
1

Поделиться темой:


  • (3 Страниц) +
  • 1
  • 2
  • 3
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей