Добро пожаловать на RAGE MULTIPLAYER

Собирайтесь с другими игроками, создавайте собственный сервер, формируйте сообщество или придумывайте новый игровой режим. В RAGE Multiplayer вас ждут бесконечные возможности и непревзойденный контроль. Пусть ваше воображение станет вашим единственным пределом.
  • Основной домен www.ragem.ru
    Зеркало сайта www.ragem.pro - работает без VPN (для тех, у кого сайт работает только с им)
    Mirror site www.ragem.pro - works without VPN (for those whose site works only with it)
  • Кто привязывал дискорд аккаунт к форуму для авторизации просьба сообщить в дискорд канале https://discord.gg/ragemru, либо в Telegram: https://t.me/ragemru
    Who linked the discord account to the forum for authorization, please inform in the discord channel https://discord.gg/ragemru, or in Telegram: https://t.me/ragemru

Помогите

  • Автор темы Автор темы Dosjshd
  • Дата начала Дата начала

Dosjshd

Неактивный участник
👨 Участник портала
Регистрация
25.06.2024
Сообщения
44
Розыгрыши
0
Репутация
0
Реакции
6
Баллы
7
💰 RC
2
1737914512551.pngкак пофиксить закинул голод и такая фмигня
 
Чтобы пофиксить ошибку "закинул голод и такая фигня" в разработке на Rage MP, вам необходимо просмотреть свой код и найти проблему. Возможно, причина кроется в неправильной обработке данных о голоде или в некорректной логике игры.

Для начала, удостоверьтесь, что вы правильно передаете данные о голоде в вашем скрипте. Проверьте все переменные, условия и функции, отвечающие за управление голодом персонажа.

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

Если проблема все еще остается нерешенной, не стесняйтесь обратиться за помощью на специализированные форумы по Rage MP или GTA V разработке, такие как ragem.ru. Другие разработчики могут помочь вам найти и исправить ошибку в вашем коде.
 
вот мой фаил у меня нет ошибок попробуй заменить
 

Вложения

вот мой фаил у меня нет ошибок попробуй заменить

using System;
using Localization;
using GTANetworkAPI;
using NeptuneEvo.Core;
using Izumrud.SDK;
using NeptuneEvo.Functions;
using NeptuneEvo.Players;
using NeptuneEvo.Character;
using NeptuneEvo.Handles;
using NeptuneEvo.Quests.Models;
using GTANetworkMethods;
using Google.Protobuf;
using System.Numerics;
using System.Collections.Generic;
using System.Data;
using NeptuneEvo.Chars;
using Org.BouncyCastle.Asn1.X509;
using Database;
using NeptuneEvo.Chars.Models;
using Newtonsoft.Json;
using System.Globalization;
using System.Linq;
using NeptuneEvo.Players.Phone.Messages.Models;
using NeptuneEvo.Accounts;
using NeptuneEvo.Character.Models;
using NeptuneEvo.Players.Models;
using System.Threading;
using Org.BouncyCastle.Asn1.Cms;
namespace NeptuneEvo.AleSystems
{
class GolodSystem : Script
{
private static readonly nLog Log = new nLog(nameof(GolodSystem));
[ServerEvent(Event.ResourceStart)]
public void onResourceStart()
{
try
{
Log.Write("Система голода загружена " + "\u001B[33m" + "[by w1zarys]" + "\u001B[0m");
}
catch (Exception e)
{
Log.Write($"onResourceStart Exception: {e.ToString()}");
}
}
public static void GolodSystemStart(ExtPlayer player)
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
var sessionData = player.GetSessionData();
if (sessionData == null) return;
sessionData.TimersData.GolodTimer = Timers.Start(145000, () => GolodTimer(player));
sessionData.TimersData.WaterTimer = Timers.Start(115000, () => WaterTimer(player));
var eat = $"{characterData.Golod}%";
var water = $"{characterData.Water}%";
Trigger.ClientEvent(player, "start:EatSystem::client", eat);
Trigger.ClientEvent(player, "start:WaterSystem::client", water);
}
public static void GolodTimer(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Golod > 0)
{
characterData.Golod -= 1;
}
if (characterData.Golod > 100)
{
characterData.Golod = 100;
}
else if (characterData.Golod < 0)
{
characterData.Golod = 0;
}
var eat = $"{characterData.Golod}%";
Trigger.ClientEvent(player, "update:EatSystem::client", eat);
if (characterData.Golod <= 1)
{
HandleCriticalHungerLevel(player, characterData);
}
}
catch (Exception e)
{
Log.Write($"GolodTimer Exception: {e.ToString()}");
}
}
private static void HandleCriticalHungerLevel(ExtPlayer player, CharacterData characterData)
{
NAPI.Task.Run(() =>
{
characterData.Golod = 0;
Trigger.ClientEvent(player, "update:EatSystem::client", "0%");
player.Health -= 2;
Notify.Send(player, NotifyType.Warning, NotifyPosition.BottomCenter, "Вам срочно нужно поесть, Вы теряете силы!", 3000);
}, 150);
}
public static void WaterTimer(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Water > 0)
{
characterData.Water -= 1;
}
if (characterData.Water > 100)
{
characterData.Water = 100;
}
else if (characterData.Water < 0)
{
characterData.Water = 0;
}
var water = $"{characterData.Water}%";
Trigger.ClientEvent(player, "update:WaterSystem::client", water);
if (characterData.Water <= 1)
{
HandleCriticalWaterLevel(player, characterData);
}
}
catch (Exception e)
{
Log.Write($"WaterTimer Exception: {e.ToString()}");
}
}
private static void HandleCriticalWaterLevel(ExtPlayer player, CharacterData characterData)
{
NAPI.Task.Run(() =>
{
characterData.Water = 0;
Trigger.ClientEvent(player, "update:WaterSystem::client", "0%");
player.Health -= 2;
Notify.Send(player, NotifyType.Warning, NotifyPosition.BottomCenter, "Вам срочно нужно выпить воды, Вы теряете силы!", 3000);
}, 150);
}
public static void GolodChanger(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Golod >= 100) characterData.Golod = 100;
if (characterData.Golod <= 0)
{
characterData.Golod = 0;
Trigger.ClientEvent(player, "update:EatSystem::client", "0%");
}
var eat = $"{characterData.Golod}%";
Trigger.ClientEvent(player, "update:EatSystem::client", eat);
}
catch (Exception e)
{
Log.Write($"GolodChanger Exception: {e.ToString()}");
}
}
public static void WaterChanger(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Water >= 100) characterData.Water = 100;
if (characterData.Water <= 0)
{
characterData.Water = 0;
Trigger.ClientEvent(player, "update:WaterSystem::client", "0%");
}
var water = $"{characterData.Water}%";
Trigger.ClientEvent(player, "update:WaterSystem::client", water);
}
catch (Exception e)
{
Log.Write($"WaterChanger Exception: {e.ToString()}");
}
}
}
}
Код выглядит хорошо структурированным, и в нем используются различные функции для отслеживания голода и жажды игрока. Однако, имеются некоторые замечания и предложения по улучшению:

