Jump to content

Настройка клиентской части для разработки в RageMP (C# client side)


Malboro

Recommended Posts

Привет!!!


Продолжаем. Рассмотрим настройку среды разработки для клиентской части. Сразу извините за звук, поехали:

Строка настройки событий после сборки:

del "E:\RageMP\client_packages\cs_packages\*.*" /Q
for /R %CD% %%i in (*.cs) do (
	xcopy %%i "E:\RageMP\client_packages\cs_packages\" /Q /Y /EXCLUDE:exclude.txt
)

Пока!!!

Edited by Malboro
  • Like 1
Link to comment
Share on other sites

При сборке ошибка. Ругается на цикл
 

1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: выход из команды "del "C:\RAGE-Server\client_packages\cs_packages\*.*" /Q
1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: for /R Í% %%i in (*.cs) do (
1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: 	xcopy %%i "C:\RAGE-Server\client_packages\cs_packages\" /Q /Y /EXCLUDE:exclude.txt
1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: )" с кодом 255.

 

Link to comment
Share on other sites

13 часа назад, Dr.Deft сказал:

При сборке ошибка. Ругается на цикл
 


1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: выход из команды "del "C:\RAGE-Server\client_packages\cs_packages\*.*" /Q
1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: for /R Í% %%i in (*.cs) do (
1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: 	xcopy %%i "C:\RAGE-Server\client_packages\cs_packages\" /Q /Y /EXCLUDE:exclude.txt
1>C:\RAGE-Server\RageMP\Client\Client.csproj(18,5): error MSB3073: )" с кодом 255.

 

Судя по ошибке не может удалить старые файлы, возможно они открыты в редакторе, либо недостаточно прав для удаления(попробуй запустить vs от имени администратора)

И еще скинь строку посмотреть смущает один момент:

for /R Í% %%i

 

Edited by Malboro
Link to comment
Share on other sites

Вот сам код 

del "C:\RAGE-Server\client_packages\cs_packages\*.*" /Q
for /R %CD% %%i in (*.cs) do (
	xcopy %%i "C:\RAGE-Server\client_packages\cs_packages\" /Q /Y /EXCLUDE:exclude.txt
)

Ругается именно на цикл. Если без него, то отдельное удаление и копирование работает. Если %CD% заменить на папку, то ошибка так же остается. 

Link to comment
Share on other sites

1 час назад, Dr.Deft сказал:

Вот сам код 


del "C:\RAGE-Server\client_packages\cs_packages\*.*" /Q
for /R %CD% %%i in (*.cs) do (
	xcopy %%i "C:\RAGE-Server\client_packages\cs_packages\" /Q /Y /EXCLUDE:exclude.txt
)

Ругается именно на цикл. Если без него, то отдельное удаление и копирование работает. Если %CD% заменить на папку, то ошибка так же остается. 

Попробуй открыть. Окно команд в корне клиента и выполнить эту команду. У меня винда 10 полет нормальный ошибок нет. Так же попробуй от имени администратора.

Link to comment
Share on other sites

Спасибо за видео!
При сборке проекта сталкиваюсь с такой же проблемой как у Dr.Deft.

Сделал себе файл copy.cmd c тем же текстом и копирование начало работать.

Запускаю сервер -> Захожу на него -> Выходит уведомление о компиляции клиентских скриптов

Но сами скрипты не запускаются. Для примера прикрепляю ниже ПУТЬ (куда копируются файлы) и ФАЙЛ (с исходным кодом вывода в чат при запуске). Текст в чат не выводит.

KMsAA_3zbTk.jpg

Что неправильно делаю? Сможете помочь?

Link to comment
Share on other sites

Первое что нужно сделать - это убедится в наличии файла в папке с Rage:

enable-clientside-cs.txt

Без этого файла клиентская часть работать не будет, так как на версии 3.7 клиент шарп находится в стадии теста. Если его нет нужно его создать

Link to comment
Share on other sites

Файл есть в наличии.

xbFqbhB-n1M.jpg

В некоторых уроках предлагали записать в него true. Вероятно это роли не играет, но оба варианта (с и без содержимого) у меня не проходят.

Link to comment
Share on other sites

1 час назад, pandov сказал:

Файл есть в наличии.

xbFqbhB-n1M.jpg

В некоторых уроках предлагали записать в него true. Вероятно это роли не играет, но оба варианта (с и без содержимого) у меня не проходят.

Записывать в него однозначно нечего не нужно. Возможно следует дождаться пока клиент загрузится полностью, или чат  отключен. Создай событие и выведи что-нибудь в чат, вызови его явным образом чтобы убедится что чат и клиент работает наверняка. Это даст тебе направление куда копать. Мне просто совсем не хочется гта запускать. Но если не разберешься напиши в дискорде помогу. Там в русском чате найдешь

Link to comment
Share on other sites

Посмотрел ваше видео про события. Написал аналогичный код. И все равно почему-то не работает. Однако что заметил: при заходе на сервер клиентские файлы кэшируются (в директорию client_resources в корневой папке мультиплеера). Странно почему они не вызываются.

Ниже прикрепляю код двух файлов (клиента и сервера), а также тест их работы.

MainServer.cs

using GTANetworkAPI;

namespace Gamemode
{
    public class MainServer : Script
    {
        public MainServer()
        {
        }

        [ServerEvent(Event.PlayerConnected)]
        public void OnPlayerConnected(Client client)
        {
            client.SendChatMessage("ServerEvent.PlayerConnected");
            NAPI.Util.ConsoleOutput($"Player name is {client.Name}");
            client.TriggerEvent("ClientTestEvent", "TriggerClientEvent");
        }

        [RemoteEvent("TestEvent")]
        public void OnTestEvent(Client client, string message)
        {
            NAPI.Util.ConsoleOutput($"Client message: {message}");
        }
    }
}

MainClient.cs

using RAGE;

namespace ClientScripts
{
    public class MainClient : Events.Script
    {
        public MainClient()
        {
            Events.OnPlayerChat += OnPlayerChat;
            Events.Add("ClientTestEvent", OnClientTestEvent);
            Chat.Output("Test client!");
        }

        private void OnClientTestEvent(object[] args)
        {
            string message = (string)args[0];
            Chat.Output(message);
        }

        private void OnPlayerChat(string text, Events.CancelEventArgs cancel)
        {
            Events.CallRemote("TestEvent", text);
        }
    }
}

Скриншот работы. Ни один из сценариев клиента не работает.

iS1Gu4uVJ58.jpg

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...