Просмотр полной версии : [Include] dc_anims - все анимации GTA:SA в одном инклуде
Daniel_Cortez
28.06.2014, 20:24
Список изменений:
v1.3.1 (20.12.2017):
Устранён уход в бесконечный цикл в OnGameModeInit/OnFilterScriptInit, который возникал в сочетании с использованием fixes.inc (https://github.com/Open-GTO/sa-mp-fixes/) (FIX_GetPlayerPoolSize).
v1.3 (15.07.2017):
Добавлены макросы для отключения библиотек анимаций (DC_ANIMS_DISABLE__AIRPORT, DC_ANIMS_DISABLE__ATTRACTORS, ..., DC_ANIMS_DISABLE__WUZI). Пример использования см. в конце поста.
Исправлена ошибка в обработке аргументов команды /anim, из-за которой не работали анимации.
Предзагрузка анимаций у игроков сделана опциональной.
Это должно помочь серверам избежать превышение лимита на кол-во пакетов от сервера к клиенту во время спавна (переменная "messageslimit" в server.cfg).
По умолчанию предзагрузка включена, но теперь её можно отключить, объявив макрос DC_ANIMS__NO_PRELOAD_AT_SPAWN перед подключением dc_anims (см. пример ниже).
В список добавлена анимация рыбалки ("SAMP:FishingIdle"), появившаяся в SA:MP 0.3.7.
Итого теперь в инклуде 1872 анимации в 135 библиотеках.
Исправлен баг с неправильным выводом названий в списке анимаций (проявлялось только при включении англ. языка с помощью макроса DC_ANIMS_LANG_EN).
При выводе списка библиотек анимаций в конце строк больше не добавляются запятые.
Благодаря этому получилось уместить список анимаций в 8 строк, чтобы при вводе пустой команды /anim выводилось 10 строк (ещё 2 на формат использования команды и итоги о кол-ве анимаций и библиотек).
Теперь при стандартном кол-ве видимых строк чата (10) вам не придётся прокручивать чат, чтобы прочитать первые строки, выведенные командой.
Исправлен баг, приводящий к выводу сообщения "Неизвестное название библиотеки" при вводе команды /anim без параметров (проявлялся только без командного процессора).
Прочие мелкие изменения и улучшения.
v1.2 (05.04.2015):
Исправлен баг, связанный с некорректной обработкой параметров в OnPlayerCommandText при использовании стандартных команд.
v1.1 (06.07.2014):
Теперь инклуд можно использовать без ZCMD/DC_CMD (см.п. "Дополнительно").
Убрано использование y_stringhash. Теперь dc_anims не зависит от сторонних инклудов/плагинов. Кроме того, значительно ускорена компиляция на оригинальном pawncc от SA:MP Team.
Добавлена защита от повторного подключения инклуда для совместимости с модифицированной версией компилятора от Zeex.
dc_anims.inc - библиотека эффективно организованных анимаций GTA:SA.
Всего реализовано 1872 анимаций в 135 библиотеках.
http://ihost.pro-pawn.ru/image.php?di=85IS
Прежде, чем кто-то скажет, что я взял анимации из работы OKStyle или из SA:MP wiki, посмотрите сюда (http://pro-pawn.ru/showthread.php?9479-AnimParser).
Вся работа делалась с чистого листа.
Основные отличия от похожей работы OKStyle и от списка на SA:MP wiki (http://wiki.sa-mp.com/wiki/Animations):
Больше анимаций:
BLOWJOBZ - 6 из 18 анимаций нет ни в wiki, ни в списке OKStyle.
GFUNK, RUNNINGMAN, WOP - 3 библиотеки анимаций танца, в каждой по 33 анимации, ни одной нет в wiki и в работе OKStyle.
SEX - 20 анимаций, ни одной нет в SA:MP wiki (Куй не одобряэ).
SnM - 22 анимации, ни одной из них нет в wiki, 14 из 22 нет у OKStyle.
Возможность интеграции как в моды со стандартными командами, так и с использованием командных процессоров (ZCMD/DC_CMD).
Для ускорения доступа все анимации составлены в таблицу (вместо over9000 вызовов strcmp для поиска нужной библиотеки). При этом скрипт сравнительно мало весит (размер .amx - ~50Кб, если компилировать, как фильтрскрипт) и не требователен к памяти (всего ~91Кб). Кроме того, с такой организацией данных можно легко найти и удалить нужную анимацию/библиотеку (все библиотеки и анимации отсортированы в алфавитном порядке).
Возможность как использования работы в виде фильтрскрипта, так и её интеграции в мод (#include). При этом анимации будут предзагружены у игроков при запуске мода, если использовать работу, как инклуд, или при загрузке фильтрскрипта.
Поддержка русского и английского языков для сообщений.
Размер AMX: ~54Кб
Требуемый объём памяти: ~91Кб
В работе реализованы:
Полный список анимаций, доступных в GTA:SA.
Список действий (танцы, распитие напитков, курение, etc.)
Предзагрузка библиотек анимаций.
Поддержка русского и английского языков (см. п. "Дополнительно").
Команды:
/anim [набор] [ID анимации] - воспроизвести анимацию (без параметров - вывести список всех наборов анимаций)
/stopanim - остановить анимацию
/action [действие] - воспроизвести указанное действие (без параметров - вывести список всех действий)
Использование:
Скачать инклуд и поместить его в папку "pawno/include".
Подключить инклуд к своему скрипту.
#include <a_samp>
#include <dc_anims>
PROFIT :trollface:
Дополнительно:
Инклуд может работать как с командным процессором (DC_CMD (http://pro-pawn.ru/showthread.php?1028-DC_CMD)/ZCMD), так и без него.
Для использования командного процессора, подключите его перед подключением dc_anims.
Примеры:
#include <a_samp>
#include <dc_cmd>
#include <dc_anims> // будет использоваться командный процессор DC_CMD
#include <a_samp>
#include <dc_anims> // командный процессор не указан, будут использоваться обычные команды
В инклуде для вывода сообщений используются 2 цвета: синий (для обычных сообщений) и серый (для ошибок).
Эти цвета можно изменить, объявив макросы DC_ANIMS_COLOR и DC_ANIMS_ERROR_COLOR перед подключением инклуда.
Пример:
#include <a_samp>
#define DC_ANIMS_COLOR "{00FF00}" // обычные сообщения будут зелёного цвета
#define DC_ANIMS_ERROR_COLOR "{FF0000}" // ошибки - красного
#include <dc_anims>
Список действий в инклуде можно отключить, объявив перед подключением инклуда макрос DC_ANIMS_DISABLE_ACTIONS:
#include <a_samp>
#define DC_ANIMS_DISABLE_ACTIONS // убрать команду "/actions"
#include <dc_anims>
Язык текста в dc_anims можно переключить на английский, если перед его подключением добавить макрос DC_ANIMS_LANG_EN:
#include <a_samp>
#define DC_ANIMS_LANG_EN
#include <dc_anims>
По умолчанию включена предзагрузка библиотек анимаций при первом спавне игрока, однако её можно отключить, объявив макрос DC_ANIMS__NO_PRELOAD_AT_SPAWN:
#define DC_ANIMS__NO_PRELOAD_AT_SPAWN
#include <dc_anims>
Однако имейте в виду, что без предзагрузки команда /anim не будет срабатывать у игроков с первого раза.
Также, начиная с версии 1.3, появилась возможность отключать отдельные библиотеки анимаций. Рассмотрим эту возможность на примере отключения библиотек с "непристойными" анимациями:
#define DC_ANIMS_DISABLE__BLOWJOBZ
#define DC_ANIMS_DISABLE__PAULNMAC
#define DC_ANIMS_DISABLE__SEX
#include <dc_anims>
Скачать: v1.3.1 (https://www.dropbox.com/s/1708tyy7jq68m9g/dc_anims.inc?dl=0)
Автор: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)
О, а я тоже свою обновил, но публиковать пока не хотел.
Seregamil
29.06.2014, 08:53
О, а я тоже свою обновил, но публиковать пока не хотел.
:facepalm:
Кстати, вот это, всё же, от меня))
#if !defined SPECIAL_ACTION_PISSING
#define SPECIAL_ACTION_PISSING 68
#endif
Кстати, вот это, всё же, от меня))
lol, может уже хватит? Вроде бы в теме написано:
Прежде, чем кто-то скажет, что я взял анимации из работы OKStyle или из SA:MP wiki, посмотрите сюда (http://pro-pawn.ru/showthread.php?9479-AnimParser).
Вся работа делалась с чистого листа.
Daniel_Cortez
29.06.2014, 12:44
Кстати, вот это, всё же, от меня))
Константа SPECIAL_ACTION_PISSING была впервые описана здесь (http://forum.sa-mp.com/showthread.php?t=80825), а использование #if !defined вполне очевидно: чтобы избежать конфликтов с макросами из мода. Точно такой же приём используется и на других макросах в инклуде.
По сути ты делаешь выводы из-за каких-то 3 совпавших строк. Причём в них даже не действия, а всего лишь константа, которая используется и в работах многих других скриптеров, иногда она там даже названа по-другому - к ним тоже будешь придираться?
За сим претензию считаю абсолютно безосновательной.
lol, может уже хватит? Вроде бы в теме написано:
Вот ты сам посмотри ссылку сначала :scratch_one-s_head:
Daniel, не видел той темы, вывод сделал от того, что этот кусок - ну прямо 100% точь-в-точь. Я без претензий, если что.
У кого сколько времени это компилируется? Я уже минут двадцать жду… Так и должно быть?
Из инклюда в мод не вставлял? Такое может быть из-за рекурсии, когда нарушен порядок описания функции и дефайна. Лучше дождитесь независимого инклюда с полными анимациями. Через день-два опубликую.
Daniel_Cortez
05.07.2014, 17:27
http://rghost.ru/56740334
Компилируется за 5 секунд - вполне нормальное время для инклуда с 1800+ анимациями, в каждой из которых хеш-сумму вычисляет компилятор.
#include "a_samp"
#include <dc_anims>
main()
{
print(" Анимации ");
}
Где я тут мог ошибиться, не представляю.
http://rghost.ru/56740334
Компилируется за 5 секунд - вполне нормальное время для инклуда с 1800+ анимациями, в каждой из которых хеш-сумму вычисляет компилятор.
Спасибо. Буду разбираться (шаминить) почему у меня так.
Daniel_Cortez
05.07.2014, 17:53
Испробовал с обычным компилятором. И правда, компилируется, но _очень_ медленно.
Скорее всего дело вот в чём: в оригинальном pawncc есть баг с записью информации в буфер (https://github.com/Zeex/pawn/commit/200abb1d752bd9edc51cf50cc3d80750438bfaa8), когда компилятор каждый раз заново аллоцировал память под него перед записью каждого нового символа. Этот баг сильно замедляет компиляцию при большом количестве данных в скрипте.
Я для тестов использовал русифицированную версию компилятора (http://pro-pawn.ru/showthread.php?3586-%D0%A0%D1%83%D1%81%D0%B8%D1%84%D0%B8%D1%86%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80-Pawn) (и вам советую), в которой этот баг давно уже исправлен, поэтому никаких проблем с компиляцией у меня не было. В исправленной версии компилятора (http://pro-pawn.ru/showthread.php?2207-Pawn-compiler-fixed) от Zeex этого бага тоже нет.
UPD: Добавил в 1-й пост рекомендацию об использовании модифицированных версий компилятора.
Да спасибо. Действительно, при замене компилятора процесс занимает около пяти секунд.
Daniel_Cortez
06.07.2014, 01:04
Инклуд обновлён до версии 1.1
Теперь инклуд можно использовать без ZCMD/DC_CMD (см.п. "Дополнительно").
Убрано использование y_stringhash. Теперь dc_anims не зависит от сторонних инклудов/плагинов. Кроме того, для компиляции можно использовать не модифицированную версию компилятора, а оригинальный pawncc от SA:MP Team.
Добавлена защита от повторного подключения инклуда для совместимости с модифицированной версией компилятора от Zeex.
Описание и ссылки в 1-м посте обновлены.
MYSTERYMAN
05.01.2015, 22:13
Хм, не работаю анимации из блока SEX.
Были времена когда список анимаций был приватом?
Daniel_Cortez
04.04.2015, 21:28
Исправлен баг, связанный с некорректной обработкой параметров в OnPlayerCommandText при использовании стандартных команд.
Баг не затронул тех, кто использовал ZCMD/DC_CMD. Тем же, у кого до сих пор стандартные команды, рекомендуется обновить инклуд.
Ссылка на скачивание новой версии (v1.2) добавлена в 1-й пост.
Kovshevoy
15.06.2017, 13:01
Здравствуйте, при использовании инклуда на сервере при вводе (к примеру): /anim swat 1 - выдает Uknown Command. То есть и анимация не проигрывается, и выводится это в чат. Как это можно исправить? Инклуд использую сразу после "izcmd", чтобы работало на этом командном процессоре как и было указано в теме.
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if (success == CMD_FAILURE)
{
static const
str[] = "Произошла ошибка, повторите попытку.";
SendClientMessage(playerid, -1, str);
return CMD_SUCCESS;
}
return success;
}
Kovshevoy
16.06.2017, 15:37
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if (success == CMD_FAILURE)
{
static const
str[] = "Произошла ошибка, повторите попытку.";
SendClientMessage(playerid, -1, str);
return CMD_SUCCESS;
}
return success;
}
Не в этом дело, я не могу использовать его инклуд полноценно, то есть команды инклуда вроде как пашут, но когда используешь то, чтобы выполнялась анимка - выдает ошибку, типо, команды не существует. И я ищу ответ на то, чтобы работали команды, вот в чем дело.
Так а где указано, что инклуд поддерживает izcmd? Скинь исходники инклуда под спойлер
Kovshevoy
16.06.2017, 18:46
Так а где указано, что инклуд поддерживает izcmd? Скинь исходники инклуда под спойлер
Даже если и так, я проверил на ZCMD и на iZCMD - не там, не там - не работает. Unknown Command.
Исходники вот:
/*******************************************************************************************************************************
Improved ZCMD (iZCMD)
This include is just a re-make of the ZCMD Command Processor ( V0.3.1 31/10/2009) originnaly developed by Zeex.
Version: 0.2.3.0 (August 1st 2016)
GitHub Link: https://github.com/YashasSamaga/I-ZCMD
Credits:
Zeex for ZCMD (the very idea of making publics for each command was introduced by Zeex in ZCMD)
Yashas
*******************************************************************************************************************************/
#if defined _I_ZCMD_INCLUDED
#endinput
#endif
#define _I_ZCMD_INCLUDED
#define _I_ZCMD_INCLUDED_V0_2_3_0_
/******************************************************************************************************************************/
#define MAX_CLIENT_MSG_LENGTH (144)
#define MAX_FUNC_NAME (32)
#define COMMAND:%1(%2) \
forward cmd_%1(%2); \
public cmd_%1(%2)
#define CMD:%1(%2) \
COMMAND:%1(%2)
#define command(%1,%2,%3) \
COMMAND:%1(%2, %3)
#define cmd(%1,%2,%3) \
COMMAND:%1(%2, %3)
#define CMD_SUCCESS 1
#define CMD_FAILURE 0
#if !defined isnull
#define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif
/******************************************************************************************************************************/
#if defined OnPlayerCommandReceived
forward OnPlayerCommandReceived(playerid,cmdtext[]);
#endif
#if defined OnPlayerCommandPerformed
forward OnPlayerCommandPerformed(playerid,cmdtext[], success);
#endif
/******************************************************************************************************************************/
public OnPlayerCommandText(playerid, cmdtext[])
{
#if defined OnPlayerCommandReceived
if(!OnPlayerCommandReceived(playerid, cmdtext)) return 1;
#endif
static funcname[MAX_CLIENT_MSG_LENGTH] = "cmd_";
#if defined IZCMD_ENABLE_CASE_SENSITIVITY
static pos;
if((pos = strfind(cmdtext, " ", false, 1)) == -1)
{
funcname[4] = 0;
strcat(funcname, cmdtext[1], MAX_FUNC_NAME - 4);
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
#else
return CallLocalFunction(funcname, "is", playerid, "\1");
#endif
}
else
{
funcname[4] = 0;
strcat(funcname, cmdtext[1], pos + 4);
while (cmdtext[pos] == ' ') pos++;
if(cmdtext[pos])
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
#else
return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
#endif
}
else
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
#else
return CallLocalFunction(funcname, "is", playerid, "\1");
#endif
}
}
#else
new pos = 1, tmp;
while((tmp = cmdtext[pos]) > ' ')
if('A' <= tmp <= 'Z') funcname[pos++ + 3] = tmp | 0x20;
else funcname[pos++ + 3] = tmp;
funcname[pos + 3] = 0;
while (cmdtext[pos] == ' ') pos++;
if(cmdtext[pos])
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
#else
return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
#endif
}
else
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
#else
return CallLocalFunction(funcname, "is", playerid, "\1");
#endif
}
#endif
}
Daniel_Cortez
16.06.2017, 20:42
Скажу как есть: сейчас у меня мало времени для старых работ, связанных с SA-MP. Могу завтра попробовать разобраться, почему инклуд не работает с ZCMD, но ничего не гарантирую.
P.S.: Переместил обсуждение в тему dc_anims.
middlematt
16.06.2017, 21:46
Скажу как есть: сейчас у меня мало времени для старых работ, связанных с SA-MP. Могу завтра попробовать разобраться, почему инклуд не работает с ZCMD, но ничего не гарантирую.
P.S.: Переместил обсуждение в тему dc_anims.
А почему тема перемещена в Вопросы по Pawn-скриптингу (http://pro-pawn.ru/forumdisplay.php?7-%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B-%D0%BF%D0%BE-Pawn-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3%D1%83)? :)
А почему тема перемещена в Вопросы по Pawn-скриптингу (http://pro-pawn.ru/forumdisplay.php?7-%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B-%D0%BF%D0%BE-Pawn-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3%D1%83)? :)
Потому что форум решил так при переносе сообщений в эту тему :)
Исправил
Скажу как есть: сейчас у меня мало времени для старых работ, связанных с SA-MP. Могу завтра попробовать разобраться, почему инклуд не работает с ZCMD, но ничего не гарантирую.
Я могу сегодня глянуть, как только разберусь с одним заказом.
Для того исходники, собственно, и попросил (у меня интернет отказывается открывать dropbox. Пока не разбирался с этим)
Даже если и так, я проверил на ZCMD и на iZCMD - не там, не там - не работает. Unknown Command.
Исходники вот:
/*******************************************************************************************************************************
Improved ZCMD (iZCMD)
This include is just a re-make of the ZCMD Command Processor ( V0.3.1 31/10/2009) originnaly developed by Zeex.
Version: 0.2.3.0 (August 1st 2016)
GitHub Link: https://github.com/YashasSamaga/I-ZCMD
Credits:
Zeex for ZCMD (the very idea of making publics for each command was introduced by Zeex in ZCMD)
Yashas
*******************************************************************************************************************************/
#if defined _I_ZCMD_INCLUDED
#endinput
#endif
#define _I_ZCMD_INCLUDED
#define _I_ZCMD_INCLUDED_V0_2_3_0_
/******************************************************************************************************************************/
#define MAX_CLIENT_MSG_LENGTH (144)
#define MAX_FUNC_NAME (32)
#define COMMAND:%1(%2) \
forward cmd_%1(%2); \
public cmd_%1(%2)
#define CMD:%1(%2) \
COMMAND:%1(%2)
#define command(%1,%2,%3) \
COMMAND:%1(%2, %3)
#define cmd(%1,%2,%3) \
COMMAND:%1(%2, %3)
#define CMD_SUCCESS 1
#define CMD_FAILURE 0
#if !defined isnull
#define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif
/******************************************************************************************************************************/
#if defined OnPlayerCommandReceived
forward OnPlayerCommandReceived(playerid,cmdtext[]);
#endif
#if defined OnPlayerCommandPerformed
forward OnPlayerCommandPerformed(playerid,cmdtext[], success);
#endif
/******************************************************************************************************************************/
public OnPlayerCommandText(playerid, cmdtext[])
{
#if defined OnPlayerCommandReceived
if(!OnPlayerCommandReceived(playerid, cmdtext)) return 1;
#endif
static funcname[MAX_CLIENT_MSG_LENGTH] = "cmd_";
#if defined IZCMD_ENABLE_CASE_SENSITIVITY
static pos;
if((pos = strfind(cmdtext, " ", false, 1)) == -1)
{
funcname[4] = 0;
strcat(funcname, cmdtext[1], MAX_FUNC_NAME - 4);
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
#else
return CallLocalFunction(funcname, "is", playerid, "\1");
#endif
}
else
{
funcname[4] = 0;
strcat(funcname, cmdtext[1], pos + 4);
while (cmdtext[pos] == ' ') pos++;
if(cmdtext[pos])
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
#else
return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
#endif
}
else
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
#else
return CallLocalFunction(funcname, "is", playerid, "\1");
#endif
}
}
#else
new pos = 1, tmp;
while((tmp = cmdtext[pos]) > ' ')
if('A' <= tmp <= 'Z') funcname[pos++ + 3] = tmp | 0x20;
else funcname[pos++ + 3] = tmp;
funcname[pos + 3] = 0;
while (cmdtext[pos] == ' ') pos++;
if(cmdtext[pos])
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
#else
return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
#endif
}
else
{
#if defined OnPlayerCommandPerformed
return OnPlayerCommandPerformed(playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
#else
return CallLocalFunction(funcname, "is", playerid, "\1");
#endif
}
#endif
}
Я просил исходники dc_anims, но уже не суть :)
Только что всё проверил - прекрасно работает.
https://i.imgur.com/O7ysyRQ.png
Собственно, взял код izcmd из под спойлера, скачал dc_anims, подключил и всё.
http://i.imgur.com/fws82hs.png
Скорее всего, автор подключил какой-нибудь FS...
Kovshevoy
17.06.2017, 10:38
Я просил исходники dc_anims, но уже не суть :)
Только что всё проверил - прекрасно работает.
https://i.imgur.com/O7ysyRQ.png
Собственно, взял код izcmd из под спойлера, скачал dc_anims, подключил и всё.
http://i.imgur.com/fws82hs.png
Заюзай анимации Кортеза, то есть не просто свою команду которую ты сделал, а заюзай анимацию из инклуда Кортеза. Я не говорил что у меня все команды слетают) У меня не может работать команда которую я юзаю из инклуда Кортеза. То есть, в начале темы написано: "Для использования /anim [библиотека анимаций] [анимация]" - я так делаю - Unknown Command. Остальные команды которые я использую напрямую в моде - работают.
- - - Добавлено - - -
Скорее всего, автор подключил какой-нибудь FS...
Ошибаетесь, не люблю использовать FS.
- - - Добавлено - - -
В общем, сейчас подсниму видео, где напрямую покажу ошибку.
- - - Добавлено - - -
И еще, вот. Предоставляю инклуды которые используются у меня в моде:
#include <a_samp>
#include <fixes>
#include <izcmd>
#include <dc_anims>
#include <sqlitei>
#include <mSelection>
#include <streamer>
#include <sscanf2>
#include <foreach>
#include <mikefunc>
#include <crashdetect>
Kovshevoy
17.06.2017, 11:10
В принципе вот и подснятое видео, где показываю что оно и как.
Переход по ссылке вот тут (https://youtu.be/QVoMTvE3aNI)
В принципе вот и подснятое видео, где показываю что оно и как.
Переход по ссылке вот тут (https://youtu.be/QVoMTvE3aNI)
Crashdetect что пишет?
Kovshevoy
17.06.2017, 12:27
Crashdetect что пишет?
Ничего не пишет в том то и дело.
- - - Добавлено - - -
А хотя, все-таки что-то есть.
[11:38:40] [debug] Run time error 20: "Invalid index parameter (bad entry point)"
Заюзай анимации Кортеза, то есть не просто свою команду которую ты сделал, а заюзай анимацию из инклуда Кортеза. Я не говорил что у меня все команды слетают) У меня не может работать команда которую я юзаю из инклуда Кортеза. То есть, в начале темы написано: "Для использования /anim [библиотека анимаций] [анимация]" - я так делаю - Unknown Command. Остальные команды которые я использую напрямую в моде - работают.
Так на первый скрин посмотри. Там я использовал "/anim swat 1"
Ничего не пишет в том то и дело.
- - - Добавлено - - -
А хотя, все-таки что-то есть.
[11:38:40] [debug] Run time error 20: "Invalid index parameter (bad entry point)"
Полный лог дай
Daniel_Cortez
17.06.2017, 14:47
[11:38:40] [debug] Run time error 20: "Invalid index parameter (bad entry point)"
Эта ошибка возникает именно при выполнении команды или только при загрузке скрипта?
Скомпилируйте мод в режиме отладки, как указано здесь (http://pro-pawn.ru/showthread.php?12957) и возвращайтесь с логами сюда.
Kovshevoy
17.06.2017, 17:04
Эта ошибка возникает именно при выполнении команды или только при загрузке скрипта?
Скомпилируйте мод в режиме отладки, как указано здесь (http://pro-pawn.ru/showthread.php?12957) и возвращайтесь с логами сюда.
Возможно при выполнении какой-то команды, без понятия. Обновил сейчас плагин до 4.18.1 версии, перекомпилировал с режимом откладки и вот, что есть.
Вот лог:
----------
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team
[16:01:15] filterscripts = "" (string)
[16:01:15] weburl = "www.sa-mp.com" (string)
[16:01:15]
[16:01:15] Server Plugins
[16:01:15] --------------
[16:01:15] Loading plugin: crashdetect
[16:01:15] CrashDetect v4.18.1 is OK.
[16:01:15] Loaded.
[16:01:15] Loading plugin: streamer
[16:01:15]
*** Streamer Plugin v2.9.1 by Incognito loaded ***
[16:01:15] Loaded.
[16:01:15] Loading plugin: sscanf
[16:01:15]
[16:01:15] ===============================
[16:01:15] sscanf plugin loaded.
[16:01:15] Version: 2.8.1
[16:01:15] (c) 2012 Alex "Y_Less" Cole
[16:01:15] ===============================
[16:01:15] Loaded.
[16:01:15] Loaded 3 plugins.
[16:01:15]
[16:01:15] Filterscripts
[16:01:15] ---------------
[16:01:15] Loaded 0 filterscripts.
[16:01:15]
[16:01:15]
[16:01:15]
[16:01:15] =======================================
[16:01:15] | |
[16:01:15] | YSI version 3.09.0684 |
[16:01:15] | By Alex "Y_Less" Cole |
[16:01:15] | |
[16:01:15] =======================================
[16:01:15]
[16:01:15] ---------------------------------------------
[16:01:15] -Tactical Training Server for PD-Service.Ru
[16:01:15] ---------------------------------------------
[16:01:15] Number of vehicle models: 0
[16:02:34] [connection] 127.0.0.1:49196 requests connection cookie.
[16:02:35] [connection] incoming connection: 127.0.0.1:49196 id: 0
[16:02:36] [join] Jessica_Jackins has joined the server (0:127.0.0.1)
[16:02:58] [part] Jessica_Jackins has left the server (0:1)
Daniel_Cortez
17.06.2017, 17:14
При выполнении команд из dc_anims в лог ничего не пишет?
Kovshevoy
17.06.2017, 17:15
При выполнении команд из dc_anims в лог ничего не пишет?
Нет, ничего не пишет.
Daniel_Cortez
15.07.2017, 12:18
Релиз 1.3:
Добавлены макросы для отключения библиотек анимаций (DC_ANIMS_DISABLE__AIRPORT, DC_ANIMS_DISABLE__ATTRACTORS, ..., DC_ANIMS_DISABLE__WUZI).
Исправлена ошибка в обработке аргументов команды /anim, из-за которой не работали анимации.
Предзагрузка анимаций у игроков сделана опциональной.
Это должно помочь серверам избежать превышение лимита на кол-во пакетов от сервера к клиенту во время спавна (переменная "messageslimit" в server.cfg).
По умолчанию предзагрузка включена, но теперь её можно отключить, объявив макрос DC_ANIMS__NO_PRELOAD_AT_SPAWN перед подключением dc_anims.
В список добавлена анимация рыбалки ("SAMP:FishingIdle"), появившаяся в SA:MP 0.3.7.
Теперь в инклуде 1872 анимации в 135 библиотеках.
Исправлен баг с неправильным выводом названий в списке анимаций (проявлялось только при включении англ. языка с помощью макроса DC_ANIMS_LANG_EN).
При выводе списка библиотек анимаций в конце строк больше не добавляются запятые.
Благодаря этому получилось уместить список анимаций в 8 строк, чтобы при вводе пустой команды /anim выводилось 10 строк (ещё 2 на формат использования команды и итоги о кол-ве анимаций и библиотек).
Теперь при стандартном кол-ве видимых строк чата (10) вам не придётся прокручивать чат, чтобы прочитать первые строки, выведенные командой.
Исправлен баг, приводящий к выводу сообщения "Неизвестное название библиотеки" при вводе команды /anim без параметров.
Прочие мелкие исправления багов и изменения для уменьшения требований к памяти и улучшения производительности.
Примеры отключения библиотек анимаций и предзагрузки при спавне приведены в 1-м посте.
Обращаюсь за помощью с проблемой. Подключаю dc_anims в любом месте (до командного процессора, либо же после, вообще в любом месте) - сервер не подключается к базе данных (иногда подключается) и как бы "не отображается", что он "включён" (работает) в SA:MP. В чём может быть проблема? Без данной библиотеки всё работает стабильно.
Daniel_Cortez
17.12.2017, 21:44
Обращаюсь за помощью с проблемой. Подключаю dc_anims в любом месте (до командного процессора, либо же после, вообще в любом месте) - сервер не подключается к базе данных (иногда подключается) и как бы "не отображается", что он "включён" (работает) в SA:MP. В чём может быть проблема? Без данной библиотеки всё работает стабильно.
Уверен, простым взглядом в код инклуда вряд ли получится что-то найти, ибо перед релизом я тестировал инклуд на нескольких стандартных модах. Проще всего будет, если вы скинете в ЛС свой мод.
Уверен, простым взглядом в код инклуда вряд ли получится что-то найти, ибо перед релизом я тестировал инклуд на нескольких стандартных модах. Проще всего будет, если вы скинете в ЛС свой мод.
Daniel_Cortez превысил(а) максимальный объём сохранённых личных сообщений и не может получать новые сообщения, пока не удалит часть старых.
Вот...
Daniel_Cortez
18.12.2017, 22:16
.
Вот...
Почистил ящик, должно хватить на несколько сообщений.
Почистил ящик, должно хватить на несколько сообщений.
Отправил.
Daniel_Cortez
19.12.2017, 22:25
v1.3.1 (20.12.2017):
Устранён уход в бесконечный цикл в OnGameModeInit/OnFilterScriptInit, который возникал в сочетании с использованием fixes.inc (https://github.com/Open-GTO/sa-mp-fixes/) (FIX_GetPlayerPoolSize).
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot