Générateur de script GTA 7.5b













































-
-
30 mai 2020v5.2b1590848036_696_696_gtasg.rar
-
5 avril 2020v5.1b1586095740_696_gtasg.rar
-
16 novembre 2019v5.0b1573875231_696_gtasg.rar
-
q32.ruTélécharger
Le Générateur de script GTA est un outil qui permet de générer du code pour Sanny Builder, en utilisant Visual Studio et le langage C#. Les bibliothèques DLL contiennent toutes les méthodes principales souvent utilisées lors du développement de modifications standard main.scm . Vous pouvez désormais développer des scripts plus rapidement, éviter les erreurs critiques et écrire du code en utilisant le langage moderne C#.
Pour utiliser ces bibliothèques, vous devez avoir une connaissance de base du langage C# et comprendre comment fonctionnent les scripts SCM. Vous devez utiliser la dernière version de Visual Studio et le .NET Framework version 4.7.2 ou supérieure. La compatibilité avec d'autres langages et plateformes n'est pas garantie.
Les bibliothèques fonctionnent uniquement avec Sanny Builder v3.5.0 (ou supérieur) et génèrent du code spécifiquement pour celui-ci. Il y a un support pour la génération de code simple ainsi que pour la compilation directe en fichier SCM.
Si vous souhaitez soutenir l'auteur, téléchargez le programme via le lien miroir !
En suivant le lien miroir, vous obtiendrez la toute dernière version de GTASG (7.5b).
Seules les versions précédentes du programme sont téléchargées sur le site.
Les principales modifications dans 7.5b :
+ Ajout du support pour la compilation des scripts CLEO.
+ Ajout du support pour les fonctions SCM.
+ Ajout des classes "Union" et "Calculator".
+ Ajout de la propriété "EndJumpTable" dans la classe "LabelCase".
+ Ajout des encodages GXT de Fargus et BadMan.
# Les bibliothèques utilisent désormais ".Net Framework 4.8".
# Correction du fonctionnement de l'opcode "07E4".
# De nombreuses méthodes ont été renommées selon la forme américaine de certains mots. Certaines propriétés dans les plugins ont également été renommées.
- La propriété "UseAutomaticVariableInitialization" de la classe "Generator" a été supprimée.
Les principales modifications dans 7.2b :
+ La classe "Memory" peut désormais accepter un entier dans le constructeur. Cela permettra de spécifier une adresse directe dans les fonctions où ce type est requis.
+ Ajout de la méthode "unsafe_code".
+ Ajout de la méthode statique "IndexOf" de la classe "Variable".
# Correction d'un bug où l'index d'une variable locale empêchait l'utilisation d'une variable de tableau dans des missions, en utilisant la limite des threads et des scripts externes.
# Correction d'un bug où l'opérateur > générait un opcode incorrect lorsque le premier paramètre était un nombre.
# La propriété "Car.empty" est désormais accessible dans la bibliothèque GTA.SA.
# La méthode "set_tag_status" a été renommée en "set_tags_status_in_area".
- Les événements "AutoJumpCase" et "AutoJumpEnd" dans la classe "JumpTable" ont été supprimés.
Les principales modifications dans 7.1b :
+ Ajout de la méthode "do_if_index_in_range" dans la classe "Array".
+ Ajout de l'événement "Label" dans la classe "Memory", qui est identique à la propriété "label".
+ Ajout de la méthode "set_volume" pour le plugin "AudioBackground".
+ Ajout des événements "onloadData", "onunloadData" et "OnReplicaChanged" dans le plugin "Phone".
+ Ajout de 2 événements dans la classe JumpTable : AutoJumpCase et AutoJumpEnd.
+ Ajout des propriétés "EnableEmmetsGun", "EnableDefaultArmourPickups", "EnableDefaultBribePickups" et "EnableDefaultMeleeWeaponPickups" dans la classe "Original".
+ Désormais, lors de l'initialisation des variables locales dans les missions, une erreur se produira si leurs index contiennent les valeurs 32 et 33.
# Le type "Parameter" ne peut plus accepter des variables de chaîne. La limite sur le nombre de paramètres transmis a été corrigée dans les bibliothèques GTA.III et GTA.VC.
# Les méthodes qui prenaient des tableaux comme paramètres ont été corrigées. Le nombre de paramètres est désormais spécifié correctement.
# La méthode "jump( Memory m )" affichera désormais un avertissement si le paramètre ne contient pas de référence à une étiquette (au lieu de provoquer une erreur).
# Lors de l'accès à un index numérique d'un tableau d'acteurs, son champ "task" aura le bon index.
# Correction de la méthode "start" de la classe "Timer", qui utilisait un format incorrect pour l'opcode 014E (GTA.III).
# Le plugin "Phone" peut désormais stocker 24 répliques au lieu de 20. Il peut également stocker un nombre illimité de dialogues au lieu de 75.
# La propriété "After" de la classe "DialogSetup" a été changée en champ "OnComplete".
# La propriété "EnableDefaultPickups" de la classe "Original" a été renommée en "EnableDefaultWeaponPickups".
Les principales modifications dans 7.0b :
+ Les variables locales et globales ne nécessitent plus d'initialisation préalable.
+ Ajout d'une syntaxe simplifiée pour l'initialisation des tableaux.
+ Ajout de la propriété "UseAutomaticVariableInitialization" dans la classe "Generator". Elle régule l'utilisation de l'initialisation automatique des variables.
+ Il est désormais possible de spécifier un nom pour le fichier SCM.
+ Ajout du type "Bike" pour GTA VC.
+ Ajout des types décoratifs "sString" et "vString" pour GTA III et VC.
+ Ajout des opcodes 0601 et 0602 pour GTA III et VC.
# Le générateur est adapté pour Sanny Builder v3.5.0 (ou supérieur).
# Au lieu d'une bibliothèque générale, trois sont désormais utilisées pour ne pas charger des méthodes et classes inutiles.
# Réduction du nombre d'espaces de noms.
# La classe de propriété FXT a été complètement repensée. Il est désormais possible d'ajouter des textes pour plusieurs fichiers FXT.
# Lors de la création d'un tableau local, une erreur sera affichée si le type transmis n'est pas utilisé dans le contexte local.
# Le générateur de stationnement a désormais des méthodes "init", "init_with_number_plate" et renvoie le type "CarParkGenerator". Les anciennes méthodes d'initialisation ont été supprimées.
- La plupart des propriétés de la classe "Generator" ont été supprimées. Désormais, certaines d'entre elles utilisent des méthodes.
- La variable par défaut "ScriptStatus" a été supprimée.
- La méthode "set_crouch" de la classe "Actor" en mode GTA SA a été supprimée. C'est un duplicata de la méthode homonyme de la classe "TaskManager".
- Les opcodes GTA III, VC et SA qui n'étaient pas utilisés dans main.scm mais pris en charge nativement ont été désactivés.
Les principales modifications dans 5.3b :
+ Le plugin "Original" a désormais une propriété "After".
+ Ajout de la méthode "change_door_lock" pour le type Vehicle en mode GTA III et VC.
# Correction de la méthode "start_new_external_script", qui acceptait des paramètres.
# Les méthodes "Generator.OpenAllMapZones" et "Generator.DisableCheats" ont été déplacées dans le plugin "Original".
# Le plugin "Original" a été mis à jour. Il compte désormais 140 scripts ! Les scripts originaux suivants ont été ajoutés :
## BBALL : Possibilité de jouer au basket ;
## CRANES : Possibilité d'utiliser des grues ;
## INTMAN : Crée une atmosphère dans les intérieurs comme dans le jeu original (casino, bar, club de strip-tease, etc.). Possibilité d'acheter des vêtements, des tatouages, des coupes de cheveux, des armes. Possibilité d'utiliser une garde-robe ou de tirer au stand de tir ;
Ajout de la possibilité de jouer à des mini-jeux, au billard, de parier sur des courses de chevaux ou de participer à des batailles de lowriders ;
## R3 : Mini-missions (taxi, médecin, pompier, policier, proxénète, voleur, conducteur de train) ;
## TRACE : Possibilité de participer à des courses de rue et à des tournois ;
## SKOOLS : Possibilité de passer l'école de pilote et d'autres ;
## ODDVEH : Possibilité de passer des missions de coursier, triathlon et autres quêtes secondaires liées aux motos et aux vélos ;
## TRUCK : Possibilité de passer des missions de transport ;
## QUARRY : Possibilité de passer des missions dans la carrière ;
## VALET : Possibilité de passer des missions de valet ;
## TRAINS : Permet d'utiliser des trains pour un déplacement rapide ;
## PLANES : Permet d'utiliser des avions pour un déplacement rapide ;
## HJ : Inclut des bonus pour des cascades folles ;
## IMPND : Atmosphère près du poste de police (véhicules confisqués) ;
## IMPEXPM : Permet d'importer et d'exporter des véhicules dans les docks de San Fierro ;
## CARPRK1 : Inclut le générateur de véhicules de stationnement standard ;
## TCASH : Crée un pickup pour collecter des bénéfices près de la maison de Carl ;
Les principales modifications dans 5.2b :
+ La méthode "Generator.Compile" a désormais un paramètre optionnel "restartSannyBuilder", qui ouvrira Sanny Builder après la compilation.
+ Ajout des opérateurs "&=", "|=", "^=" et "%=" pour les types "Int", "Memory", "StatusText" et "Timer". Ils implémentent le fonctionnement des opcodes "0B10", "0B11", "0B12" et "0B14".
+ Ajout du plugin "Phone" pour GTA SA, qui permet à Carl de recevoir des appels.
+ Ajout du plugin "SaveGame" pour GTA SA, qui permet de sauvegarder le jeu comme dans le jeu original.
+ Ajout du plugin "Properties" pour GTA SA, qui permet à Carl d'acheter des biens immobiliers comme dans le jeu original.
+ Ajout du plugin "Original". Il permet d'activer ou de désactiver les scripts standard (optionnel). Les scripts suivants ont été ajoutés :
++ PLCHUTE : Possibilité d'utiliser un parachute ;
++ VENDING : Permet au joueur d'acheter des sodas et des chips ;
++ FVENDOR : Permet au joueur d'acheter de la nourriture auprès des vendeurs ;
++ HOTDOGV : Permet au joueur d'acheter des hot-dogs auprès des vendeurs ;
++ DEALER : Les dealers vendent de la drogue ;
++ GATEOS : Gère les portes de l'entrepôt de carburant K.A.S.S. ;
++ GYMBIKE : Permet d'utiliser un vélo d'exercice ;
++ GYMBENC : Permet d'utiliser une barre d'exercice ;
++ GYMTREA : Permet d'utiliser un tapis de course ;
++ GYMDUMB : Permet d'utiliser des haltères d'exercice ;
++ GYMLS : Permet d'apprendre un style de combat après avoir vaincu un adversaire (Boxe) ;
++ GYMSF : Permet d'apprendre un style de combat après avoir vaincu un adversaire (Kung-fu) ;
++ GYMLV : Permet d'apprendre un style de combat après avoir vaincu un adversaire (Muay-thaï) ;
# La propriété "StartGlobalAutoIndex" a désormais une valeur par défaut de 714, au lieu de 2000.
# Les méthodes "Continue" et "Break" ont été renommées en "@continue" et "@break" respectivement.
# La méthode de script obligatoire "Start()" a été modifiée en "START( LabelJump label )".
# Les propriétés "LocalTimer1" et "LocalTimer2" ne sont plus statiques.
- Les méthodes "jump", "or", "and" et "jf", qui ne prenaient pas en arguments une étiquette de saut, ne sont plus disponibles.
- Dans certaines méthodes, le paramètre de type "Out" a été remplacé par l'ancienne version.
Les principales modifications dans 5.1b :
+ Ajout d'un type auxiliaire "Out", qui générera une erreur si aucune variable n'est spécifiée dans le paramètre.
+ La méthode "load_requested_models" peut désormais accepter un tableau de modèles comme paramètre.
+ Ajout de la méthode "is_scan_string_format", qui implémente le fonctionnement de l'opcode 0AD4.
+ Ajout de la méthode "chdir", qui implémente le fonctionnement de l'opcode 0A99.
+ Ajout d'une version anglaise de construction et d'erreurs dans la console.
+ Ajout de la propriété "StartGlobalAutoIndex" dans la classe "Generator", qui permet de définir l'index à partir duquel commencent les variables globales automatiques.
# Petites modifications à l'intérieur des méthodes qui créent diverses entités. Le générateur générera une erreur si la variable n'a pas de contexte.
# Correction des méthodes d'extension GTA VC pour la classe "Vehicle", où le paramètre était de type "object".
# La méthode "get_current_thread_pointer" se trouve désormais dans la classe "Memory".
# La méthode "read_memory" prend désormais en compte le type de sortie, au lieu d'utiliser le type "Memory" par défaut.
# Correction d'un bug où la classe "CarComponent" ne pouvait pas être une variable locale.
Les principales modifications dans 5.0b :
+ Nouvelle architecture du générateur de scripts. Désormais, pour implémenter le code des threads, des missions et des scripts externes, des classes sont utilisées au lieu de méthodes avec des attributs.
+ Ajout de la possibilité de créer des variables locales dans la portée de la classe.
+ Les méthodes "local" et "global" ont désormais une surcharge sans paramètres. Cela permet d'attribuer automatiquement des index aux variables.
+ Ajout des méthodes "local_array" et "global_array" pour le mode GTA SA, au lieu des surcharges "local" et "global".
+ Ajout de l'événement "Scene" au lieu de la méthode "start_scene_scip" dans le mode GTA SA.
+ Ajout de la méthode "gosub" comme alternative à l'événement "Gosub".
+ Désormais, si un élément de tableau est utilisé comme index d'un autre tableau, une erreur se produira (comme cela devrait être le cas).
+ Ajout de surcharges de méthodes fréquemment utilisées pour simplifier le code.
+ Ajout du plugin "RaceMission" dans le mode GTA SA. Il permet de générer du code pour des missions de course.
+ Ajout de la méthode "сonvert" pour la propriété "FXT". Elle permettra de traduire le texte en forme symbolique sans ajouter d'enregistrement dans l'archive FXT.
+ Ajout de la propriété "NotToCompileExternalScripts" dans la classe "Generator". Elle indiquera à Sanny Builder de ne pas compiler les scripts externes.
# La propriété FXT n'a plus de méthode "set_GXT_encoding". À la place, la propriété "Encoding" de la classe "Generator" est utilisée.
# La propriété "ConsoleLanguage" de la classe "Generator" s'appelle désormais "Language".
# Tous les Gosub génèrent désormais toujours "return".
# Mécanique du générateur de stationnement repensée. Désormais, les méthodes renvoient des véhicules.
# Le générateur ne génère plus de code pour les scripts s'ils n'ont pas été exécutés dans le code.
# Format des étiquettes modifié. Au lieu d'index, des classes spéciales sont désormais utilisées.
# Correction d'un bug lors de l'utilisation d'un tableau, lorsque le champ "task" de la classe "Actor" avait un nom de variable incorrect.
# Correction des index pour les temporisateurs locaux dans le mode GTA SA (au code de mission).
# Certaines énumérations pour GTA SA ont été mises à jour et ajoutées.
# Tous les plugins ne nécessitent plus de spécifier les index des variables globales.
# Les méthodes "gosub_clear", "jump_passed", "jump_failed" et les événements "OnPassed", "OnFailed" et "OnClear" ne sont désormais disponibles que dans la classe "Mission".
# La méthode "mission_cleanup" et la condition "is_wasted_or_busted" ne sont désormais disponibles que dans les classes "Mission" et "MissionCustom".
# Le générateur ne génère plus d'erreur si le fichier "script.img" n'a pas pu être écrasé pendant le jeu. À la place, un avertissement sera affiché.
- Suppression de la possibilité de spécifier l'ordre de génération des scripts par inutilité. Le tri se fait automatiquement lors de la génération.
- Suppression des méthodes de conditions qui prenaient des index d'étiquettes comme paramètres.
- La classe "CarParkVehicle" a été supprimée par inutilité.
- Les attributs "Thread", "Mission" et "External" ont été supprimés par inutilité. À la place, les classes "Thread", "Mission", "MissionCustom" et "External" sont utilisées.
Les principales modifications dans 4.5.25b :
+ Ajout de la possibilité de choisir la langue de construction et d'erreurs de la console. Auparavant, il n'y avait que le russe, et maintenant d'autres sont testées.
+ La classe "Ini" est désormais disponible pour GTA III et VC.
+ Ajout de constantes pour les modèles d'armes, d'acteurs, de véhicules et autres pour GTA III, VC et SA.
+ Ajout d'une méthode de test "Start" pour le générateur. Dans celle-ci, le thread "MAIN" sera spécifié automatiquement, ce qui évitera d'utiliser des méthodes partielles. L'ancienne méthode est encore disponible sous le nom "Start_old".
+ Ajout du plugin "StarterAdvanced" pour GTA SA, qui rendra le démarreur plus fonctionnel.
# Le plugin "Starter" nécessite désormais 2 variables globales.
# Certaines énumérations pour GTA III et VC ont été mises à jour.
# La méthode "each" pour les tableaux utilise désormais correctement le compteur.
# La classe FXT a désormais un encodage par défaut "None".
Les principales modifications dans 4.5b :
+ Ajout de méthodes décrivant la plupart des opcodes de la bibliothèque CLEO 2.0.0.5 pour GTA III et VC.
+ Ajout d'une surcharge de la méthode "wait", où il n'est pas nécessaire de spécifier le temps d'attente avec des conditions.
# Correction des erreurs dans les textes des opcodes (020C, 0219, 0357, 0887, 09D8), qui empêchaient de compiler correctement le script.
# Modification de l'emplacement de certaines méthodes dans les classes "Script".
# Les classes "Library" et "File" se trouvent désormais dans l'espace de noms GTA, et non dans GTA.SA.
# L'événement "auto" dans la classe "Switch" s'appelle désormais "Auto".
Les principales modifications dans 4.4b :
+ Ajout des méthodes "jump" et "jump_end" dans la classe "SwitchCase".
+ Ajout de surcharges pour les méthodes "local" et "global". Elles permettront de simplifier l'initialisation des variables.
+ Ajout de l'événement "auto" dans la classe "Switch". Il est désormais possible de créer des cas automatiques dans la table de transitions, dont le compte commence à zéro. Cela rend le code plus compact et la construction plus rapide grâce aux capacités intégrées de Visual Studio.
+ Ajout de la méthode "jf", qui prend en premier paramètre l'index d'une étiquette, comme cela a été fait dans les autres conditions.
+ Dans la classe "GXTEncoding", un champ statique "None" a été ajouté, qui contient un pseudo-encodage qui ne convertit pas le texte. Utilisé pour un fonctionnement rapide dans les endroits où la conversion n'est pas nécessaire (par exemple : localisation anglaise).
# Le générateur ne génère plus d'erreurs si les fichiers FXT et IMG n'ont pas été créés lors de la compilation.
# La méthode "jf", qui prenait en premier paramètre le temps d'attente, s'appelle désormais "wait".
# Mécanique de la méthode "jump_table" repensée.
- Suppression des méthodes "jump_label" et "jump_end" dans la classe "Switch".
Les principales modifications dans 4.2b :
+ Les méthodes qui prennent en paramètre le type "JumpHandler" génèrent désormais une nouvelle étiquette si celle-ci est absente, au lieu de lancer des exceptions.
+ Ajout de surcharges pour les méthodes "and", "or" et "jf". Il est désormais possible de faire des sauts vers la première et des étiquettes arbitraires si les conditions ne sont pas remplies.
+ Ajout du plugin "Starter" pour GTA SA, qui permettra de créer un simple démarreur de missions (version retravaillée des anciens plugins pour démarreurs).
# Certaines énumérations ont été mises à jour et ajoutées.
# Gosub utilise désormais un autre délégué
# Le générateur de véhicules de stationnement n'a désormais plus de méthodes "init" et "init_with_number_plate". À la place, des méthodes similaires ont été ajoutées, qui prennent en compte le type de véhicule.
# Correction d'un bug où un texte non traduit était enregistré dans le fichier FXT.
# Petites corrections pour les événements "Jump" et "Gosub".
# La classe "Camera" est désormais une "classe singleton", accessible via la propriété "CAMERA".
- Il n'est plus possible de faire des sauts vers des étiquettes créées par l'événement Gosub
- Suppression des fonctions liées à la caméra. Elles sont désormais appelées via la propriété "CAMERA".
GTA Script Generator - это инструмент, который позволяет генерировать код для Sanny Builder, используя Visual Studio и язык C#. DLL-библиотеки содержат все основные методы, которые часто используются при разработке стандартных main.scm модификаций. Теперь Вы можете более быстро разрабатывать скрипты, не допускать критических ошибок и писать код, используя современный язык C#.
Чтобы использовать эти библиотеки, Вам нужно владеть языком C# на базовом уровне и знать как работают SCM-скрипты. Вам нужно использовать последнюю версию Visual Studio и .NET Framework версии 4.7.2 или выше. Работоспособность на других языках и платформах не гарантируется.
Библиотеки работают только с Sanny Builder v3.5.0 (или выше) и генерирует код специально для него. Есть поддержка как простой генерации кода, так и прямой компиляции в SCM-файл.
Если вы хотите поддержать автора, то скачивайте программу через зеркальную ссылку!
Переходя по зеркальной ссылке, вы получаете самую последнюю версию GTASG (7.5b).
На сайт загружены только прошлые версии программы.
Основные изменения в 7.5b:
+ Добавлена поддержка компиляции CLEO-скриптов.
+ Добавлена поддержка SCM-функций.
+ Добавлен классы "Union" и "Calculator".
+ Добавлено свойство "EndJumpTable" в классе "LabelCase".
+ Добавлены GXT-кодировки от Fargus и BadMan.
# Библиотеки теперь используют ".Net Framework 4.8".
# Исправлена работа опкода "07E4".
# Многие методы были переименованы согласно американской форме написания некоторых слов. Также переименованы некоторые свойства в плагинах.
- Свойство "UseAutomaticVariableInitialization" класса "Generator" было удалено.
Основные изменения в 7.2b:
+ Класс "Memory" теперь может принимать целое число в конструктор. Это позволит указывать прямой адрес в функциях, где требуется этот тип.
+ Добавлен метод "unsafe_code".
+ Добавлен статический метод "IndexOf" класса "Variable".
# Исправлен баг, когда индекс локальной переменной не позволял использовать переменную массива в миссиях, используя лимит потоков и внешних скриптов.
# Исправлен баг, когда оператор > генерировал не тот опкод, когда первым параметром было число.
# Свойство "Car.empty" теперь доступно в библиотеке GTA.SA.
# Метод "set_tag_status" был переименован на "set_tags_status_in_area".
- События "AutoJumpCase" и "AutoJumpEnd" в классе "JumpTable" были удалены.
Основные изменения в 7.1b:
+ Добавлен метод "do_if_index_in_range" в класс "Array".
+ В класс "Memory" добавлено событие "Label", которое является идентичным свойству "label".
+ Добавлен метод "set_volume" для плагина "AudioBackground".
+ В плагин "Phone" добавлены события "onloadData", "onunloadData" и "OnReplicaChanged".
+ В класс JumpTable были добавлены 2 события: AutoJumpCase и AutoJumpEnd.
+ В класс "Original" были добавлены свойства "EnableEmmetsGun", "EnableDefaultArmourPickups", "EnableDefaultBribePickups" и "EnableDefaultMeleeWeaponPickups".
+ Теперь при инициализации локальных переменных в миссиях будет срабатывать ошибка, если их индексы будут содержать значения 32 и 33.
# Тип "Parameter" теперь не может принимать переменные-строки. Лимит на количество передаваемых параметров был изменён на правильный в библиотеках GTA.III и GTA.VC.
# Были исправлены методы, которые принимали массивы в качестве параметра. Теперь количество параметров указывается правильно.
# Метод "jump( Memory m )" теперь будет показывать предупреждение, если параметр не содержит ссылку на метку (а не вызывать ошибку).
# Теперь при обращении к числовому индексу массива актёров его поле "task" будет иметь правильный индекс.
# Исправлен метод "start" класса "Timer", который использовал неправильный формат для опкода 014E (GTA.III).
# Плагин "Phone" теперь может хранить 24 реплики, а не 20. Также он может хранить неограниченное количество диалогов, а не 75.
# Свойство "After" класса "DialogSetup" изменено на поле "OnComplete".
# Свойство "EnableDefaultPickups" класса "Original" было переименовано в "EnableDefaultWeaponPickups".
Основные изменения в 7.0b:
+ Локальные и глобальные переменные уже не требуют предварительной инициализации.
+ Добавлен упрощённый синтаксис инициализации массивов.
+ Добавлено свойство "UseAutomaticVariableInitialization" класса "Generator". Оно регулирует использование автоматической инициализации переменных.
+ Теперь можно указать имя SCM-файлу.
+ Добавлен тип "Bike" для GTA VC.
+ Добавлены декоративные типы "sString" и "vString" для GTA III и VC.
+ Добавлены опкоды 0601 и 0602 для GTA III и VC.
# Генератор адаптирован под Sanny Builder v3.5.0 (или выше).
# Теперь вместо одной общей библиотеки используются три, чтобы не загружать ненужные методы и классы.
# Сокращено количество пространств имён.
# Класс свойства FXT полностью переработан. Теперь можно добавлять тексты для нескольких FXT-файлов.
# При создании локального массива будет показана ошибка, если переданный тип не используется в локальном контексте.
# Генератор парковки теперь имеет методы "init", "init_with_number_plate" и возвращает тип "CarParkGenerator". Старые методы инициализации были убраны.
- Большинство свойств класса "Generator" были удалены. Теперь вместо некоторых их них используются методы.
- Переменная по умолчанию "ScriptStatus" была удалена.
- Удалён метод "set_crouch" класса "Actor" в режиме GTA SA. Это дубликат одноимённого метода класса "TaskManager".
- Отключены опкоды GTA III, VC и SA, которые не использовались в main.scm, но нативно поддерживались.
Основные изменения в 5.3b:
+ Плагин "Original" теперь имеет свойство "After".
+ Добавлен метод "change_door_lock" для типа Vehicle в режиме GTA III и VC.
# Был исправлен метод "start_new_external_script", который принимал параметры.
# Методы "Generator.OpenAllMapZones" и "Generator.DisableCheats" были перемещены в плагин "Original".
# Был обновлён плагин "Original". Теперь плагин насчитывает 140 скриптов! Добавлены следующие оригинальные скрипты:
## BBALL: Возможность играть в баскетбол;
## CRANES: Возможность использовать краны;
## INTMAN: Делает атмосферу в интерьерах как в оригинальной игре (казино, бар, стрип-клуб и.п.). Возможность покупать одежду, татуировки, стрижки, оружие. Возможность использовать гардероб или стрелять в тире;
Добавлена возможность играть в мини-игры, бильярд, делать ставки на скачки или участвовать в битве лоурайдеров;
## R3: Мини-миссии (таксист, медик, пожарный, полицейский, сутенёр, грабитель, машинист поезда);
## TRACE: Возможность участвовать в уличных гонках и турнирах;
## SKOOLS: Возможность проходить школу пилота и остальные;
## ODDVEH: Возможность проходить миссии курьера, триатлон и другие второстепенные задания, связанные с мотоциклами и велосипедами;
## TRUCK: Возможность проходить миссии грузоперевозчика;
## QUARRY: Возможность проходить миссии в карьере;
## VALET: Возможность проходить миссии лакея;
## TRAINS: Позволяет использовать поезда для быстрого перемещения;
## PLANES: Позволяет использовать самолёты для быстрого перемещения;
## HJ: Включает бонусы за безумные трюки;
## IMPND: Атмосфера возле полицейского участка (конфискованный транспорт);
## IMPEXPM: Даёт возможность импортировать и экспортировать транспорт в доках Сан-Фиерро;
## CARPRK1: Включает стандартный генератор парковочного транспорта;
## TCASH: Создаёт пикап для сбора прибыли возле дома Карла;
Основные изменения в 5.2b:
+ Метод "Generator.Compile" теперь имеет опциональный параметр "restartSannyBuilder", который будет открывать Sanny Builder после компиляции.
+ Добавлены операторы "&=", "|=", "^=" и "%=" для типов "Int", "Memory", "StatusText" и "Timer". Они реализуют работу опкодов "0B10", "0B11", "0B12" и "0B14".
+ Добавлен плагин "Phone" для GTA SA, который позволяет Карлу принимать звонки.
+ Добавлен плагин "SaveGame" для GTA SA, который позволяет сохранять игру, как в оригинальной игре.
+ Добавлен плагин "Properties" для GTA SA, который позволяет Карлу покупать недвижимость, как в оригинальной игре.
+ Добавлен плагин "Original". Он позволяет включать или отключать стандартные скрипты (опционально). Добавлены следующие скрипты:
++ PLCHUTE: Возможность использовать парашют;
++ VENDING: Позволяет игроку покупать газировку и чипсы;
++ FVENDOR: Позволяет игроку покупать еду у продавцов;
++ HOTDOGV: Позволяет игроку покупать хот-доги у продавцов;
++ DEALER: Дилеры торгуют наркотой;
++ GATEOS: Управляет воротами склада ГСМ К.А.С.С;
++ GYMBIKE: Позволяет использовать тренажерный велосипед;
++ GYMBENC: Позволяет использовать тренажерную штангу;
++ GYMTREA: Позволяет использовать беговою дорожку;
++ GYMDUMB: Позволяет использовать тренажерные гантели;
++ GYMLS: Позволяет изучить стиль боя после победы над оппонентом (Бокс);
++ GYMSF: Позволяет изучить стиль боя после победы над оппонентом (Кунг-фу);
++ GYMLV: Позволяет изучить стиль боя после победы над оппонентом (Муай-тай);
# Свойство "StartGlobalAutoIndex" теперь имеет стандартное значение 714, а не 2000.
# Методы "Continue" и "Break" переименованы на "@continue" и "@break" соответственно.
# Обязательный метод скрипта "Start()" изменён на "START( LabelJump label )".
# Свойства "LocalTimer1" и "LocalTimer2" теперь не являются статическими.
- Методы "jump", "or", "and" и "jf", которые не принимали в аргументы метку перехода, теперь недоступны.
- В некоторых методах параметр типа "Out" был заменён на старый вариант.
Основные изменения в 5.1b:
+ Добавлен вспомогательный тип "Out", который будет вызывать ошибку, если в параметр не указать переменную.
+ Метод "load_requested_models" теперь может принимать массив моделей в качестве параметра.
+ Добавлен метод "is_scan_string_format", реализующий работу опкода 0AD4.
+ Добавлен метод "chdir", реализующий работу опкода 0A99.
+ Добавлена кривая английская версия построения и ошибок в консоли.
+ Добавлено свойство "StartGlobalAutoIndex" класса "Generator", который позволяет установить индекс, с которого начинаются автоматические глобальные переменные.
# Небольшие изменения внутри методов, которые создают различные сущности. Теперь генератор будет вызывать ошибку, если переменная не имеет контекста.
# Исправлены методы расширения GTA VC для класса "Vehicle", где в параметрах был тип "object".
# Метод "get_current_thread_pointer" теперь находится в классе "Memory".
# Метод "read_memory" теперь учитывает выходной тип, а не использует тип "Memory" по умолчанию.
# Исправлен баг, когда класс "CarComponent" не мог быть локальной переменной.
Основные изменения в 5.0b:
+ Новая архитектура генератора скриптов. Теперь для реализации кода потоков, миссий и внешних скриптов используются классы, а не методы с атрибутами.
+ Добавлена возможность создавать локальные переменные в области видимости класса.
+ Методы "local" и "global" теперь имеют перегрузку без параметров. Она позволяет давать переменным индексы автоматически.
+ Добавлены методы "local_array" и "global_array" для режима GTA SA, вместо перегрузок "local" и "global".
+ Добавлено событие "Scene" вместо метода "start_scene_scip" в режиме GTA SA.
+ Добавлен метод "gosub" как альтернатива событию "Gosub".
+ Теперь если использовать элемент массива в качестве индекса другого массива будет срабатывать ошибка (так и должно быть).
+ Добавлены перегрузки часто используемых методов для упрощения кода.
+ Добавлен плагин "RaceMission" в режиме GTA SA. Он позволяет генерировать код гоночных миссий.
+ Добавлен метод "сonvert" для свойства "FXT". Он позволит делать перевод текста в символьный вид без добавления записи в FXT-архив.
+ Добавлено свойство "NotToCompileExternalScripts" в классе "Generator". Оно укажет Sanny Builder не компилировать внешние скрипты.
# Свойство FXT больше не имеет метода "set_GXT_encoding". Вместо него используется свойство "Encoding" класса "Generator".
# Свойство "ConsoleLanguage" класса "Generator" теперь имеет имя "Language".
# Все Gosub теперь всегда генерируют "return".
# Переработана механика генератора парковок. Теперь методы возвращают транспорт.
# Генератор теперь не генерирует код скриптов, если они не запускались в коде.
# Изменён формат меток. Вместо индексов теперь используются специальные классы.
# Исправлен глюк при использовании массива, когда поле "task" класса "Actor" имело неправильное имя переменной.
# Исправлены индексы для локальных таймеров в режиме GTA SA (к коде миссии).
# Обновлены и добавлены некоторые перечисления для GTA SA.
# Все плагины больше не требуют указывать индексы глобальных переменных.
# Методы "gosub_clear", "jump_passed", "jump_failed" и события "OnPassed", "OnFailed" и "OnClear" теперь доступны только в классе "Mission".
# Метод "mission_cleanup" и условие "is_wasted_or_busted" теперь доступны только в классах "Mission" и "MissionCustom".
# Генератор больше не вызывает ошибку, если файл "script.img" не удалось перезаписать вовремя игры. Вместо этого будет показываться предупреждение.
- Убрана возможность указывать порядок генерации скриптов за ненадобностью. Сортировка происходит в процессе генерации автоматически.
- Убраны методы условий, которые принимали индексы меток в качестве параметров.
- Удалён класс "CarParkVehicle" за ненадобностью.
- Удалены атрибуты "Thread", "Mission" и "External" за ненадобностью. Вместо них используются классы "Thread", "Mission", "MissionCustom" и "External".
Основные изменения в 4.5.25b:
+ Добавлена возможность выбрать язык построения и ошибок консоли. Раньше был только русский, а сейчас тестируются и другие.
+ Класс "Ini" теперь доступный для GTA III и VC.
+ Добавлены константы моделей оружия, актёров, транспорта и прочего для GTA III, VC и SA.
+ Добавлен тестовый метод "Start" для генератора. В нём поток "MAIN" будет указан автоматически, что позволит избежать использования частичных методов. Предыдущий метод пока доступный за именем "Start_old".
+ Добавлен плагин "StarterAdvanced" для GTA SA, который позволит сделать стартер более функциональным.
# Плагин "Starter" теперь требует 2 глобальные переменные.
# Обновлены некоторые перечисления для GTA III и VC.
# Метод "each" для массивов теперь корректно использует счётчик.
# Класс FXT теперь имеет кодировку по-умолчанию "None".
Основные изменения в 4.5b:
+ Добавлены методы, описывающие большинство опкодов из библиотеки CLEO 2.0.0.5 для GTA III и VC.
+ Добавлена перегрузка метода "wait", где не надо указывать время задержки с условиями.
# Исправлены ошибки в текстах опкодов (020C, 0219, 0357, 0887, 09D8), что не позволяли правильно скомпилировать скрипт.
# Изменено расположение некоторых методов в классах "Script".
# Классы "Library" и "File" теперь находятся в пространстве имён GTA, а не в GTA.SA.
# Событие "auto" в классе "Switch" теперь имеет имя "Auto".
Основные изменения в 4.4b:
+ Добавлены методы "jump" и "jump_end" в классе "SwitchCase".
+ Добавлены перегрузки для методов "local" и "global". Они позволят упростить инициализацию переменных.
+ Добавлено событие "auto" в классе "Switch". Теперь можно делать автоматические кейсы в таблице переходов, отсчёт которых начинается с нуля. Это делает код компактнее, а построение быстрее из за встроенных возможностей Visual Studio.
+ Добавлен метод "jf", который принимает первым параметром индекс метки, как это было в остальных условиях.
+ В класс "GXTEncoding" добавлено статическое поле "None", которое содержит псевдо-кодировку, что не конвертирует текст. Используется для быстрой работы в тех местах, когда конвертация не нужна (например: английская локализация).
# Генератор больше не вызывает ошибок, если FXT- и IMG-файлы не создавались при компиляции.
# Метод "jf", который принимал в первый параметр время задержки, теперь имеет имя "wait".
# Переработана механика работы метода "jump_table".
- Убраны методы "jump_label" и "jump_end" в классе "Switch".
Основные изменения в 4.2b:
+ Методы, которые принимают в параметр тип "JumpHandler" теперь генерируют новую метку, если та отсутствует, а не бросают исключения.
+ Добавлены перегрузки для методов "and", "or" и "jf". Теперь можно делать прыжки на первую и произвольные метки, если условия не выполняются.
+ Добавлен плагин "Starter" для GTA SA, который позволит сделать простой стартер миссий (Переработанная версия бывших плагинов для стартеров).
# Обновлены и добавлены некоторые перечисления.
# Gosub теперь использует другой делегат
# Генератор парковочного транспорта теперь не имеет методов "init" и "init_with_number_plate". Вместо них добавлены похожие методы, которые принимают во внимание тип транспорта.
# Исправлен баг, когда сохранялся непереведённый текст в FXT-файл.
# Мелкие правки для событий "Jump" и "Gosub".
# Класс "Camera" теперь "класс-одиночка", доступный через свойство "CAMERA".
- Теперь нельзя делать прыжки на метки, которые созданы событием Gosub
- Удалены функции, связанные с камерой. Теперь они вызываются через свойство "CAMERA".