• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Inoi

/dev/null
Автор темы
VIP
15 Окт 2020
2,240
1,338
208
34
Наиболее частые ошибки при ковырянии пальцем паблик сборок и способы их решения для самых маленьких.

Здесь мы разберём, постараемся объяснить и скинем ссылочки на похожие - самые частые проблемы и их решения, которые возникают у посетителей сайта при использовании бесплатных сборок из раздела Ресурсы.

Решения практически всех этих проблем так или иначе уже есть либо здесь, либо в дискорд-сервере - и все их можно найти самостоятельно.
Мы просто собрали их в одну тему, потому что зачастую люди не способны даже самостоятельно их найти.



Для того, чтобы проще было работать самому - рекомендую установить не только Visual studio, через которую вы будете компилировать свой проект, но и любой удобный текстовый редактор, с функцией подсветки синтаксиса и поиском по файлам. (Поверьте, это практически необходимый инструментарий).
Есть модные VSCode, например - мне нравится Notepad++ по старинке.

Большую часть проблем мы будем разбирать на примере сборки RedAge, как самой популярной.
Практически все паблик сборки, которые вы сейчас можете скачать, если используют .NET для серверной и JavaScript - для клиентской части, так или иначе являются модификациями RedAge, за редчайшим исключением.
Тем не менее, ряд проблем и их решений - в том числе советы по их поиску, практически никак не будут отличаться даже в случаях вашей работы с совсем другими сборками.

Собирая сюда эти вопросы я руководствовался самыми часто задаваемыми и одинаковыми вопросами на форуме и в дискорде.
Как минимум пару раз в неделю на форуме появляется новая тема с одним и тем же вопросом.
Увижу ещё похожие - с удовольствием обновлю топик.


Для того чтобы внесённые вами изменения заработали - нужно скомпилировать проект в dllки, которые подгружает ваш Rage сервер.
Делается это кнопочкой "Собрать" или "Пересобрать решение".

1677526008261.png

Если у вас не отображаются эти функции - скорее всего вы находитесь не внутри решения.
Решение - это файл с расширением .sln
Открытое решение в обозревателе должно выглядеть так, у вас скорее всего в обозреватель подгружена папка или отдельный .cs файл.
Найдите файл решения (.sln) и просто нажмите на него дважды.

1677526173677.png

Путь до папки с вашим сервером не должен содержать русских символов.

Для установки сервера под ОС Linux используйте архив сервера для установки именно под Linux.
В том числе /dotnet дирректорию

Архив лежит в папке \server-files (linux_x64.tar)

Мануал по установке сервера на никс системы:

1677525060838.png

using password NO - вы не указали пароль для подключения
using password YES - параметры подключения неверны
Решение ниже одинаково для обоих случаев


Помимо этих строк в консоли может быть много непонятных надписей, но именно это - сообщение об ошибке.
Access denied for user 'root'@'localhost, где root - логин, а localhost - адрес; означает что сервер не может установить подключение до базы данных с параметрами, которые вы указали.

Для того чтобы найти в проекте логин и пароль до своей бд - можно нажать сочетание клавиш Ctrl+F для поиска по решению, и выбрав параметр "Всё решение" вбить например логин, который вы видите в сообщении об ошибке - в нашем случае root.

1677525827292.png


В сборке RedAge, как наверняка и во многих других - за конфигурацию подключения к базе данных отвечает файл MySQL.cs
Именно его вы найдёте в этой сборке, используя поиск по логину.

1677525906312.png


Картинка может слегка отличаться в зависимости от конкретной модификации -

1677526601424.png


Если вы абсолютно уверены, что указываете верный логин с паролем, и адрес до вашей базы данных тоже верный - проверьте нет ли в папке с сервером файлика Settings.db
Во многих сборках на основе RedAge параметры подключения к базе данных пишутся в этот файл, как в свою маленькую базу данных, и не перезаписываются новыми.
Для того чтобы сборка сгенерировала его заново уже с вашими параметрами - этот файл нужно удалить.

В противном случае - данные подключения вами указываются неверно.
Стоит проверить их, используя любые sql-вьюверы, например HeidiSQL

В зависимости от конкретного текста, который вы хотите изменить - он может находится и внутри серверной части, как например стандартное приветствие в чатик

1677527734366.png


