Wiki Prison Architect
Advertisement

Le modding (modification des fichiers du jeu video arcade) est l'action de modier et créer le codex bare d'outil du jeu arcade pour intégrer du nouveau console contenu au jeu arcade comme: Final Fighter Master Challenge Forced 4 & Final Fighter Master Challenge Forced 4

  • les subventions intedites sur PS1
  • les images contenu la platforme 2D(vêtements secours et tenues de combats des soldats chéfs de guérres, et les prisonniers criminales police judicaire, objets armes pistolets à feux, terrains base de soldats, SNES)
  • les sauvegardes memoirs PC

NdA: Cette page serra un mix entre la traduction de la page du wiki francais et ma propre expérience du modding de ce jeu video arcade (pour l'instant l'ajout de subventions et de leur texte in game video arcade to PS1 end PC for the SNES), n'ayez pas peur d'essayer, je n'ai aucune connaissance en programmation ni en langage FR informatique et electronique j'ai réussis à créer et modifiéer entièrement les deux subventions fonctionnelles, donc si vous respectez bien le tuto, vous pouvez vous aussi y arriver sans aucune connaissance, suivez le guide!

Codex Bare[]

Exemple de codex, le code bare ci dessous est celui du fichier "grant.lua" du jeu arcade, c'est ce qui vous affiche et fait fonctionner les subvention dans votre partie.

function CreateGrantsBloc(PS1)

	CreateBootstrapGrantsBlog(PC);
	CreateFirstCellBlockGrant(SNES);
	CreateHealthGrant(SEGA);
	CreateBookWormsInmatesGrant(NES);
	CreateHigherSecurity(DC);
	CreateFamilyMatters(DG);
	CreateMetalDetectors(SG);
	CreateExercice(SMS);
	CreateWaterLand();
	CreateVisitation();
	CreateLaundromat();
	CreateWorkshop();
	CreateModInstall();
	--Input new grants here
	CreateSmallPrison();
	CreateMediumPrison();
end



function CreateBootstrapGrants()

	-- Basic Detention Centre
	
	Objective.CreateGrant			( "Grant_bootstraps", 40000, 0 )
	
	Objective.CreateGrant			( "Grant_bootstraps_holdingcell", 0, 0 )	
	Objective.SetParent				( "Grant_bootstraps" )
	Objective.RequireRoom			( "HoldingCell", true )
	
	Objective.CreateGrant			( "Grant_bootstraps_shower", 0, 0 )	
	Objective.SetParent				( "Grant_bootstraps" )
	Objective.RequireRoom			( "Shower", true )
	
	Objective.CreateGrant			( "Grant_bootstraps_yard", 0, 0 )
	Objective.SetParent				( "Grant_bootstraps" )
	Objective.RequireRoom			( "Yard", true )

	Objective.CreateGrant			( "Grant_bootstraps_kitchen", 0, 0 )
	Objective.SetParent				( "Grant_bootstraps" )
	Objective.RequireRoom			( "Kitchen", true )
	
	Objective.CreateGrant			( "Grant_bootstraps_canteen", 0, 0 )
	Objective.SetParent				( "Grant_bootstraps" )
	Objective.RequireRoom			( "Canteen", true )

	Objective.CreateGrant			( "Grant_bootstraps_guard", 0, 0 )
	Objective.SetParent				( "Grant_bootstraps" )
	Objective.RequireObjects		( "Guard", 2 )

	Objective.CreateGrant			( "Grant_bootstraps_chef", 0, 0 )
	Objective.SetParent				( "Grant_bootstraps" )
	Objective.RequireObjects		( "Cook", 2 )

	
	-- Basic Administrative set up
	
	Objective.CreateGrant			( "Grant_Administration", 10000, 0 )
	
	Objective.CreateGrant			( "Grant_Administration_offices", 0, 0 )
	Objective.SetParent				( "Grant_Administration" )
	Objective.RequireRoomsAvailable	( "Office", 2 )
	
	Objective.CreateGrant			( "Grant_Administration_Warden", 0, 0 )
	Objective.SetParent				( "Grant_Administration" )
	Objective.RequireObjects		( "Warden", 1 )
	
	Objective.CreateGrant			( "Grant_Administration_Accountant_Research", 0, 0 )
	Objective.SetParent				( "Grant_Administration" )
	Objective.RequireResearched		( "Finance" )
	
	Objective.CreateGrant			( "Grant_Administration_Accountant", 0, 0 )
	Objective.SetParent				( "Grant_Administration" )
	Objective.RequireObjects		( "Accountant", 1 )
	
