XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Барахолка
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
DaeDR, главное начальные значения записать, потом можно использовать целые числа и не парится...
Навряд ли система будет заметно подгружать движок, ну если у тебя есть свои идеи фикс по этому поводу выкладывай...
Старый 10.04.2012, 19:02
DaeDR

offline
Опыт: 7,979
Активность:
quq_CCCP, Есть идея сразу сделать через integer:
function StoreDataInteger takes integer pKey, string cKey, integer value returns nothing
   call SaveInteger(bj_lastCreatedHashtable, GetHandleId(pKey), pKey, value )
endfunction
А в настройках написать так:
local unit u = CreateUnit(Player(12), 'nanm',-292.00,-516.00,270.00)
    call StoreDataReal(u, 1, -292.00) // Воскрешение по X
    call StoreDataReal(u, 2, -516.00) // Воскрешение по Y
...
Хотя твой вариант лучше в визуальном плане
DaeDR добавил:
Или еще есть такой вариант:
function StoreDataInteger takes handle pKey, integer value returns nothing
   call SaveInteger(bj_lastCreatedHashtable, GetHandleId(pKey), 1, value )
endfunction
Сразу забивать integer и даже не спрашивать
Старый 10.04.2012, 19:17
Msey
????
offline
Опыт: 67,346
Активность:
От такого жасса я чуть не ослеп. Уж лучше бы на гуи с кастом скриптом сделал)
Старый 10.04.2012, 20:55
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
Msey:
От такого жасса я чуть не ослеп. Уж лучше бы на гуи с кастом скриптом сделал)
Ну не надо поливать грязью, это наработка, тут должно быть всё понятно, а не супер оптимально...
Всё работает, утечек нет, код читаемый...
А кстати Msey, ты же знаток cJass, ( Извращённый мод мейкер которому мало редактора ) мб поможеш переписать систему на cJass чтобы продвинутым ненужно было переписывать систему на себя... Ну думаю структуры использовать бессмыслено - раздуть когда как Альфа в своём примере ради 10 миксросек., раздул код на пару страниц...

Отредактировано quq_CCCP, 11.04.2012 в 02:24.
Старый 11.04.2012, 02:09
Klop
Папа римский
offline
Опыт: 13,006
Активность:
quq_CCCP:
А кстати Msey, ты же знаток cJass, ( Извращённый мод мейкер которому мало редактора ) мб поможеш переписать систему на cJass
тем кто владеет нормально Jass ему такие наработки не нужны пишутся довольно быстро и настраиваются так как тебе надо самому,нет смысла чужых наработок
Старый 11.04.2012, 04:16
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
Klop, ну писать самому не всегда нужно, да и порой не до этого даже тем кто может написать такую систему.
Кстати Клоп а ты как оцениш мою наработку?
Старый 11.04.2012, 04:36
Klop
Папа римский
offline
Опыт: 13,006
Активность:
quq_CCCP, а что оценивать для новичков и Гуишников отлично
а для тех кто разбирается,это ненужная вещь,я к примеру если что то нужно делаю всегда сам,в своём коде понятно все чем ковыряться в чужом
Старый 11.04.2012, 05:24
DaeDR

