Перейти к содержанию

Добро пожаловать на проект
Weekly Open Games

Weekly Open Games — это проект для людей, которым интересен хардкорный тип игры. Мы стараемся максимально эффективно использовать структуру, слабые и сильные стороны, а также технику и вооружение различных сторон конфликта, но не ставим перед собой цель провести 100% сбалансированного боестолкновения. Командная игра, командное взаимодействие — фундамент нашего проекта.
О проекте WOG Как начать играть Правила серверов

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

MSC

VTN: Обсуждение

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

2 минуты назад, DAP сказал:

вы там уже так поковырялись со своими "рацпредложениями", что я не могу гарантировать даже адекватную работу

Посеяли рациональное зерно?

(посеяли в смысле пролюбили)

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Dock сказал:

НЕТ.

Никаких изменений в ОВ.

Ага :yoba-arma: Только тут Коперник выше уже приводит примеры того, как он будет менять ОВ :yoba-arma: Сколько вы там уже успели наковырять я без понятия. К тому же до сих пор помню, как тот же Ванкос объяснял мне как и где он брал скрипты ОВ для своих миссий :yoba-arma: Ну и твои эксперименты со сторонами тоже в памяти отложились :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
Just now, DAP said:

Вообще-то я давал Доку шаблон, в котором этот аспект был учтен. Но вы там уже так поковырялись со своими "рацпредложениями", что я не могу гарантировать даже адекватную работу всех алгоритмов :yoba-arma:

                if (wrangler_points_eastcurrent <= _eastlimit) then
                {
                        wrangler_points_missionevent = 1;

                        [] spawn
                        {
                                uisleep 5;
                                [wrangler_points_defeat_east_sidelist,wrangler_points_eastdefeatmessage] remoteExec ["fnc_endmission"];
                        };
                };

Твой код?
При лимите в 100, _eastlimit всегда равен 0. Значит, как только счетчик оставшихся очков вранглера опустится до 0 - миссия завершается. При старте миссии в этом счетчике кол-во игроков(не учитывая вес), при каждой смерти  отнимается вес юнита, что в моем примере выше с 2мя отделениями после смерти только 2х коммандиров уже даст 0 на счетчике.

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


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, coppernik сказал:

Твой код?
При лимите в 100, _eastlimit всегда равен 0. Значит, как только счетчик оставшихся очков вранглера опустится до 0 - миссия завершается. При старте миссии в этом счетчике кол-во игроков(не учитывая вес), при каждой смерти  отнимается вес юнита, что в моем примере выше с 2мя отделениями после смерти только 2х коммандиров уже даст 0 на счетчике.

А функция fnc_endmission будет проверять остались ли еще живые юниты на стороне или нет и, в зависимости от этого, будет выводить один из двух вариантов сообщений на экран :yoba-arma: Чо не так то? :yoba-arma: По крайней мере так было в той версии ОВ, которую я давным давно отдавал Доку :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
6 minutes ago, DAP said:

А функция fnc_endmission будет проверять остались ли еще живые юниты на стороне или нет и, в зависимости от этого, будет выводить один из двух вариантов сообщений на экран :yoba-arma: Чо не так то? :yoba-arma: По крайней мере так было в той версии ОВ, которую я давным давно отдавал Доку :yoba-arma:

Ага, только делает она это только в том случае, если wrangler_points_eastlimit не равен 100:
 

        if (wrangler_points_eastlimit == 100) then
        {
                wrangler_points_eastdefeatmessage = ["STR_WP_SIDE_EAST","STR_WP_ENDMESSAGE_SIDE_ELIMINATED"];
        }
        else
        {
                if (({((side (group _x)) == EAST)and(alive _x)}  count allUnits) == 0) then
                {
                        wrangler_points_eastdefeatmessage = ["STR_WP_SIDE_EAST","STR_WP_ENDMESSAGE_SIDE_ELIMINATED"];
                }
                else
                {
                        wrangler_points_eastdefeatmessage = ["STR_WP_SIDE_EAST","STR_WP_ENDMESSAGE_SIDE_CSUALTIES"];
                };
        };

Вот тебе и :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, coppernik сказал:

Ага, только делает она это только в том случае, если wrangler_points_eastlimit не равен 100:
 

Вот тебе и :yoba-arma:

Ну еще бы :yoba-arma: Старье оно и есть старье :yoba-arma: То-то я смотрю у вас на видео "Total eliminated" все мелькает там, где не должно бы :yoba-arma:

Можешь просто убрать условие if (wrangler_points_*tlimit == 100) then и сообщение будет выводиться правильное даже при лимите в 100% :yoba-arma:  Хотя не, тоже не будет, если на карте останутся живые боты на базе :yoba-arma: Придется добавить условие на проверку живых игроков :yoba-arma: Останется только Дока заставить пересобрать все миссии с обновленным шаблоном :yoba-arma: Я как-то уже пытался, но все заглохло намертво :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
1 minute ago, DAP said:

Ну еще бы :yoba-arma: Старье оно и есть старье :yoba-arma: То-то я смотрю у вас на видео "Total eliminated" все мелькает там, где не должно бы :yoba-arma:

Можешь просто убрать условие if (wrangler_points_eastlimit == 100) then и сообщение будет выводиться правильное даже при лимите в 100% :yoba-arma: 

Нет, спасибо, в моей версии будет:
Если картодел поставит лимит 100 - значит что бы сторона проиграла по очкам, ей нужно потерять всех до единого игроков.

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


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, coppernik сказал:

Нет, спасибо, в моей версии будет:
Если картодел поставит лимит 100 - значит что бы сторона проиграла по очкам, ей нужно потерять всех до единого игроков.

Твоя версия не нужна :yoba-arma: С таки же успехом можно будет играть вообще без ОВ :yoba-arma: Нахрен они тогда нужны вообще, если смерть командного состава или утрата ключевой техники или объекта никак не влияет на исход боя? :yoba-arma: Можно будет вообще тогда не заморачиваться, а тупо поставить на карту триггер :yoba-arma:

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


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

А могли бы в шахматы играть и не мешать ветеранам ветеранить.

2 минуты назад, DAP сказал:

смерть командного состава никак не влияет на исход боя?

Жизнь тоже не особо, потому всех и приглашают в один канал для брифинга. Иначе вообще всё загнётся и никто даже такие условные задачи как на ВТН не сможет выполнять в игре.

 

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


Ссылка на сообщение
Поделиться на другие сайты
3 minutes ago, DAP said:

Твоя версия не нужна :yoba-arma: С таки же успехом можно будет играть вообще без ОВ :yoba-arma: Нахрен они тогда нужны вообще, если смерть командного состава или утрата ключевой техники или объекта никак не влияет на исход боя? :yoba-arma: Можно будет вообще тогда не заморачиваться, а тупо поставить на карту триггер :yoba-arma:

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

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


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, crabe сказал:

Жизнь тоже не особо, потому всех и приглашают в один канал для брифинга. Иначе вообще всё загнётся и никто даже такие условные задачи как на ВТН не будет.

Это просто разгильдяйство местных командиров, которые напрочь отказываются проводить инструктаж подчиненного им личного состава уже на миссии :yoba-arma: Привыкли хватать автомат и алговать :yoba-arma: Контрстрайщики, блин :yoba-arma: Хоть кто-нибудь из КО по возвращении с брифинга в штабном сборище проводил нормальный инструктаж личного состава? :yoba-arma: Единицы :yoba-arma: По большим праздникам :yoba-arma: Обычно все происходит вот так: "Окей, пацаны, набираем патроны, каждый берет по две коробки для ПКМ и дымовые гранаты. Собираемся вон там, у вертолета" :yoba-arma: И все :yoba-arma:  

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


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, coppernik сказал:

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

Это не я не хочу его видеть :yoba-arma: Это смысл отсутствует начисто :yoba-arma: Потому что бессмысленно скриптовать ОВ в миссию, в которой бой идет до последнего бойца :yoba-arma: Сами сдохнут и миссия закончится автоматически без единого скрипта :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
Just now, DAP said:

Это не я не хочу его видеть :yoba-arma: Это смысл отсутствует начисто :yoba-arma: Потому что бессмысленно скриптовать ОВ в миссию, в которой бой идет до последнего бойца :yoba-arma: Сами сдохнут и миссия закончится автоматически без единого скрипта :yoba-arma:

Кто тебе сказал что так будет на каждой миссии? Картодел сможет выставить любой процент лимита. И этот процент будет означать буквально "Сколько процентов от общего кол-ва очков вранглера нужно потерять стороне что бы сработал код на проигрышь"

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


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, DAP сказал:
12 минут назад, crabe сказал:

Жизнь тоже не особо, потому всех и приглашают в один канал для брифинга. Иначе вообще всё загнётся и никто даже такие условные задачи как на ВТН не будет.