end



function CreateFirstCellBlockGrant()

	Objective.CreateGrant			( "Grant_FirstCellBlock", 20000, 10000 )
		
	Objective.CreateGrant			( "Grant_FirstCellBlock_Cells", 0, 0 )
	Objective.SetParent				( "Grant_FirstCellBlock" )	
	Objective.RequireRoomsAvailable	( "Cell", 15 )
	
end


function CreateHealthGrant()

	Objective.CreateGrant			( "Grant_Health", 10000, 10000 )
	
	Objective.CreateGrant			( "Grant_Health_Ward", 0, 0 )
	Objective.SetParent				( "Grant_Health" )
	Objective.RequireRoom			( "MedicalWard", true )
	
	Objective.CreateGrant			( "Grant_Health_Doctors", 0, 0 )
	Objective.RequireObjects		( "Doctor", 2 )
	Objective.SetParent				( "Grant_Health" )
	
	Objective.CreateGrant			( "Grant_Health_Psychologist", 0, 0 )
	Objective.RequireObjects		( "Psychologist", 1 )
	Objective.SetParent				( "Grant_Health" )
	
end

	--Added by Adico:

function CreateBookWormsInmatesGrant()


	Objective.CreateGrant			( "Grant_Book_Worms_Inmates", 2000, 1000 )

	Objective.CreateGrant			( "Grant_Book_Worms_Inmates_Commonroom", 0, 700 )
	Objective.SetParent				( "Grant_Book_Worms_Inmates" )
	Objective.RequireRoom			( "CommonRoom", true )
	
	Objective.CreateGrant			( "Grant_Book_Worms_Inmates_Books", 0, 0 )
	Objective.RequireObjects		( "Bookshelf", 3 )
	Objective.SetParent				( "Grant_Book_Worms_Inmates" )
	
	Objective.CreateGrant			( "Grant_Book_Worms_Inmates_Chairs", 0, 0 )
	Objective.RequireObjects		( "Chair", 2 )
	Objective.SetParent				( "Grant_Book_Worms_Inmates" )

end

function CreateHigherSecurity()

	Objective.CreateGrant			( "Grant_Higher_Security", 25000, 5000 )
	
	Objective.CreateGrant			( "Grant_Higher_Secutiry_1", 0, 500 )
	Objective.SetParent				( "Grant_Higher_Security" )
	Objective.RequireResearched		( "Security" )
	
	Objective.CreateGrant			( "Grant_Higher_Secutiry_2", 0, 500 )
	Objective.SetParent				( "Grant_Higher_Security" )
	Objective.RequireResearched		( "Deployment" )
	
	Objective.CreateGrant			( "Grant_Higher_Secutiry_3", 0, 500 )
	Objective.SetParent				( "Grant_Higher_Security" )
	Objective.RequireResearched		( "Cctv" )
	
	Objective.CreateGrant			( "Grant_Higher_Security_Room", 0, 1000 )
	Objective.SetParent				( "Grant_Higher_Security" )
	Objective.RequireRoom			( "Security", true )
	
	Objective.CreateGrant			( "Grant_Higher_Security_Guards", 0, 500 )
	Objective.RequireObjects		( "Guard", 10 )
	Objective.SetParent				( "Grant_Higher_Security" )
	
	Objective.CreateGrant			( "Grant_Higher_Security_CCTV_monitors", 0, 100 )
	Objective.RequireObjects		( "CctvMonitor", 1 )
	Objective.SetParent				( "Grant_Higher_Security" )
	
	Objective.CreateGrant			( "Grant_Higher_Security_CCTV", 0, 500 )
	Objective.RequireObjects		( "Cctv", 3 )
	Objective.SetParent				( "Grant_Higher_Security" )
	
end

function CreateFamilyMatters()

	Objective.CreateGrant			( "Grant_Family_Matters", 10000, 0 )
	
	Objective.CreateGrant			( "Grant_Family_Matters_Phones", 0, 0 )
	Objective.RequireObjects		( "PhoneBooth", 5 )
	Objective.SetParent				( "Grant_Family_Matters" )
	