offline
Опыт: 7,979
Активность:
Klop, Полностью с тобой согласен. Полностью доверяю только себе
Лучше потратить немного времени и сделать под себя, чем ковырять чужой код, в котором надо будет чуть ли не каждую строку догадываться, для чего она тут?
Старый 11.04.2012, 10:11
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
Так народ и возникает вопрос, насчёт способа настройки параметров новой системы респауна крипов...
Настройки для группы еще легко, а вот для конкретного юнита или типа юнита будет сложнее, так как те кто плохо разбирается в jass несмогту настроить систему, тогда может быть создать гуи триггера где существуют 2 массвика переменных первый Для юниоов, второй для типов, и 2 глобальных переменных для подсчёта кол во типов, а так же массивы других переменных для параметров...
А затем в другом триггере сохранить параметры в хеш таблицу...
Или пусть возятся над функцией типа
((код jass
function IsNeutralCreep takes nothing returns boolean
return GetOwningPlayer(GetFilterUnit()) == Player(12) номер игрока чьих крипов респаунить
endfunction
function Group_RegisterUnit_Actions takes nothing returns nothing
local unit uCreep = GetEnumUnit()
call StoreDataReal(uCreep,"SpawnX",GetUnitX(uCreep)) точка возраждения Х
call StoreDataReal(uCreep,"SpawnY",GetUnitY(uCreep)) точка возраждения У
call StoreDataReal(uCreep,"SpawnA",GetUnitFacing(uCreep)) угол поворота юнита
call StoreDataReal(uCreep,"RepawnTime",1.01) зедержка респауна сек
call StoreDataBoolean(uCreep,"ShowDeathFX",true) показать спецэффект при смерти
call StoreDataBoolean(uCreep,"ShowRespFX",true) показать спецэффект при возрождении
call StoreDataBoolean(uCreep,"RespRandType",true) случайные типы крипов одного уровня
call StoreDataBoolean(uCreep,"SaveTools",true) сохранить параменты для нового типа, несмотря на то что на этот тип установлены другие настройки?
call StoreDataBoolean(uCreep,"DelCorpse",true) удалять трупы?
call StoreDataBoolean(uCreep,"DropItems",fale) создавать случайные предметы
call StoreDataInteger(uCreep,"DropCtance",15) шанс на создание предмета (целое число от 1 до 100)
call StoreDataString(uCreep,"DeathFX","Abilities\\Spells\\Orc\\FeralSpirit\\feralspiritdon​e.mdl")// эффект смерти
call StoreDataString(uCreep,"RespFX","Abilities\\Spells\\Human\\Resurrect\\ResurrectTarget​.mdl") эффект воскрешения
endfunction
function InitCreeps takes nothing returns nothing
local group grp = CreateGroup()
local boolexpr E = Condition( function IsNeutralCreep )

set bj_lastCreatedHashtable = InitHashtable()

call GroupEnumUnitsInRect(grp,bj_mapInitialPlayableArea,E)
call ForGroup(grp, function Group_RegisterUnit_Actions)
call DestroyBoolExpr(E)
call DestroyGroup(grp)
set grp = null
set E = null
endfunction
===========================================================================
function InitTrig_Creep_respaun_functions takes nothing returns nothing
set gg_trg_Creep_respaun_functions = CreateTrigger( )
endfunction
))
и собственно есть еще предложения по количеству параметров настройки...
Ну ни как не могу решить какой способ будет полезнее?
Старый 11.04.2012, 15:11
DaeDR

