PDA

Просмотр полной версии : [Вопрос] Не работает TDE и iTD



SteveStage
21.08.2020, 11:10
При запуске сервера и вводе /tde или /itd - вызывается паблик OnPlayerCommandPerformed со значением result = -1.

Что делать? Как создавать текстдравы?

OnPlayerCommandPerformed:

public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
{
if(login_check{playerid} == false)
{
SCM(playerid, COLOR_GREY, !"[SERVER] Для использования команд сервера {F81414}авторизируйтесь!");
return false;
}
if(result == -1)
{
SCM(playerid, COLOR_GREY,
!"[SERVER] Команда не найдена! Для ознакомления со списком доступных команд введите {F81414}/help{C3C3C3}.");
return false;
}
return true;
}

Includes:

//#include <jit>
#include <crashdetect>
#include <a_samp>
#include <a_mysql>
#include <foreach>
#include <mxdate>
#include <Pawn.CMD>
#include <sscanf2>
#include <streamer>
#include <random_switch>
#include <enterfix>
#include <pickfix+>
#include <pause>
#include <mapfix>

Sscanf - версия 2018 года.

Pawn.CMD - версия 2020 года.

iTD - версия 2012 года.

TDE - версия 2017.

DeimoS
21.08.2020, 11:49
Продублирую своё сообщение из чата:
Так а ты txd в папку с игрой закинул? Если да - запусти и игру, и SAMP, и мод от имени админа

SteveStage
21.08.2020, 12:04
Продублирую своё сообщение из чата:
Так а ты txd в папку с игрой закинул? Если да - запусти и игру, и SAMP, и мод от имени админа

Я запустил мод от имени администратора - не сработало.

Насчет txd - да, когда у меня был iTD - я запускал с PLEO.txd в models/txd/, а когда появился TDE - TDE.txd по тому же пути.

DeimoS
21.08.2020, 12:31
Я запустил мод от имени администратора - не сработало.

Насчет txd - да, когда у меня был iTD - я запускал с PLEO.txd в models/txd/, а когда появился TDE - TDE.txd по тому же пути.

Нужно не только мод от имени админа запускать, но и в свойствах exe-шника игры/сампа поставить запуск от имени админа. Чтоб и сервер, и игра были запущены от админа.

SteveStage
21.08.2020, 13:35
Не сработало.