Это просто разгильдяйство местных командиров, которые напрочь отказываются проводить инструктаж подчиненного им личного состава уже на миссии :yoba-arma: Привыкли хватать автомат и алговать :yoba-arma: Контрстрайщики, блин :yoba-arma: Хоть кто-нибудь из КО по возвращении с брифинга в штабном сборище проводил нормальный инструктаж личного состава? :yoba-arma: Единицы :yoba-arma: По большим праздникам :yoba-arma: Обычно все происходит вот так: "Окей, пацаны, набираем патроны, каждый берет по две коробки для ПКМ и дымовые гранаты. Собираемся вон там, у вертолета" :yoba-arma: И все :yoba-arma: 

Да что ты, чёрт возьми, такое несёшь? :drill:

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


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, coppernik сказал:

Кто тебе сказал что так будет на каждой миссии? Картодел сможет выставить любой процент лимита. И этот процент будет означать буквально "Сколько процентов от общего кол-ва очков вранглера нужно потерять стороне что бы сработал код на проигрышь"

Это именно сейчас так и работает. А у тебя будет "сколько процентов игроков, вне зависимости от их значимости, нужно потерять, чтобы сработал код на проигрыш" :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Kostize сказал:

Да что ты, чёрт возьми, такое несёшь? :drill:

Не, ну я давно на игорах не был, может что и изменилось :yoba-arma: Но в последний раз, когда я был, все происходило именно так :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
Just now, DAP said:

Это именно сейчас так и работает.

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

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


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, coppernik сказал:

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

Скажи честно: ты пьян? :yoba-arma:  Я ведь вроде уже объяснил тебе как это работает на примере трех бойцов, не? :yoba-arma: Каким вообще образом ты додумался, что лимит должен быть равен общей массе ОВ всех юнитов? :yoba-arma: Это ведь все равно что число делить само на себя :yoba-arma: Какое число ты не поставишь, итог будет один и тот же :yoba-arma: Ты вообще нормальный? :yoba-arma:

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


Ссылка на сообщение
Поделиться на другие сайты
3 minutes ago, DAP said:

 :yoba-arma: Каким вообще образом ты додумался, что лимит должен быть равен общей массе ОВ всех юнитов? :yoba-arma:

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

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


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, coppernik сказал:

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

Параметры в процентах а) проще б) точнее. Ошибешься ты в подсчете общего числа ОВ и твоя миссия никогда не завершится.

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


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

Когда мне ставит лайк Лейден, я иду в гуглопереводчик и перевожу своё собственное сообщение на испанский, а потом обратно с испанского на русский...

Много думаю над прочитанным.

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


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

Написал скрипт для очков как я считаю должно работать:

if(isServer) then {
	Sides = [west,east,resistance,civilian];
	SidePontsTotal = [0,0,0,0];
	SidePonts = [0,0,0,0];
	CheckPoints = {
		{
			if ( (SidePontsTotal select _forEachIndex) > 0 ) then {
				if ( (SidePontsTotal select _forEachIndex) <= (SidePonts select _forEachIndex) ) then {
					//_x проиграли
				};				
			};
		} forEach Sides;
	};

	sleep 0.1; 
	//Старт в игру

	{
		private _sideIndex = Sides find (side group _x);
		SidePontsTotal set [_sideIndex, (SidePontsTotal select _sideIndex) + 1]
		_x addMPEventHandler ["MPKilled", {
			params ["_unit"];
			private _sideIndex = Sides find (side group _x);
			SidePonts set [_sideIndex, (SidePonts select _sideIndex) + (_x getVariable ["points", (rankId _x) + 1])]
			call CheckPoints;
		}];
	} forEach playableUnits;

	addMissionEventHandler ["HandleDisconnect",{
		spawn {
			params ["_unit"];
			private _t = time;
			waitUntil {
				sleep 5;
				!alive _unit or isPlayer _unit or (time - _t > 60 * 5) 
			};

			//Игрок ушел и живой бот стоит 5 минут
			if(alive _unit and !isPlayer _unit) then {
				private _sideIndex = Sides find (side group _x);
				SidePontsTotal set [_sideIndex, (SidePontsTotal select _sideIndex) - 1];
				call CheckPoints;
			};
		};
		false
	}];	
};

От картодела требуется прописать очки юнитов или просто корректные звания командирам дать.

От админа требуется не оставлять много открытых слотов.

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


Ссылка на сообщение
Поделиться на другие сайты
Guest
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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