Артефакты, возможность создать 3200 артов |
Здравствуйте, гость ( Вход | Регистрация )
Артефакты, возможность создать 3200 артов |
21 Mar 2008, 00:15
Сообщение
#1
|
|
Сообщений: 29 680 Спасибо сказали: 18134 раза |
вот вам привет от дъякона, к сожалению проживающего ныне на банановом острове:
Дъякон 0:06:14 Данный скрипт позволяет добавить 3200 новых артов. Скрипт добавляет новый бланковый арт, св-ва которого можно задать при помощи ЕРМ. Но нельзя занимать переменные z800-z1000. Код ZVSE _WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes! ERMS_PoweredBy=ERM Scripter v. 2004.10.5.945 ERMS_ScriptDate=20.3(March).2008 !?PI; !!FU1:P; !!FU3:Px1; x1 - номер добавляемого арта с 170 и до 3370 !?FU1; !!VRy1:S8088992; !!VRy2:S10007016; !!DO2/1/5440/1:Py1/y2; !?FU2; !!UN:Cx1/1/?y1; !!UN:Cx2/1/y1; !!VRx1:+1; !!VRx2:+1; !?FU3; !!UN:C6687592/4/10007016; !!VRy1:S8094336; !!VRy2:Sx1*32+10007016; !!DO4/1/50/1:Py1/y2; !?FU4; !!UN:Cx1/1/?y1; !!UN:Cx2/1/y1; !!VRx1:+1; !!VRx2:+1; Чтобы отобразить арт - необходимо добавить его изображение в деф артов Скрипт работает под ТЕ. Но можно переделать чтоб работал и под ВОГ. Все в Ваших руках 0:07:05 З.Ы. Естественно номера функций в скрипте нужно подправить, чтоб не было конфликта с скриптами ВОГ Добавлено ([mergetime]1206047722[/mergetime]): PSS: Не обращайте внимание на описание добавляемых артов. Описание берется с арта №167. Но арт добавляется абсолютно новый/Описание можно после изменить |
|
|
21 Mar 2008, 00:20
Сообщение
#2
|
|
Рожденный Пламенем Жизни Сообщений: 1 481 Спасибо сказали: 183 раза |
3200? Не слишком много?
-------------------- Древние тайны в руках
И огонь правды в глазах. Аскет и отшельник, но не злодей, Луч света вдали лазури морей. Он заклинает силой своей, Искусный кудесник и чародей. |
|
|
21 Mar 2008, 00:22
Сообщение
#3
|
|
Сообщений: 29 680 Спасибо сказали: 18134 раза |
ты имел ввиду мало.. но на наш век хватит
|
|
|
21 Mar 2008, 01:06
Сообщение
#4
|
|
пират с чёрной меткой Сообщений: 23 599 Спасибо сказали: 12880 раз |
УРА!!!
Всё! Нужно доставать арты из Морровинда. Там есть весьма прикольные. -------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
21 Mar 2008, 11:05
Сообщение
#5
|
|
Рожденный Пламенем Жизни Сообщений: 1 481 Спасибо сказали: 183 раза |
-------------------- Древние тайны в руках
И огонь правды в глазах. Аскет и отшельник, но не злодей, Луч света вдали лазури морей. Он заклинает силой своей, Искусный кудесник и чародей. |
|
|
21 Mar 2008, 15:38
Сообщение
#6
|
|
Сообщений: 29 680 Спасибо сказали: 18134 раза |
попрошу не обсуждать кого почему и когда забанили. там дело тёмное
|
|
|
20 Aug 2008, 12:55
Сообщение
#7
|
|
🐓🐓🐓🐓🐓🐓🐓 Сообщений: 1 845 Спасибо сказали: 1570 раз |
Вот ведь коварные колдуны, взломали все-таки...
-------------------- using namespace fbx;
|
|
|
17 Sep 2008, 14:00
Сообщение
#8
|
|
Immortal Сообщений: 668 Спасибо сказали: 58 раз |
Как изменить параметры нового арта, если !!UN:A ругается, мол, такого артефакта не бывает, в частности, его описание и название?
|
|
|
Гость_FakerNeo_* |
21 Sep 2008, 03:27
Сообщение
#9
|
|
Через UN:C, либо снимать ограничение на кол-во артов в ехе
|
|
|
21 Sep 2008, 18:12
Сообщение
#10
|
|
В миру GrayFace Сообщений: 2 528 Спасибо сказали: 816 раз |
Проще через UN:C - для снятия надо расшираять таблицу и менять границу пары циклов. Но, конечно, UN:C изменит это в рамках всей игры, а не только карты.
-------------------- ДНК банана на 50% состоит из человека.
|
|
|
15 Apr 2009, 22:52
(Сообщение отредактировал Master Of Puppets - 15 Apr 2009, 22:59)
Сообщение
#11
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Я в exe дуб дубом, но в этом скрипте, я так понял, происходит копирование блока памяти, относящегося к арту-167, в некое свободное место (видимо, предназначенное для z-переменных 800-1000) - как продолжение ряда. Сколько раз скопировал - столько и артов. Но в результате все "новые" артефакты надеваются на тот же слот, что и арт-167. Если в artraits.txt этот слот поменять, то он изменится и у всех "клонов".
Так как можно и можно ли индивидуально поменять слот "новому" артефакту? Это единственное, что меня интересует. Название и описание можно и по кликам определять. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
16 Apr 2009, 01:07
Сообщение
#12
|
|
Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз |
конечно можно. на основании уже существующих примеров ищешь оффсет в записи арта что соответствует слоту и пишешь туда свое
|
|
|
16 Apr 2009, 17:59
(Сообщение отредактировал major - 16 Apr 2009, 18:00)
Сообщение
#13
|
|
Immortal Сообщений: 668 Спасибо сказали: 58 раз |
Хмм... могу выложить мои наработки, основанные на исследованиях Сергроя и Дьякона. Насколько все работает я уж и не помню, но раньше я этими функциями пользовался. Это кажется для ТЕ. Итак
Код ** определяем адрес переменной z1
!#UN:A0/9/?y10; [backup Z var number] !#UN&y10<0:A0/9/?z-1; [backup string (3.59)] !#UN:A0/9/1; [art0.Name = z1] !#UN:C6687592/4/?y1; [get artifacts array address] !#UN:Cy1/4/?v4138; [get art0.Name which is z1 address. Name goes first in art info, so y1 points to art0.Name] [v4138 holds address of z1 now] !#UN&y10>=0:A0/9/y10; [resture Z var number] !#UN&y10<0:A0/9/z-1; [restore string (3.59)] ** пример заполнение артефактами 171-177 ** используются переменные z280-z296 !?PI; !!VRv4139:S280 -1 *512 +v4138; !!VRv4140:S295 -1 *512 +v4138; !!FU9126:P; * x1 - номер арта (с 171 и до 239), x2 - ссылка название, x3 - стоимость * x4 - позиция на теле (0-рюкзак, 1-голова, 2-плечи, 3-шея, 4-правая рука * 5-левая рука, 6-торс, 7-кольцо, 8-ноги, 9-разное) * x5 - класс артефакта (1-грааль, 2-сокровище, 4-малый, 8-великий, 16-реликвия) * x6 - ссылка описание, x7 - номер сборного артефакта (>12) * x8 - часть сборного артефакта №>12, x9 - дает ли заклинание (0-нет, 1-да) ** пояснение z940 - имя артефакта 171, z941 - описание 171, z942 - имя артефакта 172, z943 - описание 172 и т.д. !!VRy-1:S940 -1 *512 +v4138; !!VRy-2:S941 -1 *512 +v4138; !!FU9128:P171/y-1/5000/1/4/y-2/-1/-1/1; !!VRy-1:S942 -1 *512 +v4138; !!VRy-2:S943 -1 *512 +v4138; !!FU9128:P172/y-1/5000/6/4/y-2/-1/-1/0; !!VRy-1:S944 -1 *512 +v4138; !!VRy-2:S945 -1 *512 +v4138; !!FU9128:P173/y-1/5000/4/4/y-2/-1/-1/0; !!VRy-1:S946 -1 *512 +v4138; !!VRy-2:S947 -1 *512 +v4138; !!FU9128:P174/y-1/5000/5/4/y-2/-1/-1/0; !!VRy-1:S948 -1 *512 +v4138; !!VRy-2:S949 -1 *512 +v4138; !!FU9128:P175/y-1/5000/2/4/y-2/-1/-1/0; !!VRy-1:S950 -1 *512 +v4138; !!VRy-2:S951 -1 *512 +v4138; !!FU9128:P176/y-1/5000/8/4/y-2/-1/-1/0; !!VRy-1:S952 -1 *512 +v4138; !!VRy-2:S953 -1 *512 +v4138; !!FU9128:P177/y-1/5000/4/16/y-2/-1/-1/0; * x1= + к атаке, x2= + к защите, x3= + к силе магии, x4= + к знанию !!FU9129:P161/0/0/2/2; параметры артефактов !!FU9129:P162/0/2/0/0; !!FU9129:P163/5/0/0/0; !!FU9129:P164/0/3/0/0; !!FU9129:P165/0/0/0/3; !!FU9129:P166/0/0/3/0; !!UN:C6687592/4/v4139; z280-z294 !!UN:C5123366/4/v4140; z295-z296 !!UN:C5123569/4/v4140; !!UN:C5123733/4/v4140; !!UN:C5123964/4/v4140; !?FU9126; !!VRy1:S8088992; !!VRy2:Sv4139; !!DO9127/1/5472/1:Py1/y2; !!VRy1:S8094552; !!VRy2:Sv4140; !!DO9127/1/684/1:Py1/y2; !?FU9127; !!UN:Cx1/1/?y1; !!UN:Cx2/1/y1; !!VRx1:+1; !!VRx2:+1; !?FU9128; !!VRy2:Sx1*32+v4139; !!UN:Cy2/4/x2; ссылка название !!VRy2:Sx1*32+v4139+4; !!UN:Cy2/4/x3; стоимость !!VRy2:Sx1*32+v4139+8; !!UN:Cy2/4/x4; позиция на теле !!VRy2:Sx1*32+v4139+12; !!UN:Cy2/4/x5; класс артефакта !!VRy2:Sx1*32+v4139+16; !!UN:Cy2/4/x6; ссылка описание !!VRy2:Sx1*32+v4139+20; !!UN:Cy2/4/x7; номер сборного артефакта !!VRy2:Sx1*32+v4139+24; !!UN:Cy2/4/x8; часть сборного артефакта № !!VRy2:Sx1*32+v4139+28; !!UN:Cy2/4/x9; дает ли заклинание !?FU9129; функция артефактов !!VRy1:S8094552; !!VRy2:Sx1*4+y1; !!UN:Cy2/1/x2; +атака !!VRy2:Sx1*4+y1+1; !!UN:Cy2/1/x3; +защита !!VRy2:Sx1*4+y1+2; !!UN:Cy2/1/x4; +сила магии !!VRy2:Sx1*4+y1+3; !!UN:Cy2/1/x5; +знание |
|
|
18 Apr 2009, 07:39
Сообщение
#14
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
maior - я вот так сделал (если слот Брони в Artraits.txt не менялся):
Код !?PI; !!DO29502/1/5440/1:P8088992/10007016; !!FU29503:P#1 P#2 P#3...; - номера добавляемых артов !?FU29502; !!UN:Cx1/1/?y1; !!UN:Cx2/1/y1; !!VRx1:+1; !!VRx2:+1; !?FU29503; !!UN:C6687592/4/10007016; !!VRy1:S8094336; !!VRy2:Sx1*32+10007016; !!DO29504/1/50/1:Py1/y2/x1; !?FU29504; !!UN:Cx1/1/?y1; !!UN:Cx2/1/y1; !!UN&y1=6/x3=*номер арта*:Cx2/1/*номер слота*; !!VRx1:+1; !!VRx2:+1; Если менялся, то и y1, ес-сно, должна равняться другому значению слота. Номер 171 - глючный. Его лучше опустить (но кадр в дефе - хоть пустой - конечно, обязателен). -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
18 Apr 2009, 11:34
Сообщение
#15
|
|
Immortal Сообщений: 668 Спасибо сказали: 58 раз |
Хммм... В принципе, не совсем верно, мне кажется.
!?FU29504 - побайтовое копирование параметров артефакта (167). У тебя, как я понял, если в нем будет значение 6 (т.е. торс), то ты меняешь на свое. А если там будет 4-байтовое значение адреса, ну к примеру, 00 6E AA 06, то последнее число тоже поменяется на твое значение, - а далее глюки и баги. Может быть так и происходит с артом 171. Кстати, меня всегда интересовало, почему происходит копирование 50 байт в цикле !!DO4/1/50/1:Py1/y2; Ведь параметры артефакта заполняют собой 32 байта. Можно даже посчитать - z-переменная - 512 байт, зарезервировано 200 z-переменных, т.е. 102400 байт. Как сказано ранее, можно добавить 3200 артов, т.е. на 1 арт придется 102400/3200=32 байта. Это же подтверждает практика. Поэтому все же лучше поменять цикл на !!DO4/1/32/1:Py1/y2; Ну и наконец для позиции на теле, исходя из моей функции, смещение составляет 8 байт, поэтому, MOP, в твоем примере попробуй поменять !!UN&y1=6/x3=*номер арта*:Cx2/1/*номер слота*; на !!UN&x16=9/x3=*номер арта*:Cx2/1/*номер слота*; |
|
|
19 Apr 2009, 10:52
(Сообщение отредактировал Master Of Puppets - 19 Apr 2009, 10:55)
Сообщение
#16
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
major - да, твой скрипт лучше, и я им сейчас пользуюсь. Арт-171 не глючит. Свой вариант я только из отчаяния сделал.
Кстати, придумал способ, чтобы не юзать кучу z-переменных для описаний артов (если артов много). На случай кликов использую такой код: !?CM2&$Place$>1/$Place$<45; !!VRy2:S$Place$-2; !!VRy2&$Place$>39:S$Place$-21; !!HE-1:A1/?y1/y2; !!FU&y1<171:E; !!VRy3:Sy1+1830; !!VRz940:S@ArtMop[0]@; !!VRz941:Sy3; !!VRy-1:S940 -1 *512 +v4138; !!VRy-2:S941 -1 *512 +v4138; !!VRy2:Sy1*32+v4139; !!UN:Cy2/4/y-1; !!VRy2:Sy1*32+v4139+16; !!UN:Cy2/4/y-2; При получении артефакта в каком-либо объекте поступаю так же. Поэтому использую всего две z-переменных для всех артов. Однако, у меня есть два вопроса по твоему скрипту: 1)Для чего в нём используются z280-z296? Можно обойтись без них? 2)Для чего делать параметры артов (+1 к Атаке и т.д.) через UN:C, если !?AE вроде нормально работает с новыми артефактами? Добавлено ([mergetime]1240127533[/mergetime]): Цитата Может быть так и происходит с артом 171. Нет, это было при полной неприкосновенности скрипта Дьякона. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
19 Apr 2009, 11:37
Сообщение
#17
|
|
Immortal Сообщений: 668 Спасибо сказали: 58 раз |
1) z280-z294 используются для хранения параметров артефактов (стоимость, слот, класс и т.д.), а вот z295-z296 - уже и не помню для чего, кажется как раз для ссылок на название артефактов.
2) конечно в принципе не обязательно, просто мне так нравится. |
|
|
21 Apr 2009, 12:39
Сообщение
#18
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Цитата z280-z294 используются для хранения параметров артефактов (стоимость, слот, класс и т.д.), Я это понял. Не понял другое. В скрипте коммент: "x1 - номер арта (с 171 и до 239)". Почему всего 69? Следуя логике, 14-ти z-переменных должно хватить на 512*14/32=224 артефакта. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
21 Apr 2009, 16:23
Сообщение
#19
|
|
Immortal Сообщений: 668 Спасибо сказали: 58 раз |
А-а-а-а, я вспомнил! Используется 15 (не 14) z-переменных (280-294), т.е. получается 512*15/32=240 артефактов.
Я таблицу артефактов перенес в новое место, поэтому 240 - это общее количество артов, т.е. начиная с 0 последним будет арт №239. Посчитал, что дополнительно около 70 артефактов хватит... А параметры старых артов (0-170) просто копируются в новую таблицу. |
|
|
21 Apr 2009, 16:33
Сообщение
#20
|
|
Dark Advisor Сообщений: 11 747 Спасибо сказали: 5217 раз |
[quote=Docent Picolan,21 Mar 2008, 01:15]
вот вам привет от дъякона, к сожалению проживающего ныне на банановом острове: Дъякон 0:06:14 Данный скрипт позволяет добавить 3200 новых артов. Скрипт добавляет новый бланковый арт, св-ва которого можно задать при помощи ЕРМ. Но нельзя занимать переменные z800-z1000. Так Дьякон, вроде нормальный чел был! За что его? -------------------- |
|
|
Текстовая версия | Сейчас: 28 March 2024 - 18:05 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |