Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
Juze

RPC с Клиента на Сервер.

Добрый вечер,

 

Подскажите пожалуйста, как с клиента отправить RPC на сервер? 

Я сделал простенький скрипт, который должен наносить урон, но как я понял, урон игроку или другим объектам может наносить только сервер?

Как послать RPC команду я примерно знаю, но никак не могу понять, как сервер должен ее принимать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Из класса для получения в том же классе (том же предмете/сущности)
На клиенте

 

ref Param1<bool> p = new Param1<bool>( true );
GetGame().RPCSingleParam( this, НомерRPC(целоечисло), p, true );

Сервер его примет в стандартном потоке и передаст на сторону скриптов в функцию OnRPC


Ловить в классе предмета/Сущности - на сервере

Если выше шлется с сервера - то ловить на клиенте

Если все в одном моде и нет деления на клиент-сервер - нужна проверка IsClient и IsServer прежде чем обрабатывать RPC

	override void OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext  ctx) // from server
	{
		super.OnRPC(sender, rpc_type, ctx);
		
		switch(rpc_type)
		{
			case НомерRPC:
			{
				ref Param1<bool> p = new Param1<bool>(false);
				if (ctx.Read(p))
				{
					myboolvar 	= p.param1;
                                            if (myboolvar) MyFunc();
				}
			break;
			}
		}
	}

Это пример для 1 параметра (курить класс Param и его деток Param1, Param2 итд итп)

имя переменной - тут p - неважно - как хочешь так и называй

myboolvar переменная в классе и в примере не объявлена

MyFunc() - функция в классе - то же не обьявлена
проверка на предмет где клиент где сервер опущена тк работать может в обеих направлениях
вместо switch можно юзать простое условие

НомерRPC - это целое число - как правило это энумератор - должно отлчаться от любых других номеров РПЦ (курите матчасть)

 

Синтаксис языка итд итп (базис) курить тут

https://community.bistudio.com/wiki/DayZ:Enforce_Script_Syntax

 

 

 

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

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