Multi Menu Save
{ Добавляем в "меню паузы/игра/" новый пункт "Сохранение" , оно ещё и пашет :D Это первый в истории моддинга ГТА скрипт , меняющий меню :)Ha написание скрипта меню потянуло из-зa моей прогой "[SA]MenuEditor"Ищем на мапсе в софте , если кому пригодится .
Т.к. я писал на СБ3 , а там есть некоторые изменения , компилятор предыдуших версий может ругаться на цикл с переменной 0@ , поэтому переменную надо будет объявить в Var'e как Integer }
:CREATE_SAVE_MENU_LINE
wait 0
{Изменим сначало имя GXT ключа в меню паузы ,
в тексте которого написано "Start new game"
на другой (FEH_LOA), значение которого "Game" .}
0@ = -386370
&0(0@,1i) = 0x4C5F4845
0@ += 1
&0(0@,1i) = 0x0B00414F
If and
Player.Defined($PLAYER_CHAR)
not Actor.Driving($PLAYER_ACTOR)
$ONMISSION == 0
then
{Если с игроком всё в порядке и он не на миссии ,
и не едет в машине , тогда создаём строку меню
с GXT ключом 'FET_SG' , знач. которго "Save game" ,
ну и естественно пишим туда нужные нам параметры.}
0@ = -388622
&0(0@,1i) = 0x46050001
0@ += 1
&0(0@,1i) = 0x535F5445
0@ += 1
&0(0@,1i) = 0xB000047
0@ += 1
&0(0@,1i) = 0x10
0@ += 1
&0(0@,1i) = 0x10000
else
{В другом же случае делаем эту строку недоступной (1)
или просто обнуляем эту строку (2) }
0@ = -388622
// (1) Можно просто сделать строку недоступной
// для наведения курсора :
&0(0@,1i) = 0x46000001
// (2) А можно и вовсе убрать из меню :
&0(0@,1i) = 1
for 0@ = -388621 to -388617
&0(0@,1i) = 0
end // for
end // i-t-e
jump @CREATE_SAVE_MENU_LINE
//Автор - я , т.е. Alexander
1134 Прочтений • [Multi Menu Save] [13.05.2012] [Комментариев: 0]