И внутри клиентской - как например похожее, но уже для каждого игрока (не зря же оно в клиентской части)
1677527842676.png


Для того чтобы найти нужный текст - нужно нажать сочетание клавиш Ctrl+F для поиска по решению, если вы ищете текст в серверной части проекта и выбрав параметр "Всё решение" вбить кусочек текста, который вам нужен - например "RAGEMP".

Для того чтобы найти нужный текст в клиентской части - в текстовом редакторе подобно Notepad++ нужно нажать сочетание клавиш Ctrl+F и выбрать "Найти в файлах"
В параметре "Папка" - указать папку client_packages, и также в поле "Найти" - желательно одно слово, которое содержится в предложении, что вы хотите найти.
Если вы точно уверены, что необходимое слово находится внутри например .html или .js документа - можно указать такой фильтр, чтобы ускорить поиск.
В противном случае поле "фильтры" можно оставить пустым - но учтите, что внутри этой же папки лежат ваши dlc - их сканирование может занять какое-то время, а особо большие файлы придётся пропустить, о чём Notepad вас предупредит.

1677527965875.png


Для того чтобы поменять картинки, логотипы и прочие элементы интерфейса - сначала их нужно найти. :roflanebalo:
Сделать это можно точно так же, поиском по ключевым словам, которые есть в интерфейсе, картинку в котором вы хотите поменять.

Например - в вашем интерфейсе есть "АВТОБОТЫ, ТРАНСФОРМИРУЕМСЯ" - в отличие от "Детей из африки" это очевидно статичный текст, а не какой-то товар, который может меняться.

photo_2023-02-19_19-23-16.jpg


Вбейте "автоботы" в "поиск по файлам" в вашей клиентской папке в Notepad++ - и найдёте нужную html-страничку, и ссылки на картинки на ней.
(Путь до картинок в html заключён в тег <img src = )

1677528436660.png

Для того чтобы добавить на ваш сервер новые интерьеры и автомобили - нужно скачать или собрать самостоятельно dlc файл с нужным дополнением.
После этого - положить папочку с вашим dlc по адресу client_packages\game_resources\dlcpacks
И прописать его в файле client_packages\game_resources\x64\dlcPacks\dlclist.xml
Где после dlcpacks:/ - ваш путь до папки от client_packages\game_resources\dlcpacks

1677530131047.png


Для того чтобы примерно понять, как добавлять автомобили в автосалоны и прочие ваши бизнесы - можно воспользоваться например вот этим видеороликом.
Машины фракций в сборках на основе RedAge меняются в базе данных, в табличке fractionvehicles в столбике "model".
Для работы с базой данных можно использовать любые sql-вьюверы, например HeidiSQL

Проверьте, не скачали ли вы ELS модель.
Rage не поддерживает ELS

1677530288335.png

С версии rage 1.1 конвертировать dlc не нужно.
ArchiveFix больше использовать не нужно.
DLC можно просто скачать или собрать - и засовывать в нужные папочки.

Ошибка вида

[Threading Debugging] Имя_функции was called out of main thread
Non-thread-safe API has been invoked out of main thread. Check NAPI.Task.Run.


означает что вы пытаетесь вызвать функции rage api не из главного потока. А так по правилам рейджа делать не нужно.

Для того чтобы исправить эту проблему - нужно найти правильно место - обычно оно указано в тексте ошибки
Например здесь -
[Threading Debugging] ERROR: GetPlayerIp was called out of main thread
Non-thread-safe API has been invoked out of main thread. Check NAPI.Task.Run.
22:12:02.512 | Error | Account | System.Exception: Non-thread-safe API has been invoked out of main thread. Check NAPI.Task.Run.
at Bootstrapper.EventInternalClass.OnThreadingException()
at GTANetworkMethods.Player.GetPlayerAddress(Player player)
at GTANetworkAPI.Player.get_Address()
at NeptuneEvo.Core.nAccount.Account.LoginIn(Player client, String login_, String pass_) in C:\serverfiles\dotnet\resources\client\Core\nAccount.cs:line 90

Нужно найти вызов функции GetPlayerIp в nAccount.cs (Ctrl+F в помощь) и обернуть вызов функции в код

Код:
NAPI.Task.Run(() =>
{

    /// Здесь ваш код с getPlayerIp();

}, 5000);

Распространённые ошибки, для которых не существует "универсального решения", но

