Malboro Posted April 6, 2019 Share Posted April 6, 2019 (edited) Привет!!! Продолжаем. Рассмотрим настройку среды разработки для клиентской части. Сразу извините за звук, поехали: Строка настройки событий после сборки: 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 April 19, 2019 by Malboro 1 Link to comment Share on other sites More sharing options...
Dr.Deft Posted April 9, 2019 Share Posted April 9, 2019 При сборке ошибка. Ругается на цикл 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 More sharing options...
Malboro Posted April 10, 2019 Author Share Posted April 10, 2019 (edited) 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 April 10, 2019 by Malboro Link to comment Share on other sites More sharing options...
Dr.Deft Posted April 10, 2019 Share Posted April 10, 2019 Вот сам код 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 More sharing options...
Malboro Posted April 10, 2019 Author Share Posted April 10, 2019 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 More sharing options...
pandov Posted April 14, 2019 Share Posted April 14, 2019 Спасибо за видео! При сборке проекта сталкиваюсь с такой же проблемой как у Dr.Deft. Сделал себе файл copy.cmd c тем же текстом и копирование начало работать. Запускаю сервер -> Захожу на него -> Выходит уведомление о компиляции клиентских скриптов Но сами скрипты не запускаются. Для примера прикрепляю ниже ПУТЬ (куда копируются файлы) и ФАЙЛ (с исходным кодом вывода в чат при запуске). Текст в чат не выводит. Что неправильно делаю? Сможете помочь? Link to comment Share on other sites More sharing options...
Malboro Posted April 15, 2019 Author Share Posted April 15, 2019 Первое что нужно сделать - это убедится в наличии файла в папке с Rage: enable-clientside-cs.txt Без этого файла клиентская часть работать не будет, так как на версии 3.7 клиент шарп находится в стадии теста. Если его нет нужно его создать Link to comment Share on other sites More sharing options...
pandov Posted April 15, 2019 Share Posted April 15, 2019 Файл есть в наличии. В некоторых уроках предлагали записать в него true. Вероятно это роли не играет, но оба варианта (с и без содержимого) у меня не проходят. Link to comment Share on other sites More sharing options...
Malboro Posted April 15, 2019 Author Share Posted April 15, 2019 1 час назад, pandov сказал: Файл есть в наличии. В некоторых уроках предлагали записать в него true. Вероятно это роли не играет, но оба варианта (с и без содержимого) у меня не проходят. Записывать в него однозначно нечего не нужно. Возможно следует дождаться пока клиент загрузится полностью, или чат отключен. Создай событие и выведи что-нибудь в чат, вызови его явным образом чтобы убедится что чат и клиент работает наверняка. Это даст тебе направление куда копать. Мне просто совсем не хочется гта запускать. Но если не разберешься напиши в дискорде помогу. Там в русском чате найдешь Link to comment Share on other sites More sharing options...
pandov Posted April 15, 2019 Share Posted April 15, 2019 Посмотрел ваше видео про события. Написал аналогичный код. И все равно почему-то не работает. Однако что заметил: при заходе на сервер клиентские файлы кэшируются (в директорию 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); } } } Скриншот работы. Ни один из сценариев клиента не работает. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now