которую можно получить импортировав 8-ми битный bmp. В чем сохранить именно 8-ми битный не знаю, я просто открываю его (экспортированый) в paint-e, потом вставляю туда что надо из другого редактора и сохраняю, тогда он остаетса 8-ми битным и роботает в редакторе.
Добавлено (06 Декабря 14, 19:11) --------------------------------------------- Вот, у меня так шейдером с вет-текстуре вода сделана, давно уже, еще когда про вет-тектур писало то...
А вот самый примитивный субдивижн, 8 кадров + стандартное вращение партиклов,
если поднапрячса и сделать к примеру 32 кардров, будет круче. к тому-же жрет в разы меньше чем делать меш-емитером даже с текстурой 2048*1024 (16 одинаковых столбиков по 8 кадров), ставил 5k и не тормозит, больше просто перестает роботать, видимо ограничение движка или чего.
Мне интересно как сделать просто картинку на экране когда я сажусь в танк?
Зайди к Терову в мамбл, он тебе всё объяснит. Это сделать всё возможно, в том числе по сети.
Добавлено (07 Декабря 14, 14:20) --------------------------------------------- Не, ну вообще самый обычный paint умеет сохранять нормально в bmp. В некотором плане я не пойму, почему к нему вы тоже придираетесь:
Добавлено (07 Декабря 14, 14:38) --------------------------------------------- Но вообще, UnShame, ты поторопился с выводом. Paint.net может сохранять bmp почти в любом формате, только для этого используется плагин Вот пример на спектре HSV
Добавлено (07 Декабря 14, 17:18) --------------------------------------------- UberSoldier, в общем Теров скинул тебе шаблон: http://pastebin.com/P75pnD70 если что непонятно, то заходи к нему в мамбл.
Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же. http-сервер .do impossible beat unbeatable
Сообщение отредактировал XCanG - Воскресенье, 07 Декабря 14, 14:20
too much color um diesen anwendung der spoiler Ну уж если так глубоко копать, то на деле вот: есть RGB, ARGB и XRGB bmp файлы. Где А - с альфа каналом, где X - незнаю что. 32 бита есть только A или X, на каждый канал по 8 бит (4х8), 24 бита есть только простой RGB (без AX каналов), тоже по бит на канал (3х8) 16 бит либо по 5 бит на канал + 1 бит A лили X (1 + 3x5), либо по 5 бит на два канала (R и B к примеру) и шесть на третий (скажем G) а на 8 бит инфы не нашел, но система скорее аналогичная. с ноля у меня ничем сохранить не получаетса, только открыть робочий файл и пересохранить с изменениями.
Добавлено (07 Декабря 14, 19:21) --------------------------------------------- Ну да gimp-е 8 бит идет как монохром в 256 уровней (один байт как освещенние в 2k4?)
Добавлено (07 Декабря 14, 19:26) ---------------------------------------------
ЦитатаXCanG ()
почему к нему вы тоже придираетесь
потому, что то что он сохраняет если создавать новый файл в редакторе не роботает, вот и все. а если открывать нормальный файл то все ок. Есть же еще индексированая 256 палитра, когда цвета указаны вначале файла, а для каждого пикселя записан только "номер" цвета, что очевидно не одно и тоже что 8 бит (2^8=256)
Сообщение отредактировал GP - Воскресенье, 07 Декабря 14, 19:29
он уже говорил почему. в общем просто зайди, если тебе надо с ним поговорить
Добавлено (07 Декабря 14, 21:18) --------------------------------------------- лол, кстати вот ещё что: он также говорит: "почему убер просто не может зайти и спросить?"
Добавлено (07 Декабря 14, 21:31) --------------------------------------------- UberSoldier, в общем, ответ от него http://pastebin.com/mmguPE4b
Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же. http-сервер .do impossible beat unbeatable
XCanG, Неа, не одно и тоже. Функцыя вызываетса от четырех переменных типа byte, а color идет как одна переменная (ну как вектор). Нелзя вместо нескольких переменных впихнуть вектор, надо писать хотябы так: Canvas.SetDrawColor(ColorTile.R, ColorTile.G, ColorTile.B, ColorTile.A ); Да и о чем разговор, я не с фонаря же это взял
Я ещё тут сам Терова спросил: как текст писать, если это не текстура, в общем если в кратце, то вот часть кода: Canvas.Font = Font'UT2003Fonts.FontEurostile17'; Canvas.DrawText("Hello!");
Добавлено (07 Декабря 14, 21:40) --------------------------------------------- GP, он ошибся, в общем, по этому поводу.
Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же. http-сервер .do impossible beat unbeatable
Говорю ж поставте UDE, там пишеш к примеру canvas. и тебе выбет сразу список возможных функцый/ивентов по мере дальнейшего набора, + потом будет подсвечивать что какого типа и сколько надо вводить, + можно посмотреть в источник на код самой функцыю/ивент... гипер удобно.
GP, он не ставится на распакованный UT или оставшийся после переустановки. (даже если его распаковать или перенести, с тем же самым УТ он работать не будет, потому что ему нужны какие-то данные в реестре)
Мой IP сменился с 89.113.234.78/185.42.146.32 на 83.167.1.167. Теперь будет этот. Надолго. Порты те же. http-сервер .do impossible beat unbeatable
XCanG, пишу еще раз чтоя сделал, ТОЛЬКО что повторил это на другом копме спецыально, там не просто стоял ут, а был дамп всего моего диска D c ноутбука, вместе с УТ. попробовал запустить UDE - да НЕ роботает ни из system ни из из ude папки (на ноуте не роботало пока не скопировал из ude в system) 1 - запускаю самый обычный regcheck, вписываю туда путь где сейчас лежыт ут и робочий ключ 2 - перезагружаю 3 - запускаю ude из папки ude и вуаля - прогружаетса и выскакивют начальнй конфиг там и вся фигня, потом он немного прогружаетса, строит каталоги и прочее не помню как было обычно. 4 - запускал для теста на компиляцыю пустой "екстендс актор" и все отлично роботает...
Добавлено (07 Декабря 14, 22:43) --------------------------------------------- Да важно, umod екстрактором распаковывай не сразу в папку ут, а куданибуть еще. Потом папку ude и два файла манифеста закидываеш в папку ут, а потом содержымое папки ude копируеш в ут/system... у меня иначе не роботало... и внимательно, екстрактор может закинуть папку ude в еще одну папку ude
Добавлено (07 Декабря 14, 22:49) --------------------------------------------- да, еще у меня манифесты тоже скопированы в system, не знаю в чем прикол, возможно только в них дело... в любом случае места оно много не занимает, такчто копируй все...
Сообщение отредактировал GP - Воскресенье, 07 Декабря 14, 22:46
функцыи которые simulated исполняютса на стороне клиента, вызыватса могут либо сервером, либо другими функцыями, а без simulated роботают только на сервере. Все функцыи роботают от локальных значений переменных, поэтому результаты функцый, которые исполняютса на сервере и должны быть видны у клиента должны юзать переменные, которые обновляютса по сети (те что в репликатед). А те что simulated роботают только у клиента (локально). Иными словами все, что можна передавать через сеть - зараненее прописаные переменные + сервер может вызывать функцыи у клиента, но опять же переменные там буду те что у клиента, а не у сервера.
Ок, смотри, в моем паке по сети не работает адыкватно 1 вещь.
Берем любой из 2х пушечныех юнитов или юнитов у которых 2 выстрела подряд.
Ну возьмем танк да, полумамонт. В одиночной игре выстрел с 1 дула а затем с другова проецируют звук, эффект и проектиль, и то и другое дуло. В сети... Происходит первый выстрел, проецируется звук, эффект и проектиль. Происходит второй выстрел, только проектиль.
в чем подвох?
Код:
class BattleMasterT2 extends DKWeapons;
var float FireCountdownB,FireCountdownA; var float AllowNextShoot;
function Tick(float Delta) { local int i; local xPawn P; local vector NewDir, PawnDir; local coords WeaponBoneCoords;
// elmuerte -- // set FireCountdown to the current lowest value (for internal processing) // FireCountdown will be modified with the delta in the super.Tick() call FireCountdown = fmin(FireCountdownB, FireCountdownA); Super.Tick(Delta); // decrease counters if (FireCountdownB > 0) FireCountdownB -= Delta; if (FireCountdownA > 0) FireCountdownA -= Delta; if (AllowNextShoot > 0) AllowNextShoot -= Delta; // -- elmuerte
// elmuerte -- // AllowNextShoot adds a small delay between the fire of both barels // otherwise both will shoot at the same time and the user won't be able to // just fire one bare; if (AllowNextShoot > 0) return false; AllowNextShoot = 0.25; // don't hardcode // -- elmuerte
if (FireCountdownA <= 0) { CalcWeaponFire(); if (bCorrectAim) WeaponFireRotation = AdjustAim(bAltFire); if (Spread > 0) WeaponFireRotation = rotator(vector(WeaponFireRotation) + VRand()*FRand()*Spread);
Дело в том что стандартный код считает что ты стреляеш один раз двумя прожектилями, соответственно эфекты спавнит один раз. Так как суперклас скорее всего стандартный, одно скажу точно - заспавнить прожектиль дает указания сервер (спавн чего-либо вообще), и прожектиль спавнитса с дефолтными параметрами всегда. Даже если сразу при спавне сервер чегото и меняет в прожектиле, клиент этого увидит если измененные переменные прожектиля обновляютса по сети (есть в репликатед прожектиля), а иначе он так и будет дефолтный. Поэтому, если у тебя для этого танка отдельный прожектиль, то спавнь эфекты выстрела и звуки вручную в функцыи postbeginplay самого прожектиля, которую обязательно пометь simulated. Таким образом все эфекты должны появлятса при спавне каждого прожектиля, независимо от их количества.
Не забудь добавить переменные в var, но если ты ничего ты ничего не меняеш в эфектах после спавна, можеш сразу писать spawn без присвоения переменным. Параметры звука поставь свои, посмотри какие идут стандартно или поподбирай, если зуки двух выстрелов "перебивают" друг друга, а не накладываютса, то попробуй овнедсоунд вместо простого.
Добавлено (24 Декабря 14, 04:41) --------------------------------------------- Да, только так. По идее можно функцыю dualfire и ивент AttemptFire сделать simulated, но тогда очень вероятно, что нормально будет видно только тому кто стреляет (независимо от того сервер это или клиент), а остальныим передаватса не будет это 100% . Еще вариант исходник править, но я бы не стал.
Сообщение отредактировал GP - Среда, 24 Декабря 14, 04:42