Ошибка "is not an integer" означает, что в функцию (например Clothes TypeError setComponentVariation drawableld is not an integer) передаётся аргумент (drawableId) не типа int.

В этом примере - для установки плееру какой-то части одежды в коде вызывается функция setComponentVariation с двумя аргументами drawableId и textureId.
Оба этих аргумента должны быть числами.

Аргумент drawableId в момент ошибки - не число.
Именно об этом говорит ошибка.

Никто не может за вас точно определить в какой момент эта ошибка возникает, как именно функция вызывается - но очевидно в том месте где должна быть цифра - её нет.
Причин может быть масса - например вы одеваете шмотку через консоль, и нажимаете на буковки вместо цифр. Или например неверно передаёте данные с сервера в клиент.
Ну или просто написали какой нибудь
JavaScript:
 CasinoPedsID[n].setComponentVariation(1, "тут текст а не цифры", 0, 0);
где-нибудь.

Для того чтобы решить такую проблему - нужно понять в какой момент вызывается ошибку, и логгировать получаемые значения, выводя себе в чатик, нотифайки или куда-нибудь ещё. Чтобы понять, где именно приходит не то значение.

Ошибка The given key was not present in the dictionary означает, что словарик (Dictionary) не содержит значения ключа, с которым вы пытаетесь к нему обратиться.

Пути поиска проблемы зависят от конкретного участка кода, который вызывает эту ошибку
Например ошибка по адресу Houses.HouseManager.callback_housebuy - с цифровым ключом, к примеру The given key '385236' скорее всего будет означать, что у дома, который вы покупаете - в базе данных нет банковского счёта.
Тогда, нужно будет в вашей бд найти табличку с банковскими счетами (RedAge - money) и добавить новую запись со значением id равным значению bank вашего дома в табличке houses.
При этом не забыв поставить дому ещё и соответствующий type

В случае если ошибка не связана с домами - а это довольно распространённая ошибка в целом - обычно из её текста можно всё равно примерно понять проблему (например вы пытаетесь получить не существующий автомобиль, или купить итем, который забыли добавить на сервер в dictionary с итемами.

Если вы определите с помощью текста ошибки вызов словаря - можно нажать на него с зажатым Ctrl прямо в Visual Studio, и перейти к нужному словарю, чтобы убедиться, что то что вы пытаетесь получить - вообще в нём существует.

1677537084612.png


Если вы ничего особо не добавляли сами, а ошибка есть - скорее всего она уже у кого-нибудь встречалась, и ему помогли - попробуйте поиск по форуму, или дискорду проекта

1677538218844.png

Ещё больше глобальных вопросов:
  • Как мне создать или перенести педа?
  • Как мне создать или перенести маркер?
  • Как мне поменять цены?
  • Как добавить новые?

Поиск ответов на такие вопросы чаще всего стоит начинать с гугла

1677538720977.png


Вуаля - вы просто написали в этой волшебной строке то что нужно - и ответ оказывается буквально в первом же результате, отправляя вас в святую святых любого рейдж-разработчика - официальную википедию рейджа.

Теперь вы знаете - что на js (клиент в случае с редейджем) пед создаётся через mp.peds.new, а потратите ещё две минуты - и узнаете что на .net (соответственно сервер) за это отвечает NAPI.Ped.CreatePed. Всё что вам теперь остаётся - воспользоваться поиском по файлам или своему решению, чтобы найти педа который вас интересует для того чтобы его изменить, или создать нового по его образу и подобию. Абсолютно то же самое касается любых маркеров, кулшейпов и взаимодействия с ними.
С ценами и новыми товарами ещё проще - нужно просто найти уже существующие в своём проекте по названиям, даже гуглить не надо.

1677539099134.png


Вместо того чтобы тратить десять минут на то, чтобы задать вопрос и дождаться, пока на него ответят - можно просто открыть его (поиск) прямо в визуалке, набрать в нём "ALYX" (из примера выше) -
и чудеса, окажется что это дело буквально нескольких секунд.
1677539302534.png

Пара спойлеров с повторяющейся информацией по поиску, просто отдельно:
В визуалке - нужно нажать сочетание клавиш Ctrl+F для поиска по решению, и выбрав параметр "Всё решение" вбить то, что вам нужно найти.

1677525827292.png


Не останавливайтесь на первом же результате, пока не убедитесь, что нашли действительно то, что нужно :)
Для того чтобы найти нужный текст в клиентской части - в текстовом редакторе подобно Notepad++ нужно нажать сочетание клавиш Ctrl+F и выбрать "Найти в файлах"
В параметре "Папка" - указать папку client_packages, и также в поле "Найти" - желательно одно слово, которое содержится в предложении, что вы хотите найти.
Если вы точно уверены, что необходимое слово находится внутри например .html или .js документа - можно указать такой фильтр, чтобы ускорить поиск.
В противном случае поле "фильтры" можно оставить пустым - но учтите, что внутри этой же папки лежат ваши dlc - их сканирование может занять какое-то время, а особо большие файлы придётся пропустить, о чём Notepad вас предупредит.