tnc
21.08.2020, 13:49
А оно же работает через filterscirpts? Тогда проблема может быть в этом (https://github.com/urShadow/Pawn.CMD#if-you-want-to-use-pawncmd-in-a-filterscript-put-this-define-before-including)

SteveStage
21.08.2020, 14:12
А оно же работает через filterscirpts? Тогда проблема может быть в этом (https://github.com/urShadow/Pawn.CMD#if-you-want-to-use-pawncmd-in-a-filterscript-put-this-define-before-including)

И через фильтрскрипт, и через плагин. И как я уже говорил - я тестил на чистом моде без Pawn.CMD.

DeimoS
21.08.2020, 14:37
Не сработало.

Ну тогда может быть только одно - ты какие-то файлы кинул не туда или же не кинул вовсе. Либо что-то не так подключил.

- - - Добавлено - - -

https://i.imgur.com/mlQsnlN.png (https://forum.sa-mp.com/showthread.php?t=376758)

SteveStage
21.08.2020, 17:06
У меня все верно и все подключено.

Логи сервера:

----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team

[16:04:55]
[16:04:55] Server Plugins
[16:04:55] --------------
[16:04:55] Loading plugin: crashdetect
[16:04:55] CrashDetect plugin 4.19.4
[16:04:55] Loaded.
[16:04:55] Loading plugin: mysql
[16:04:55] >> plugin.mysql: R39-2 successfully loaded.
[16:04:55] Loaded.
[16:04:55] Loading plugin: sscanf
[16:04:55]

[16:04:55] ===============================

[16:04:55] sscanf plugin loaded.

[16:04:55] Version: 2.8.3

[16:04:55] (c) 2018 Alex "Y_Less" Cole

[16:04:55] ===============================

[16:04:55] Loaded.
[16:04:55] Loading plugin: pawncmd
[16:04:55] [Pawn.CMD] plugin v3.3.2 by urShadow loaded
[16:04:55] Loaded.
[16:04:55] Loading plugin: streamer
[16:04:55]

*** Streamer Plugin v2.9.1 by Incognito loaded ***

[16:04:55] Loaded.
[16:04:55] Loading plugin: tde
[16:04:55]
TDEditor Plugin loaded, thank you for using.

[16:04:55] Loaded.
[16:04:55] Loaded 6 plugins.

[16:04:55]
[16:04:55] Filterscripts
[16:04:55] ---------------
[16:04:55] Loading filterscript 'tde.amx'...
[16:04:55]
[16:04:55]
[16:04:55]
[16:04:55]
[16:04:55] ___ __ __
[16:04:55] | | \|_ _|.|_ _ _
[16:04:55] | |__/|__(_|||_(_)|
[16:04:55]
[16:04:55] TDEditor V1.18 by adri1
[16:04:55] TDEditor loaded
[16:04:55]
[16:04:55] Loaded 1 filterscripts.

[16:04:55] MapFix by Nexius v4.0.0 loaded (include version).
[16:04:55]
[------------------------------------]
[16:04:55] [------------------------------------]
[16:04:55] [-----Mode by Steve_Stage------------]
[16:04:55] [-----VK: vk.com/steve_stage---------]
[16:04:55] [------------------------------------]
[16:04:55] [------------------------------------]


[16:04:55] Number of vehicle models: 0
[16:05:08] [connection] incoming connection: 127.0.0.1:59701 id: 0
[16:05:08] [join] Steve_Stage has joined the server (0:127.0.0.1)
[16:05:17] [part] Steve_Stage has left the server (0:1)

В логах все чисто.

DeimoS
21.08.2020, 17:44
А если открыть исходник скрипта и посмотреть название команды?

SteveStage
21.08.2020, 18:14
А если открыть исходник скрипта и посмотреть название команды?

public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/tde", true, 4))
{
if(ProjectEditor == playerid)
{
if(strlen(cmdtext) >= 6)
{
if( (!strcmp(cmdtext[5], "ayuda", true)) || (!strcmp(cmdtext[5], "help", true)) )
{
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}/tde box - /tde exit - /tde cursor - /tde select.");
return 1;
}
if( (!strcmp(cmdtext[5], "cursor", true)) )
{
if(MouseCursor)
{
MouseCursor = false;
CancelSelectTextDraw(ProjectEditor);
}
else
{
MouseCursor = true;
SelectTextDraw(ProjectEditor, -1);
}
return 1;
}
if( (!strcmp(cmdtext[5], "select", true)) )
{
SendClientMessage(playerid, -1, " ");
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}Use /tde selectall to un/select all textdraws.");
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}Use /tde edit to edit selected textdraws.");
CancelSelectTextDraw(playerid);
IsPSel = false;
ShowSelectTDManage(playerid);
return 1;
}
if( (!strcmp(cmdtext[5], "selectall", true)) )
{

if(selectall)
{
selectall = false;
Loop(0, MAX_PROJECT_TEXTDRAWS) SelectedTextDraws[c] = false;
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}All textdraws unselected.");
}
else
{
selectall = true;
Loop(0, MAX_PROJECT_TEXTDRAWS) SelectedTextDraws[c] = true;
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}All textdraws selected.");
}
return 1;
}
if( (!strcmp(cmdtext[5], "edit", true)) )
{
if(moveselectedtds)
{
moveselectedtds = false;
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}Edit selected textdraws: OFF.");
}
else
{
moveselectedtds = true;
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}Edit selected textdraws: ON.");
}
return 1;
}
if( (!strcmp(cmdtext[5], "salir", true)) || (!strcmp(cmdtext[5], "exit", true)) )
{
KillTimer(EditorUpdateTimer);
KillTimer(DeleteTimer);
KillTimer(SpeedTimer);
KillTimer(MoveTDTimer); MoveTDTimer = -1;
KillTimer(TDEHTimer); TDEHTimer = -1;
KillTimer(OutlineTimer);
KillTimer(ShadowTimer);
KillTimer(LetterSizeTimer); LetterSizeTimer = -1;
KillTimer(LetterTimer);
KillTimer(EditSizeTDTimer); EditSizeTDTimer = -1;
KillTimer(EditSizeSpeedT);
KillTimer(ShadowTimer);

if(strlen(ProjectFile))
{
SaveProject();
for (new i = 0; i < MAX_PROJECT_TEXTDRAWS; i++) RemoveTextDrawTDEOnly(i);
}

Loop(0, MAX_PROJECT_TEXTDRAWS) SelectedTextDraws[c] = false;
moveselectedtds = false;
selectall = false;

DestroyMenuTextDraws();
EditMode = EDITMODE_NONE;
ColorMode = COLORMODE_NONE;
ProjectEditor = -1;
EditorEnabled = false;
IsPSel = true;
CursorOX = 0;
CursorOY = 0;
CursorX = 0;
CursorY = 0;
ScreenWidth = 0;
ScreenHeight = 0;
OffsetZ = 415.0;
EditIndex = INVALID_INDEX_ID;
EditMoveSpeed = 0.1;
EditLetterSizeSpeed = 0.01;
EditSizeSpeed = 0.01;
PageStart = 0;
MouseCursor = false;
Zoom = 1.0;
EmptyString(ProjectFile);
EmptyString(Pro_Str);
EmptyString(str_list);
EmptyString(line);

TogglePlayerControllable(playerid, true);
ShowPlayerDialog(playerid, -1, 0, "","", "", "" );
CancelSelectTextDraw(playerid);
return 1;
}
if( (!strcmp(cmdtext[5], "box", true)) || (!strcmp(cmdtext[5], "icons", true)) || (!strcmp(cmdtext[5], "adjust", true)) )
{
if(EditMode == EDITMODE_ADJUST)
{
if(!VirtualKeys[26][KEY_PRESSED]) //Left Mouse Button
{
new Float:pos[2];
for(new i = 1; i < sizeof(TDE_Menu); i++)
{
TDE_TextDrawGetPos(TDE_Menu[i], pos[0], pos[1]);
TDE_TextDrawSetPos(TDE_Menu[i], pos[0], OffsetZ);
TDE_TextDrawShowForPlayer(playerid, TDE_Menu[i]);
}

TDE_TextDrawSetString(TD_Status, "EDITMODE_NONE");
EditMode = EDITMODE_NONE;
IsPSel = true;
return 1;
}
return 1;
}
IsPSel = false;
TDE_TextDrawSetString(TD_Status, "EDITMODE_ADJUST");
EditMode = EDITMODE_ADJUST;
SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}Press 'ESC' to finish this mode.");
return 1;
}
return SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}/tde {e2b960}(box/help)");
}
TDE_TextDrawSetString(TD_Status, "EDITMODE_NONE");
EditMode = EDITMODE_NONE;
CancelSelectTextDraw(playerid);
IsPSel = false;
ShowPlayerDialog(playerid, DIALOG_PROJECT, DIALOG_STYLE_LIST, "TDEditor", "Create a new project\nLoad a project\nClose project", ">>", "X");
}
if(ProjectEditor == -1)
{
new ip[16];
GetPlayerIp(playerid, ip, 16);
if(strcmp(ip, "127.0.0.1", false)) return SendClientMessage(playerid, -1, "{e2b960}TDEditor: {FFFFFF}TDEditor only can be used from localhost (127.0.0.1)");
IsPSel = true;
MouseCursor = true;
TogglePlayerControllable(playerid, false);
DestroyMenuTextDraws();
CreateMenuTextDraws();
SendClientMessage(playerid, -1, "{e2b960}TDEditor "TDE_VERSION" {FFFFFF}Click on the image to start...");
TDE_TextDrawShowForPlayer(playerid, TDELOGO);
SelectTextDraw(playerid, -1);
EmptyString(ProjectFile);
}
return true;
}
return false;
}

Pa4enka
21.08.2020, 19:08
Запускай не на своём моде, а на чистом или том, что идёт вместе со скриптом.

SteveStage
21.08.2020, 20:02
Получилось на чистом сервере запустить.