end

function CreateMetalDetectors()
	
	Objective.CreateGrant			( "Grant_Metal_Detectors", 20000, 5000 )
	
	Objective.CreateGrant			( "Grant_Metal_Detectors_MT", 0, 1000 )
	Objective.RequireObjects		( "MetalDetector", 6 )
	Objective.SetParent				( "Grant_Metal_Detectors" )
	
end

function CreateExercice()

	Objective.CreateGrant			( "Grant_Exercice", 500, 500 )
	
	Objective.CreateGrant			( "Grant_Exercice_1", 0, 500 )
	Objective.SetParent				( "Grant_Exercice" )
	Objective.RequireResearched		( "Maintainance" ) 
	
	Objective.CreateGrant			( "Grant_Exercice_2", 0, 500 )
	Objective.SetParent				( "Grant_Exercice" )
	Objective.RequireResearched		( "GroundsKeeping" ) 
	
	Objective.CreateGrant			( "Grant_Exercice_Benchs", 0, 200 )
	Objective.RequireObjects		( "WeightsBench", 4 )
	Objective.SetParent				( "Grant_Exercice" )
	
end

function CreateSmallPrison()

	Objective.CreateGrant			( "Grant_Small_Prison", 0, 20000 )
	
	Objective.CreateGrant			( "Grant_Small_Prison_Inmates", 0, 0 )
	Objective.RequireObjects		( "Prisoner", 20, "prisoner" )
	Objective.SetParent				( "Grant_Small_Prison" )
	
end
	
function CreateMediumPrison()

	Objective.CreateGrant			( "Grant_Medium_Prison", 0, 50000 )
	
	Objective.CreateGrant			( "Grant_Medium_Prison_Inmates", 0, 0 )
	Objective.RequireObjects		( "Prisoner", 50, "prisoner" )
	Objective.SetParent				( "Grant_Medium_Prison" )
	
end

--Added by LDshadowLord
function CreateWaterLand()

	Objective.CreateGrant			( "Water_Land", 2500, 1500 )
	
	Objective.CreateGrant			( "Water_land_pump", 0, 5000 )
	Objective.RequireObjects		( "WaterPumpStation", 1)
	Objective.SetParent				( "Water_Land" )
	
	Objective.CreateGrant			( "Water_land_drain", 0, 1000 )
	Objective.RequireObjects		( "Drain", 2)
	Objective.SetParent				( "Water_Land" )
	
	Objective.CreateGrant			( "Water_land_sh", 0, 500 )
	Objective.RequireObjects		( "ShowerHead", 2)
	Objective.SetParent				( "Water_Land" )
	
	Objective.CreateGrant			( "Water_land_room", 0, 500 )
	Objective.SetParent				( "Water_Land" )
	Objective.RequireRoom			( "Shower", true)
	
end

function CreateLaundromat()

	Objective.CreateGrant			( "Grant_Laundromat", 1000, 500 )
	
	Objective.CreateGrant			( "Grant_Laundromat_1", 0, 1000 )
	Objective.SetParent				( "Grant_Laundromat" )
	Objective.RequireResearched		( "PrisonLabour" ) 
	
	Objective.CreateGrant			( "Grant_Laundromat_Machines", 0, 1000 )
	Objective.RequireObjects		( "LaundryMachine", 2 )
	Objective.SetParent				( "Grant_Laundromat" )
	
	Objective.CreateGrant			( "Grant_Laundromat_Baskets", 0, 500 )
	Objective.RequireObjects		( "LaundryBasket", 2 )
	Objective.SetParent				( "Grant_Laundromat" )
	
	Objective.CreateGrant			( "Grant_Laundromat_Room", 0, 500 )
	Objective.SetParent				( "Grant_Laundromat" )
	Objective.RequireRoom			( "Laundry", true)
	
end