1677527965875.png


После завершения поиска - Notepad вывалит снизу список найденных совпадений с полным путём до файла с нужным текстом.
По клику на результат - мгновенно откроется нужный файл с нужным местом.

Notepad++ - только пример подобного редактора, которым я привык пользоваться. Подобный функционал есть в любом современном текстовом редакторе.

Совсем уж ластецкие советы по поиску проблемы:

Логгируйте. Логгируйте каждый свой шаг в том месте, где у вас что-то не получается.
JavaScript:
NAPI.Chat.SendChatMessageToPlayer(player, "ОШИБКА БАЛЯТ: " + peremennaya);
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Я сюда попадаю", 3000);

//
mp.gui.chat.push("ТУТА" +peremennaya); // ну и в конце концов

Если вы примерно понимаете, в каком участке кода проблема - стоит начать выводить себе в чат, нотифаи, алерты в конце концов - буквально хотя бы цифры туда печатать, чтобы осознавать, какой участок кода работает - а какой нет. В какую часть своего метода\функции\евента вы попадаете - а в какую нет.

В Visual Studio есть замечательная функция дебагга, которая позволяет ставить вам точки остановки:

1677540984120.png


Один клик левой кнопки мыши в самом начале строки - и в игре, когда вы окажетесь в этом месте - игра замрёт, процесс встанет на паузу и вы буквально наводясь мышкой на переменные - можете посмотреть текущие значения прямо в визуалке. Таки образом очень легко проверить присваиваются ли нужные значения, то ли вы вообще куда-нибудь передаёте, и что сейчас содержит какой-нибудь динамический словарик.


Если вам совсем-совсем ничего не помогло - грустно.
Но ничего, смело создавайте тему на форуме - здесь есть целая куча замечательных ребят, которые обязательно подскажут.
Просто подсказывать гораздо проще, когда вы сами прошли какой-то этап попыток решения своей проблемы - и как минимум можете лучше её описать.
Рассказать что поискали, что попробовали поменять, какие сообщения выводили себе в чатик и в каких местах.
Без этого - чаще всего подсказки превращаются в гадание на кофейной гуще, и процесс становления вашего замечательного проекта только затягивается.

Не забывайте - есть ещё поиск по форуму, дискорду и целый раздел с видеоуроками!
И все они отлично работают и могут вам помочь гораздо оперативнее, чем случайный (или даже постоянный) посетитель с подсказкой.

Пока это кратенький список того, что вспомнилось с ходу за последние пару недель из наболевшего.
Вспомнится ещё - обязательно добавим, и героев что тут периодически оказывают поддержку случайным странникам я вовсю призываю с этим тоже помочь.
 
Последнее редактирование:

Trouble

Начинающий специалист
17 Окт 2021
160
93
68
Наиболее частые ошибки при ковырянии пальцем паблик сборок и способы их решения для самых маленьких.

Здесь мы разберём, постараемся объяснить и скинем ссылочки на похожие - самые частые проблемы и их решения, которые возникают у посетителей ragemp.pro при использовании паблик сборок.
Решения практически всех этих проблем так или иначе уже есть либо здесь, либо в дискорде - и все их можно найти самостоятельно. Мы просто собрали их в одну тему, потому что зачастую люди не способны даже самостоятельно их найти.

Для того, чтобы проще было работать самому - рекомендую установить не только Visual studio, через которую вы будете компилировать свой проект, но и любой удобный текстовый редактор, с функцией подсветки синтаксиса и поиском по файлам. (Поверьте, это практически необходимый инструментарий)
Есть модные VSCode, например - мне нравится Notepad++ по старинке.

