{ Добавляем в "меню паузы/игра/" новый пункт "Сохранение" , оно ещё и пашет :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