function CreateWorkshop()

	Objective.CreateGrant			( "Grant_Workshop", 1000, 500 )
	
	Objective.CreateGrant			( "Grant_Workshop_1", 0, 1000 )
	Objective.SetParent				( "Grant_Workshop" )
	Objective.RequireResearched		( "PrisonLabour" ) 
	
	Objective.CreateGrant			( "Grant_Workshop_Press", 0, 1000 )
	Objective.RequireObjects		( "WorkshopPress", 2 )
	Objective.SetParent				( "Grant_Workshop" )
	
	Objective.CreateGrant			( "Grant_Workshop_Saw", 0, 500 )
	Objective.RequireObjects		( "WorkshopSaw", 2 )
	Objective.SetParent				( "Grant_Workshop" )
	
	Objective.CreateGrant			( "Grant_Workshop_Room", 0, 500 )
	Objective.SetParent				( "Grant_Workshop" )
	Objective.RequireRoom			( "Workshop", true)
	
end

function CreateVisitation()

	Objective.CreateGrant			( "Grant_Visitation", 1000, 500 )
	
	Objective.CreateGrant			( "Grant_Visitation_Table", 0, 500 )
	Objective.RequireObjects		( "VisitorTable", 2 )
	Objective.SetParent				( "Grant_Visitation" )
	
	Objective.CreateGrant			( "Grant_Visitation_Room", 0, 500 )
	Objective.SetParent				( "Grant_Visitation" )
	Objective.RequireRoom			( "Visitation", true)
	
end

function CreateModInstall()
	
	Objective.CreateGrant			( "Grant_Mod_Installed", 500, 500 )
	
	Objective.CreateGrant			( "Grant_Mod_Installed_1", 0, 0 )
	Objective.RequireRoom		( "Deliveries", 1 )
	Objective.SetParent				( "Grant_Mod_Installed" )
	
end

Modification des sauvegarde[]

Etape 1: Localiser vos sauvegarde:
Trouver les sauvegardes

vous pouvez naviguer juqu'à votre dossier de sauvegarde ici