Большую часть проблем мы будем разбирать на примере сборки RedAge, как самой популярной.
Практически все паблик сборки, которые вы сейчас можете скачать, если используют .net для серверной и js - для клиентской части, так или иначе являются модификациями RedAge, за редчайшим исключением.
Тем не менее, ряд проблем и их решений - в том числе советы по их поиску, практически никак не будут отличаться даже в случаях вашей работы с совсем другими сборками.

Собирая сюда эти вопросы я руководствовался самыми часто задаваемыми и одинаковыми вопросами на форуме и в дискорде.
Как минимум пару раз в неделю на форуме появляется новая тема с одним и тем же вопросом.
Увижу ещё похожие - с удовольствием обновлю топик.


Для того чтобы внесённые вами изменения заработали - нужно скомпилировать проект в dllки, которые подгружает ваш Rage сервер.
Делается это кнопочкой "Собрать" или "Пересобрать решение".

Посмотреть вложение 6601

Если у вас не отображаются эти функции - скорее всего вы находитесь не внутри решения.
Решение - это файл с расширением .sln
Открытое решение в обозревателе должно выглядеть так, у вас скорее всего в обозреватель подгружена папка или отдельный .cs файл.
Найдите файл решения (.sln) и просто нажмите на него дважды.

Посмотреть вложение 6602

Путь до папки с вашим сервером не должен содержать русских символов.

Посмотреть вложение 6598
using password NO - вы не указали пароль для подключения
using password YES - параметры подключения неверны
Решение ниже одинаково для обоих случаев


Помимо этих строк в консоли может быть много непонятных надписей, но именно это - сообщение об ошибке.
Access denied for user 'root'@'localhost, где root - логин, а localhost - адрес; означает что сервер не может установить подключение до базы данных с параметрами, которые вы указали.

Для того чтобы найти в проекте логин и пароль до своей бд - можно нажать сочетание клавиш Ctrl+F для поиска по решению, и выбрав параметр "Всё решение" вбить например логин, который вы видите в сообщении об ошибке - в нашем случае root.

Посмотреть вложение 6599

В сборке RedAge, как наверняка и во многих других - за конфигурацию подключения к базе данных отвечает файл MySQL.cs
Именно его вы найдёте в этой сборке, используя поиск по логину.

Посмотреть вложение 6600

Картинка может слегка отличаться в зависимости от конкретной модификации -

Посмотреть вложение 6603

Если вы абсолютно уверены, что указываете верный логин с паролем, и адрес до вашей базы данных тоже верный - проверьте нет ли в папке с сервером файлика Settings.db
Во многих сборках на основе RedAge параметры подключения к базе данных пишутся в этот файл, как в свою маленькую базу данных, и не перезаписываются новыми.
Для того чтобы сборка сгенерировала его заново уже с вашими параметрами - этот файл нужно удалить.

В противном случае - данные подключения вами указываются неверно.
Стоит проверить их, используя любые sql-вьюверы, например HeidiSQL

В зависимости от конкретного текста, который вы хотите изменить - он может находится и внутри серверной части, как например стандартное приветствие в чатик

Посмотреть вложение 6605

И внутри клиентской - как например похожее, но уже для каждого игрока (не зря же оно в клиентской части)
Посмотреть вложение 6606

Для того чтобы найти нужный текст - нужно нажать сочетание клавиш Ctrl+F для поиска по решению, если вы ищете текст в серверной части проекта и выбрав параметр "Всё решение" вбить кусочек текста, который вам нужен - например "RAGEMP".

Для того чтобы найти нужный текст в клиентской части - в текстовом редакторе подобно Notepad++ нужно нажать сочетание клавиш Ctrl+F и выбрать "Найти в файлах"
В параметре "Папка" - указать папку client_packages, и также в поле "Найти" - желательно одно слово, которое содержится в предложении, что вы хотите найти.
Если вы точно уверены, что необходимое слово находится внутри например .html или .js документа - можно указать такой фильтр, чтобы ускорить поиск.
В противном случае поле "фильтры" можно оставить пустым - но учтите, что внутри этой же папки лежат ваши dlc - их сканирование может занять какое-то время, а особо большие файлы придётся пропустить, о чём Notepad вас предупредит.