offline
Опыт: 7,979
Активность:
так как те кто плохо разбирается в jass несмогту настроить систему
Тогда вообще не стоит делать настройку для отдельных юнитов.
Те, кто ничего не понимают в jass'e все равно не полезут настраивать, т.к. для них он - темный лес.
Самый простой способ - скопировал и все работает. идеально
Возможно, стоит регулировать только время возрождения.
Старый 12.04.2012, 20:13
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
DaeDR, ну тут только с использованием массивов глобалок, в гуи триггер, где и будут производится настройки, в Jass вся система, респануа, крепления эффектов и тд.
Старый 13.04.2012, 02:59
Msey
????
offline
Опыт: 67,346
Активность:
quq_CCCP:
А кстати Msey, ты же знаток cJass, ( Извращённый мод мейкер которому мало редактора ) мб поможеш переписать систему на cJass чтобы продвинутым ненужно было переписывать систему на себя... Ну думаю структуры использовать бессмыслено - раздуть когда как Альфа в своём примере ради 10 миксросек., раздул код на пару страниц...
я не уверен, что это кому-то пригодится в виде сжасса. ну если хочешь, то переделаю в сжасс.. однако я это буду делать без адик хелпера, чисто в блокноте.
тут должно быть всё понятно, а не супер оптимально...
если честно, то тут и новичку будет сложно разобраться, длинные и глупые названия ф-ий, переменных итд
однако за идею плюсану
Старый 13.04.2012, 19:23
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
Итак, система распределения опыта теперь и на гуи...
осталось только сделать Гуи интерфейс для управления библиотекой CRS в виде гуи триггера в которой нужно только присвоить значение переменной...
Или всё таки не стоит? Ау гуишники, жду ваших комментов...
Старый 19.05.2012, 09:55
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Вот смори... Качает твою наработку начинающий гуишник которому очень нужна система респавна мобов
и как ты думаешь, поймет он это?!
((код jass
local unit u = CreateUnit(Player(12), 'nanm',-292.00,-516.00,270.00)
call StoreDataReal(u,"UnitSpawnX",-292.00)
call StoreDataReal(u,"UnitSpawnY",-516.00)
call StoreDataReal(u,"UnitSpawnA",270.00)
call StoreDataReal(u,"RespTime",45.00)
call StoreDataBoolean(u,"CreateDeathFX", false)
call StoreDataString(u,"FxOfMobDeath","Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode​​\\HumanLargeDeathExplode.mdl")
и тд
local handle h = ConvertFogState('nanm')
call StoreDataReal(h,"RespTime",45.00)
call StoreDataBoolean(h,"CreateDeathFX", false)
call StoreDataString(h,"FxOfMobDeath","Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode​​\\HumanLargeDeathExplode.mdl")
и так далее...
set h = null
))
Откуда он знает что такое false? откуда он знает что такое true?
Откуда он знает что такое StoreDataReal или StoreDataBoolean? мхм он знает джасс ты чее... или же ты ему все объяснишь?... Так что делай все на гуи, раз уж захотел так
Старый 19.05.2012, 17:36
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
NIKZ, гуишнику нужно гуи, или это так трудно понять?
А твой код он поймет? + от твоего кода толку 0
сохранение точек
ага, унесло моба ветром и умер и реснулся где умер и снова его ветром понесло... и уже в другой части карты ресается....

Отредактировано Vadik29, 20.05.2012 в 09:28.
Старый 19.05.2012, 18:13
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Vadik29, Эмм мой настраивается на гуи+сохранение точек
Старый 19.05.2012, 19:40
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
NIKZ, то что ты написал так и не вышло в свет, так как несмотря на мои старание сделать больше настроек системы, росла её сложность для новичков, и это уже обсуждалось, использование HashString и тд не актуально....
Я хотел сделать 2 триггера в папке, 1 Jass триггер который не нужно трогать он сам самостоятельно работает, и второй гуи триггер в котором нужно лиш присвоить нужные значение переменным, для совсем не фига незнающих людей...
Но тут другое но - Глобальные переменные, который некоторые чебурашки на копируют и ноют, типа чё не работает...
Ну поставте вы галочку в настройках, создавать неизвестные переменные...
Старый 20.05.2012, 08:09
Hate
конь вакуумный
offline
Опыт: 43,030
Активность:
quq_CCCP:
NIKZ, то что ты написал так и не вышло в свет, так как несмотря на мои старание сделать больше настроек системы, росла её сложность для новичков, и это уже обсуждалось, использование HashString и тд не актуально....
Я хотел сделать 2 триггера в папке, 1 Jass триггер который не нужно трогать он сам самостоятельно работает, и второй гуи триггер в котором нужно лиш присвоить нужные значение переменным, для совсем не фига незнающих людей...
Но тут другое но - Глобальные переменные, который некоторые чебурашки на копируют и ноют, типа чё не работает...
Ну поставте вы галочку в настройках, создавать неизвестные переменные...
ну сделай в начале кода такое
globals
	ololo
endglobals
Старый 20.05.2012, 08:38
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,024
Активность:
Hatsume_Hate, это есть в vJass версии
Мы говорим о гуи, без Jgnp....
Ибо у чебурашек почти всегда его нету...
Старый 20.05.2012, 08:46
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
quq_CCCP, по моему все что связано с Jass чебурашки вообще не качают....
Старый 20.05.2012, 09:29
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 13:23.