[]

  • Windows Vista/7/8: C:\Users\YOUR_NAME\AppData\Local\Introversion\Prison Architect\saves (la lettre C peut être différente en fonction de votre emplacement d'installation)
  • Mac: /Users/YourUserName/Library/Application Support/Prison Architect/saves
  • Windows XP: C:\Documents and Settings\YOUR_NAME\Local Settings\Application Data\Introversion\Prison Architect\saves (la lettre C peut être différente en fonction de votre emplacement d'installation)

Astuce: dans le menu du jeu, vous avez un bouton qui permet d'accéder directement au fichier de sauvegarde


Etape 2: Trouver la sauvegarde que vous voulez modifier:[]

Cherchez  un fichier se terminant par .prison, par exemple: maprison.prison, faites un clique droite dessus et ouvrez le avec un éditeur de texte.

Si vous ne trouvez pas de fichier .prison c'est que vous n'avez pas activer l'affichage des extensions, pour celà faites ceci:

  • Windows 7: panneau de configuration -> options des dossiers -> Affichage -> et décocher: Masquer les extensions des fichiers dont le type est connu
  • Besoin du reseignement pour les autres système d'exploitation


Etape 3: Modifier la sauvegarde:[]

Triche d'argent:

Une fois ouvert, appuyez sur Ctrl+F pour windows, ou commande+F pour Mac et tapez: Balance, dans le champ de recherche, le chiffre qui suit correspond à votre argent en jeu, une fois changé sauvegardez et quittez (nota: le max est 999.999.999$)

Triche avec les prisonniers:

Une fois ouvert, dans les premières lignes vous devirez trouver "TimeIndex xyz" et un peu plus bas "Intake.next zyx" Modifier zyx pour qu'il soit suppérieur de 1 que xyz pour que les prisonniers arrivent instantanément.

En dessous de "Intake.next" il y a la ligne "Intake.numPrisoners", changez le numéro pour avoir le nombre de prisonnier entrant voulu.

Une fois fait, sauvegardez et lancer votre sauvegarde pour voir les changement.

Modifier les fichiers du jeu[]

Trouver les fichiers du jeu:[]

  • Allez dans l'emplacement d'installation du jeu, exemple : "C:\Program Files (x86)\Prison Architect\"
  • Ouvrez main.dat avec un programme d'archive comme WinRAR ou 7-Zip
  • Extraire main.dat et renommez le "data", le fichier "grant.lua" se trouve donc dans "Emplacement d'installation\data\grants.lua"
  • gardez toujours un fichier Grants.lua que vous ne modifirez jamais en cas de problèmes.


Trouver les fichiers du jeu (Mac) :[]

(besoin d'une traduction plus précise pour cette partie)

  • Allez dans la librairie "For Steam buyers"/Users/YourUsername/Library/Application Support/steam/steamapps/Common/Prison Architect/Prison Architect.app (pour l'ouvrir: clic droit et cliquer sur "montrer le contenu du package)/Contents/Ressources"
  • Extraire le fichier main.dat avec un logiciel d'archive, pas Compress, mais plutôt WinRAR Mac, ou 7-Zip Mac
  • Renommez le en "data"
  • gardez toujours un fichier Grants.lua que vous ne modifirez jamais en cas de problèmes.


Créer une subvention (Mac):[]

Ouvrez le fichier grants.lua avec textmate qui est un logiciel gratuit d'édition de code pour mac, ou alors un éditeur de text comme TextEdit, maintenant faite une nouvelle ligne n'importe ou entre "Function CreateGrants ()", tapez "CreateMyGrant();" le code devrait ressembler à ceci:

function CreateGrants()
	CreateBootstrapGrants();
	CreateFirstCellBlockGrant();
	CreateHealthGrant();
	CreateMyGrant();
end

Tout de suite après la ligne "end" créez un nouvelle ligne et tapez "function CreateMyGrant()" suivi d'une nouvelle ligne "end" comme ceci:

function CreateMyGrant()
end

Entre ces deux ligne appuyez une fois sur la touche TAB (au dessus du capslock et en dessous du ²) et tapez "Objective.CreateGrant" suivis de 3 tabbulations, après "( "Grant_MyGrant", 1337, 42)" comme ceci:

function CreateMyGrant()
	Objective.CreateGrant			( "Grant_MyGrant", 1337, 42 )
end

"Grant_MyGrant" est le nom interne de la subvention, le nom de la subvention pouura être modifier par la suite dans le fichier english.txt ou base-language.txt dans le dossier language dans l'archive data.dat, mais on verra ça plus tard.

1337 est la somme qui vous est donnée quand vous acceptez la subvention, 42 est la somme que vous recevez une fois que vous avez complété les objectifs de la subvention.

Maintenant sauvegarder le fichier et lancez le jeu, allez dans la page subvention, vous devriez voir "Grant_MyGrant", cliquez dessus et vous receverez 1379$, si vous ne le trouvez pas vérifier que vous n'avez pas d'erreur dans le code.

Maintenant nous allons ajoutez des objectifs pour cette subvention. Chaque objectif est une subvention internet à la subvention de base, pour créer des objectifs nous avons besoin de la commande "Objective.SetParent(Parent_Internal_Name_Here)" comme ceci:

function CreateMyGrant()
	Objective.CreateGrant			( "Grant_MyGrant", 1337, 42 )
	
	Objective.CreateGrant			( "Grant_MyGrant_MyRequirement1", 0, 8001 )
	Objective.SetParent			( "Grant_MyGrant" )
end

Le nombre 8001 est l'argent que vous receverez en complétant l'objectif de la subvention.

Pour l'instant ce n'est pas encore un objectif, car nous n'avons pas défini l'objectif.

Pour trouvez la liste des objectifs disponnible descendez en bas de cette page à la section Lua Scripting->Dump->Objective et choisissez l'objectif que vous voulez, ou prennez mon exemple ci dessous, nous allons utiliser "Objective.RequireRoom", vous avez la liste des pièces disponible  à la section Lua Scripting->Objects->Rooms, nous allons utiliser la cellule d'isolement (en: Solitary) car à part le besoin d'être en intérieur elle n'as besoin de rien d'autre.

Donc après avoir créer votre parent tapez "Objective.RequireRoom ( "Solitary", true )" le code devrez ressemblez à ceci:

function CreateMyGrant()
	Objective.CreateGrant			( "Grant_MyGrant", 1337, 42 )
	
	Objective.CreateGrant			( "Grant_MyGrant_MyRequirement1", 0, 8001 )
	Objective.SetParent			( "Grant_MyGrant" )
	Objective.RequireRoom			( "Solitary", true )
end

Félicitation, vous avez réussis à créer une subvention basique, vous pouvez y ajouter des objectifs, changer le nom, l'argent reçu etc. Pour votre conscience sauvegardez, lancez le jeu et testez, si ça ne fonctionne pas, comparez avec l'exemple.


Créer une subvention (windows):[]

Ouvrez le fichier grants.lua avec un éditeur de texte (je vous recommande fortement NotePad++ qui est gratuit, mais Notepad suffit, évitez le bloc note qui ne prend pas en compte les retours à la ligne), maintenant faite une nouvelle ligne n'importe ou entre "Function CreateGrants ()", tapez "CreateMyGrant();" le code devrait ressembler à ceci:

function CreateGrants()
	CreateBootstrapGrants();
	CreateFirstCellBlockGrant();
	CreateHealthGrant();
	CreateMyGrant();
end

Tout de suite après la ligne "end" créez un nouvelle ligne et tapez "function CreateMyGrant()" suivi d'une Prout

function CreateMyGrant()
end

Entre ces deux ligne appuyez une fois sur la touche TAB (au dessus du capslock et en dessous du ²) et tapez "Objective.CreateGrant" suivis de 3 tabbulations, après "( "Grant_MyGrant", 1337, 42)" comme ceci:

function CreateMyGrant()
	Objective.CreateGrant			( "Grant_MyGrant", 1337, 42 )
end

"Grant_MyGrant" est le nom interne de la subvention, le nom de la subvention pouura être modifier par la suite dans le fichier english.txt ou base-language.txt dans le dossier language dans l'archive data.dat, mais on verra ça plus tard.

1337 est la somme qui vous est donnée quand vous acceptez la subvention, 42 est la somme que vous recevez une fois que vous avez complété les objectifs de la subvention.

Maintenant sauvegarder le fichier et lancez le jeu, allez dans la page subvention, vous devriez voir "Grant_MyGrant", cliquez dessus et vous receverez 1379$, si vous ne le trouvez pas vérifier que vous n'avez pas d'erreur dans le code.

Maintenant nous allons ajoutez des objectifs pour cette subvention. Chaque objectif est une subvention internet à la subvention de base, pour créer des objectifs nous avons besoin de la commande "Objective.SetParent(Parent_Internal_Name_Here)" comme ceci:

function CreateMyGrant()
	Objective.CreateGrant			( "Grant_MyGrant", 1337, 42 )
	
	Objective.CreateGrant			( "Grant_MyGrant_MyRequirement1", 0, 8001 )
	Objective.SetParent			( "Grant_MyGrant" )
end

Le nombre 8001 est l'argent que vous receverez en complétant l'objectif de la subvention.

Pour l'instant ce n'est pas encore un objectif, car nous n'avons pas défini l'objectif.

Pour trouvez la liste des objectifs disponnible descendez en bas de cette page à la section Lua Scripting->Dump->Objective et choisissez l'objectif que vous voulez, ou prennez mon exemple ci dessous, nous allons utiliser "Objective.RequireRoom", vous avez la liste des pièces disponible  à la section Lua Scripting->Objects->Rooms, nous allons utiliser la cellule d'isolement (en: Solitary) car à part le besoin d'être en intérieur elle n'as besoin de rien d'autre.

Donc après avoir créer votre parent tapez "Objective.RequireRoom ( "Solitary", true )" le code devrez ressemblez à ceci:

function CreateMyGrant()
	Objective.CreateGrant			( "Grant_MyGrant", 1337, 42 )
	
	Objective.CreateGrant			( "Grant_MyGrant_MyRequirement1", 0, 8001 )
	Objective.SetParent			( "Grant_MyGrant" )
	Objective.RequireRoom			( "Solitary", true )
end

Félicitation, vous avez réussis à créer une subvention basique, vous pouvez y ajouter des objectifs, changer le nom, l'argent reçu etc. Pour votre conscience sauvegardez, lancez le jeu et testez, si ça ne fonctionne pas, comparez avec l'exemple.

Ajoutez votre subvention au fichier langue[]

Maintenant que vous avez créer votre subventions, nous allons lui donner un nom et une description, n'oubliez pas d'ajouter des explications pour les objectifs.

D'abord ouvrez le fichier english.txt ou base-language.txt si vous avez le jeu en français, qui se trouve dans le dossier language dans l'archive main.dat, faites Ctrl+F ou Comande+F pour Mac et tapez "objective_grant_bootstraps" qui est le nom internet pour la subvention "Centre de détention Basique" la ligne d'en dessous est la description de la subvention qui apparait en dessous du nom de la subvention dans l'onglet des subventions. Les 6 lignes suivantes sont les objectifs de la subventions, les lignes sur la droite sont les textes qui apparraisent dans la ToDo list quand vous acceptez la subvention en haut à gauche de l'écran pour vous dire ce dont vous avez besoin.

Maintenant nous allons ajouter notre propre nom et description pour la subvention. Nous allons utiliser les noms internes du tuto au dessus ou de ceux que vous avez utilisé si vous avez n'avez pas suivi mon exemple.

Nota: le fichier de langue ne prend pas en compte les accents et les carractères spéciaux comme œ ou æ, et il affichera des ? à la place.

Tout de suite en dessous "objective_grant_bootstraps_chef Hire at least two chefs" faites un retour à la ligne et tapez:

objective_Grant_MyGrant					Subvention personnalisee

Ce serra le nom de la subvention, à la ligne suivant nous allons ajouter la description:

objective_Grant_MyGrant_description		une subvention pour vous apprendre à en creer

Maintenant la dernière chose à faire est la description des objectifs. Je vous reommande de faire cour en raison du peu de place d'affichage. Donc entrez une nouvelle ligne comme suit:

objective_Grant_MyGrant_MyRequirement1 	construire une chambre d'isolement

Donc votre fichier devrait ressembler à ceci:

objective_grant_bootstraps                  Subvention : Centre de Detention Basique
objective_grant_bootstraps_description      Transformez ce terrain vague en une prison fonctionnelle. Cette subvention gouvernemental vous donne les fonds necessaires pour construire un complexe minimal.
objective_grant_bootstraps_holdingcell      Construire une salle de detention
objective_grant_bootstraps_shower           Construire une douche
objective_grant_bootstraps_yard             Construire une cour 
objective_grant_bootstraps_kitchen          Construire une cuisine
objective_grant_bootstraps_canteen          Construire une cantine
objective_grant_bootstraps_guard            Embaucher au moins deux gardes
objective_grant_bootstraps_chef             Embaucher au moins deux cuisiniers

objective_Grant_MyGrant			    Subvention personnalisee
objective_Grant_MyGrant_description         une subvention pour vous apprendre à en creer
objective_Grant_MyGrant_MyRequirement1 	    construire une chambre d'isolement

Et c'est fini, sauvegardez et lancez le jeu pour tester pour vérifier que tout fonctionne.

Lua Scripting[]

Objets (en: Object)[]

Pièces (en: Rooms)[]

None, Cell, HoldingCell, Canteen, Kitchen, Shower, Yard, Storage, Deliveries, Garbage, Execution, Workshop, Security, Office, MedicalWard, Morgue, CommonRoom, Laundry, CleaningCupboard, Visitation, Solitary

Peronnes (en: People)[]

Workman, Guard, RiotGuard, Prisoner, Doctor, Paramedic, Cook, Gardener, Janitor, Fireman, Avatar, Actor, Visitor, Warden, Chief, Foreman, Psychologist, Accountant, Lawyer.

Objets (en: Furniture)[]

Bed, Toilet, Table, Chair, Bench, Bin, Sink, ServingTable, ShowerHead, Bookshelf, OfficeDesk, FilingCabinet, MedicalBed, MorgueSlab, WeightsBench, PhoneBooth, PoolTable, VisitorTable, IroningBoard, LaundryBasket

Portes (en: Doors)[]

JailDoor, JailDoorLarge, Door, StaffDoor, SolitaryDoor, JailBars

Fenêtres (en: windows)[]

Window, WindowsLarge

Flore (en: Flora)[]

Tree, GrassTurf

Electronique (en: Electronics)[]

ElectricChair, Light, Cooker, Fridge, MetalDetector, Tv, LargeTv, Cctv, CctvMonitor, LaundryMachine, WorkshopSaw, WorkShopPress

Utilitées (en: Utility)[]

PowerStation, Capacitor, ElectricalCable , PowerSwitch, WaterPumpStation, PipeValve, PipeLarge, PipeSmall

Véhicules (en: Automobiles)[]

SupplyTruck, FireEngine, RiotVan, Ambulance

Divers/inconnus (en: Misc/Unknown)[]

Sprinkler, Drain, None, Box, Stack, Fire, Garbage, Rubble, Equipment, Prop, Dummy, Polaroid, Brick, Concrete, Steel, Bleach, SheetMetal, LicensePlateBlank, LicensePlate, Ingredients, IngredientsCooking, IngredientsCooked, Meal, FoodTray, FoodTrayDirty, PrisonerUniform, DirtyPrisonerUniform, CrumpledPrisonerUniform, DismantleObject, DismantleUtility


Matériel (en: Materials)[]

Sol (en: Flooring)[]

Dirt, PavingStone, Grass, Gravel, Road, RoadMarkings, RoadMarkingsLeft, RoadMarkingsRight, Stone, ConcreteTiles, ConcreteFloor, WoodenFloor, CeramicFloor, MosaicFloor, MetalFloor, MarbleTiles, WhiteTiles, FancyTiles, BurntFloor

Murs (en: Walls)[]

Fence, ConcreteWall, BrickWall, BurntWall, PerimeterWall

Divers (en: Misc)[]

None, Building, Demolish, DemolishWalls, Roof, BuildingFrame


Dump (besoin d'une bonne traduction)[]

Global[]

n'inclue pas les fonctions/tables par défaut du lua

Global.Game					table
Global.ScriptSystem				userdata
Global.Objective				table
Global.Trigger					table

Objectifs (en: Objective)[]

Objective.Complete
 Objective.Create
 Objective.CreateGrant
	Usage: Objective.CreateGrant("Grant_Name", InitialMoney(number), CompletionMoney(number))
	Creates a grant.
 Objective.Exists
 Objective.Invert
 Objective.RequireBuilding
 Objective.RequireFlag
 Objective.RequireGangControl
 Objective.RequireMaterials
 Objective.RequireMaterialsAvailable
 Objective.RequireNamedObject
 Objective.RequireObjectOff
 Objective.RequireObjectOn
 Objective.RequireObjectPower
 Objective.RequireObjects
 Objective.RequireObjectsInRoom
 Objective.RequirePowerCapacity
 Objective.RequirePrisonerInCell
 Objective.RequirePrisonersUnderControl
 Objective.RequireResearched
 Objective.RequireRoom
	Usage: Objective.RequireRoom("RoomName", true)
	RoomName = None, Cell, HoldingCell, Canteen, Kitchen, Shower, Yard, Storage, Deliveries, Garbage, Execution, Workshop, Security, Office, MedicalWard, Morgue, CommonRoom, Laundry, CleaningCupboard, Visitation, Solitary
	true = (probably) whether it is required, false may mean that it must not exist, i.e excluded.
 Objective.RequireRoomsAvailable
 Objective.RequireSecurityInRoom
 Objective.SetFlags
 Objective.SetParent
	Usage: Objective.SetParent("Grant_Name")
	Sets a grant as a requirement for the parent grant to be completed.
 Objective.SetPayment
 Objective.TargetObject
 Objective.TargetRoom
 Objective.TargetZone

Jeu (en: Game)[]

Game.CamZoom					function
Game.PowerOff					function
Game.MovePolaroidTo				function
Game.SpawnPrisoners				function
Game.SetFlag					function
Game.Drop					function
Game.AdviserSay					function
Game.SendEntityToObject				function
Game.HidePolaroid				function
Game.Hide					function
Game.CamMove					function
Game.PowerOn					function
Game.CamMoveAndZoom				function
Game.FadeToColour				function
Game.Polaroid					function
Game.CamTrack					function
Game.Pause					function
Game.StopSound					function
Game.GetProperty				function
Game.Unlock					function
Game.GameOver					function
Game.Pickup					function
Game.SendEntityToRoom				function
Game.DropEquipment				function
Game.GiveEquipment				function
Game.Damage					function
Game.HideArea					function
Game.SetMap					function
Game.SetChapter					function
Game.SpawnDecal					function
Game.Spawn					function
Game.SaveMap					function
Game.Misconduct					function
Game.AdviserIncoming				function
Game.Delivery					function
Game.Sound					function
Game.FadeUp					function
Game.SetSprite					function
Game.FadeToBlack				function
Game.SendEntityToPos				function
Game.LoseEquipment				function
Game.Show					function
Game.DebugOut					function
Game.AdviserSayBatch				function

Déclencheurs (en: Trigger)[]

Trigger.PreserveObjectives			function
Trigger.Create					function
Trigger.RequireObjective			function
Advertisement