Посмотреть вложение 6607

Для того чтобы поменять картинки, логотипы и прочие элементы интерфейса - сначала их нужно найти. :roflanebalo:
Сделать это можно точно так же, поиском по ключевым словам, которые есть в интерфейсе, картинку в котором вы хотите поменять.

Например - в вашем интерфейсе есть "АВТОБОТЫ, ТРАНСФОРМИРУЕМСЯ" - в отличие от "Детей из африки" это очевидно статичный текст, а не какой-то товар, который может меняться.

Посмотреть вложение 6609

Вбейте "автоботы" в "поиск по файлам" в вашей клиентской папке в Notepad++ - и найдёте нужную html-страничку, и ссылки на картинки на ней.
(Путь до картинок в html заключён в тег <img src = )

Посмотреть вложение 6610

Для того чтобы добавить на ваш сервер новые интерьеры и автомобили - нужно скачать или собрать самостоятельно dlc файл с нужным дополнением.
После этого - положить папочку с вашим dlc по адресу client_packages\game_resources\dlcpacks
И прописать его в файле client_packages\game_resources\x64\dlcPacks\dlclist.xml
Где после dlcpacks:/ - ваш путь до папки от client_packages\game_resources\dlcpacks

Посмотреть вложение 6612

Для того чтобы примерно понять, как добавлять автомобили в автосалоны и прочие ваши бизнесы - можно воспользоваться например вот этим видеороликом.
Машины фракций в сборках на основе RedAge меняются в базе данных, в табличке fractionvehicles в столбике "model".
Для работы с базой данных можно использовать любые sql-вьюверы, например HeidiSQL

Проверьте, не скачали ли вы ELS модель.
Rage не поддерживает ELS

Посмотреть вложение 6613

С версии rage 1.1 конвертировать dlc не нужно.
ArchiveFix больше использовать не нужно.
DLC можно просто скачать или собрать - и засовывать в нужные папочки.

Ошибка вида

[Threading Debugging] Имя_функции was called out of main thread
Non-thread-safe API has been invoked out of main thread. Check NAPI.Task.Run.


означает что вы пытаетесь вызвать функции rage api не из главного потока. А так по правилам рейджа делать не нужно.

Для того чтобы исправить эту проблему - нужно найти правильно место - обычно оно указано в тексте ошибки
Например здесь -


Нужно найти вызов функции GetPlayerIp в nAccount.cs (Ctrl+F в помощь) и обернуть вызов функции в код

Код:
NAPI.Task.Run(() =>
{

    /// Здесь ваш код с getPlayerIp();
  
}, 5000);

Распространённые ошибки, для которых не существует "универсального решения", но

Ошибка The given key was not present in the dictionary означает, что словарик (Dictionary) не содержит значения ключа, с которым вы пытаетесь к нему обратиться.

Пути поиска проблемы зависят от конкретного участка кода, который вызывает эту ошибку
Например ошибка по адресу Houses.HouseManager.callback_housebuy - с цифровым ключом, к примеру The given key '385236' скорее всего будет означать, что у дома, который вы покупаете - в базе данных нет банковского счёта.
Тогда, нужно будет в вашей бд найти табличку с банковскими счетами (RedAge - money) и добавить новую запись со значением id равным значению bank вашего дома в табличке houses.
При этом не забыв поставить дому ещё и соответствующий type