1. **Использование комментариев**: Добавление комментариев к коду поможет другим разработчикам лучше понять его структуру и логику работы.

2. **Оптимизация методов**: Некоторые методы могут быть оптимизированы для улучшения производительности. Например, объединение условий в одном блоке `if`, если они выполняют одно и то же действие.

3. **Использование констант**: Для повторяющихся значений, таких как значения для голода и воды, можно использовать константы, чтобы избежать их жесткой привязки к коду.

4. **Обработка исключений**: Обработка исключений в методах `GolodTimer`, `WaterTimer`, `GolodChanger`, `WaterChanger` сделана корректно, но можно добавить более подробные сообщения об ошибках для лучшего отслеживания проблем.

5. **Разбиение на более мелкие методы**: Некоторые участки кода, особенно в методах `GolodTimer` и `WaterTimer`, можно разбить на более мелкие методы для улучшения читаемости и повторного использования кода.

6. **Unit-тестирование**: Для повышения качества кода можно добавить Unit-тесты для проверки функционала системы голода и жажды.

7. **Документирование кода**: Добавление документации к классу, методам и переменным поможет другим разработчикам быстрее разбираться в коде.

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

using System;
using Localization;
using GTANetworkAPI;
using NeptuneEvo.Core;
using Izumrud.SDK;
using NeptuneEvo.Functions;
using NeptuneEvo.Players;
using NeptuneEvo.Character;
using NeptuneEvo.Handles;
using NeptuneEvo.Quests.Models;
using GTANetworkMethods;
using Google.Protobuf;
using System.Numerics;
using System.Collections.Generic;
using System.Data;
using NeptuneEvo.Chars;
using Org.BouncyCastle.Asn1.X509;
using Database;
using NeptuneEvo.Chars.Models;
using Newtonsoft.Json;
using System.Globalization;
using System.Linq;
using NeptuneEvo.Players.Phone.Messages.Models;
using NeptuneEvo.Accounts;
using NeptuneEvo.Character.Models;
using NeptuneEvo.Players.Models;
using System.Threading;
using Org.BouncyCastle.Asn1.Cms;
namespace NeptuneEvo.AleSystems
{
class GolodSystem : Script
{
private static readonly nLog Log = new nLog(nameof(GolodSystem));
[ServerEvent(Event.ResourceStart)]
public void onResourceStart()
{
try
{
Log.Write("Система голода загружена " + "\u001B[33m" + "[by w1zarys]" + "\u001B[0m");
}
catch (Exception e)
{
Log.Write($"onResourceStart Exception: {e.ToString()}");
}
}
public static void GolodSystemStart(ExtPlayer player)
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
var sessionData = player.GetSessionData();
if (sessionData == null) return;
sessionData.TimersData.GolodTimer = Timers.Start(145000, () => GolodTimer(player));
sessionData.TimersData.WaterTimer = Timers.Start(115000, () => WaterTimer(player));
var eat = $"{characterData.Golod}%";
var water = $"{characterData.Water}%";
Trigger.ClientEvent(player, "start:EatSystem::client", eat);
Trigger.ClientEvent(player, "start:WaterSystem::client", water);
}
public static void GolodTimer(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Golod > 0)
{
characterData.Golod -= 1;
}
if (characterData.Golod > 100)
{
characterData.Golod = 100;
}
else if (characterData.Golod < 0)
{
characterData.Golod = 0;
}
var eat = $"{characterData.Golod}%";
Trigger.ClientEvent(player, "update:EatSystem::client", eat);
if (characterData.Golod <= 1)
{
HandleCriticalHungerLevel(player, characterData);
}
}
catch (Exception e)
{
Log.Write($"GolodTimer Exception: {e.ToString()}");
}
}
private static void HandleCriticalHungerLevel(ExtPlayer player, CharacterData characterData)
{
NAPI.Task.Run(() =>
{
characterData.Golod = 0;
Trigger.ClientEvent(player, "update:EatSystem::client", "0%");
player.Health -= 2;
Notify.Send(player, NotifyType.Warning, NotifyPosition.BottomCenter, "Вам срочно нужно поесть, Вы теряете силы!", 3000);
}, 150);
}
public static void WaterTimer(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Water > 0)
{
characterData.Water -= 1;
}
if (characterData.Water > 100)
{
characterData.Water = 100;
}
else if (characterData.Water < 0)
{
characterData.Water = 0;
}
var water = $"{characterData.Water}%";
Trigger.ClientEvent(player, "update:WaterSystem::client", water);
if (characterData.Water <= 1)
{
HandleCriticalWaterLevel(player, characterData);
}
}
catch (Exception e)
{
Log.Write($"WaterTimer Exception: {e.ToString()}");
}
}
private static void HandleCriticalWaterLevel(ExtPlayer player, CharacterData characterData)
{
NAPI.Task.Run(() =>
{
characterData.Water = 0;
Trigger.ClientEvent(player, "update:WaterSystem::client", "0%");
player.Health -= 2;
Notify.Send(player, NotifyType.Warning, NotifyPosition.BottomCenter, "Вам срочно нужно выпить воды, Вы теряете силы!", 3000);
}, 150);
}
public static void GolodChanger(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Golod >= 100) characterData.Golod = 100;
if (characterData.Golod <= 0)
{
characterData.Golod = 0;
Trigger.ClientEvent(player, "update:EatSystem::client", "0%");
}
var eat = $"{characterData.Golod}%";
Trigger.ClientEvent(player, "update:EatSystem::client", eat);
}
catch (Exception e)
{
Log.Write($"GolodChanger Exception: {e.ToString()}");
}
}
public static void WaterChanger(ExtPlayer player)
{
try
{
var characterData = player.GetCharacterData();
if (characterData == null) return;
if (characterData.Water >= 100) characterData.Water = 100;
if (characterData.Water <= 0)
{
characterData.Water = 0;
Trigger.ClientEvent(player, "update:WaterSystem::client", "0%");
}
var water = $"{characterData.Water}%";
Trigger.ClientEvent(player, "update:WaterSystem::client", water);
}
catch (Exception e)
{
Log.Write($"WaterChanger Exception: {e.ToString()}");
}
}
}
}
жто голод или что?
 
напиши в дс miro_mirhan
 

Все для RAGE:MP

Все для RAGE:MP. Портал о мультиплеере. Подумывали об том «как создать гта 5 сервер?» или «скачать готовый сервер rage mp?» на нашем сайте вы найдете очень много полезных ресурсов для RAGE:MP: готовые сервера, скрипты, моды, карты, шаблоны сайтов, мануалы и уроки, помощь в разработке, услуги скриптеров и других специалистов в сфере RAGE Multiplayer.

RAGE Multiplayer

Объединитесь с другими игроками, создайте свой сервер, сообщество или новый игровой режим. В RAGE Multiplayer вас ждут безграничные возможности и беспрецедентный контроль. Пусть ваше воображение будет единственным горизонтом.
Официальный сайт мультиплеера - rage.mp.
Сайт входит в группу проектов GTA V MP
Верх