В случае если ошибка не связана с домами - а это довольно распространённая ошибка в целом - обычно из её текста можно всё равно примерно понять проблему (например вы пытаетесь получить не существующий автомобиль, или купить итем, который забыли добавить на сервер в dictionary с итемами.

Если вы определите с помощью текста ошибки вызов словаря - можно нажать на него с зажатым Ctrl прямо в Visual Studio, и перейти к нужному словарю, чтобы убедиться, что то что вы пытаетесь получить - вообще в нём существует.

Посмотреть вложение 6614

Если вы ничего особо не добавляли сами, а ошибка есть - скорее всего она уже у кого-нибудь встречалась, и ему помогли - попробуйте поиск по форуму, или дискорду проекта

Посмотреть вложение 6615

Ещё больше глобальных вопросов:
  • Как мне создать или перенести педа?
  • Как мне создать или перенести маркер?
  • Как мне поменять цены?
  • Как добавить новые?

Поиск ответов на такие вопросы чаще всего стоит начинать с гугла

Посмотреть вложение 6616

Вуаля - вы просто написали в этой волшебной строке то что нужно - и ответ оказывается буквально в первом же результате, отправляя вас в святую святых любого рейдж-разработчика - официальную википедию рейджа.

Теперь вы знаете - что на js (клиент в случае с редейджем) пед создаётся через mp.peds.new, а потратите ещё две минуты - и узнаете что на .net (соответственно сервер) за это отвечает NAPI.Ped.CreatePed. Всё что вам теперь остаётся - воспользоваться поиском по файлам или своему решению, чтобы найти педа который вас интересует для того чтобы его изменить, или создать нового по его образу и подобию. Абсолютно то же самое касается любых маркеров, кулшейпов и взаимодействия с ними.
С ценами и новыми товарами ещё проще - нужно просто найти уже существующие в своём проекте по названиям, даже гуглить не надо.

Посмотреть вложение 6617

Вместо того чтобы тратить десять минут на то, чтобы задать вопрос и дождаться, пока на него ответят - можно просто открыть его (поиск) прямо в визуалке, набрать в нём "ALYX" (из примера выше) -
и чудеса, окажется что это дело буквально нескольких секунд.
Посмотреть вложение 6618

Совсем уж ластецкие советы по поиску проблемы

Логгируйте. Логгируйте каждый свой шаг в том месте, где у вас что-то не получается.
Код:
NAPI.Chat.SendChatMessageToPlayer(player, "ОШИБКА БАЛЯТ: " + peremennaya);
Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Я сюда попадаю", 3000);

ну и
mp.gui.chat.push("ТУТА" +peremennaya)
в конце концов

Если вы примерно понимаете, в каком участке кода проблема - стоит начать выводить себе в чат, нотифаи, алерты в конце концов - буквально хотя бы цифры туда печатать, чтобы осознавать, какой участок кода работает - а какой нет. В какую часть своего метода\функции\евента вы попадаете - а в какую нет.

В Visual Studio есть замечательная функция дебагга, которая позволяет ставить вам точки остановки:
Посмотреть вложение 6621
Один клик левой кнопки мыши в самом начале строки - и в игре, когда вы окажетесь в этом месте - игра замрёт, процесс встанет на паузу и вы буквально наводясь мышкой на переменные - можете посмотреть текущие значения прямо в визуалке. Таки образом очень легко проверить присваиваются ли нужные значения, то ли вы вообще куда-нибудь передаёте, и что сейчас содержит какой-нибудь динамический словарик.


Если вам совсем-совсем ничего не помогло - грустно.
Но ничего, смело создавайте тему на форуме - здесь есть целая куча замечательных ребят, которые обязательно подскажут.
Просто подсказывать гораздо проще, когда вы сами прошли какой-то этап попыток решения своей проблемы - и как минимум можете лучше её описать.
Рассказать что поискали, что попробовали поменять, какие сообщения выводили себе в чатик и в каких местах.
Без этого - чаще всего подсказки превращаются в гадание на кофейной гуще, и процесс становления вашего замечательного проекта только затягивается.

Не забывайте - есть ещё поиск по форуму, дискорду и целый раздел с видеоуроками!
И все они отлично работают и могут вам помочь гораздо оперативнее, чем случайный (или даже постоянный) посетитель с подсказкой.

Пока это кратенький список того, что вспомнилось с ходу за последние пару недель из наболевшего.
Вспомнится ещё - обязательно добавим, и героев что тут периодически оказывают поддержку случайным странникам я вовсю призываю с этим тоже помочь.
Вот только сегодня думал о том, чтобы сделать такую тему, но руки так и не дошли. Наконец-то, есть куда посылать совсем ленивых (y)
 

wholinc

Специалист
24 Янв 2023
763
444
95
23
Пора добавить из-за того что люди начинают скачивать серверную часть и забывают откатить config:

заголовок спойлера:
YOU GAME VERSION IS NOT SUPPORTED BY RAGE MULTIPLAYER


Описание:
1. Обновить игру или проверить целостность файлов.
2. После получения серверной части необходимо открыть config.xml в корневой папке RAGE и изменить с "<channel>prerelease_server</channel>" на "<channel>prerelease</channel>".
 
  • Like
Реакции: Inoi