Prostitution bei Altis Life aktivieren

Aus Nitradopedia
Wechseln zu: Navigation, Suche
Arma3Altis header.png

Miete dir jetzt deinen eigenen prepaid ArmA 3 Altis Life Server auf nitrado.net

Dieser Artikel gilt für die Version: ArmA 3: Altis Life 3.1.2 und neuere

In diesem Artikel wird erläutert, wie man Prostitution mit möglichen Geschlechtskrankheiten auf einem Arma3 Altis Life Server einfügt. Mit diesem Script kann man "Nutten" auf der Map platzieren und mit diesen "Spaß" haben und manchmal auch Krankheiten bekommen, die man im Krankenhaus behandeln muss.

Diese Idee/das Script stammt von Zaickz aus dem Altis Life RPG Forum. Ich habe das Tutorial übersetzt und leicht modifiziert. Den ursprünglichen Thread findet ihr hier.


  • Wichtiger Hinweis: Eine Sicherung / Bitte erstelle ein Backup aller Dateien du die verändern wirst
  • Gameserver stoppen


1. In diesem Tutorial werden die folgenden Dateien verändert oder erstellt

  • core/actions/fn_healHospital.sqf
  • core/configuration.sqf
  • Functions.h
  • core/civilian/fn_hooker.sqf

2. Beginnen wir mit der Heilung von Geschlechtskrankheiten. Dafür muss die Funktion healHospital verändert werden, die unter core/actions/fn_healHospital.sqf zu finden ist. Der Einfachheit halber ist hier die komplette, neue Datei. Ersetze die alte Datei einfach mit dem folgenden Code.

/*
	File: fn_healHospital.sqf
	Author: Bryan "Tonic" Boardwine
	Modified by Zaickz and cat24max
	Translated by cat24max
	
	Description:
	Doesn't matter, will be revised later.
*/

_mode = _this select 3;


switch (_mode) do 
{
	case "heilen":
					{
						if(life_cash < 50) exitWith {hint "Du hast keine $50 um geheilt zu werden."};
						titleText["Doctor Kättmäx heilt dich... keine Angst...","PLAIN"];
						sleep 2;
						titleText["ups, Verdammt, die Spritze ging an die falsche Stelle..","PLAIN"];
						sleep 5;
						if(player distance (_this select 0) > 5) exitWith {titleText["Sie müssen in einem Radius von 5 Metern bleiben, damit der Doktor Sie behandeln kann.","PLAIN"]};
						titleText["Sie sind nun völlig gesund!","PLAIN"];
						player setdamage 0;
						life_cash = life_cash - 50;
					};
	case "checken":
					{
						 if(life_checked == 1) exitWith { hint "Du hast dich bereits durchchecken lassen. Du musst dich nun behandeln lassen"; };
						 if(life_sex_ill == 0) then
						 {
							 hint format["Diagnose: \n\n Name: %1 \n\n Krankheit: keine",name player];
							 life_checked = 0;
						 };
						 if(life_sex_ill == 1) then
						 {
							 hint format["Diagnose: \n\n Name: %1 \n\n Krankheit: Tripper \n\n Du solltest dich nun bei mir behandeln lassen!",name player];
							 life_checked = 1;
						 };
						 if(life_sex_ill == 2) then
						 {
							hint format["Diagnose: \n\n Name: %1 \n\n Krankheit:Aids \n\n Du solltest dich nun bei mir behandeln lassen",name player];
							life_checked = 1;
						 };
					 };
	case "behandeln":
					 {
						if(life_checked == 0) exitWith { hint "Wie soll ich dich behandeln, wenn ich nicht mal weiß was du hast?! Also lass dich durchchecken"; };
						if(life_sex_ill == 1) then
						{
							if(life_cash<1000) exitWith { hint "Ich habe bei dir eine Geschlechtskrankheit gefunden du hast nur nicht genug Geld dich behandeln zu lassen!";};
							titleText["Ich habe Tripper bei dir entdeckt. Ich werde dich nun heilen. \n Das kann bis zu 20 Sekunden dauern.","PLAIN"];
							sleep 20;
							titleText["Du bist geheilt! Du solltest besser aufpassen!","PLAIN"];
							life_cash = life_cash - 1000;
							player setDamage 0;
							life_sex_ill = 0;
							life_checked = 0;
						};
						if(life_sex_ill == 2) then
						{
							if(life_cash<10000) exitWith { hint "Ich habe bei dir eine Geschlechtskrankheit gefunden du hast nur nicht genug Geld dich behandeln zu lassen!";};
							titleText["Ich habe AIDS bei dir entdeckt. Ich werde dich nun heilen. \n Das kann bis zu 45 Sekunden dauern.","PLAIN"];
							sleep 45;
							titleText["Du bist geheilt! Du solltest besser aufpassen!","PLAIN"];
							life_cash = life_cash - 10000;
							player setDamage 0;
							life_sex_ill = 0;
							life_checked = 0;
						};
					 };
};

Anschließend öffnest du die core/configuration.sqf und fügst den folgenden Code unter Life variables ein:

life_sex_ill = 0;
life_checked = 0;

Als nächstes öffest du die Functions.h (im Root-Verzeichnis der Mission) und fügst folgendes unter class civilian (core/civilian) ein:

class hooker{};

3. Erstelle eine neue Datei namens fn_hooker.sqf im Ordner core/civilian und fügst dort den folgenden Code ein:

 /*
	File: fn_hooker.sqf
	Author: Zaickz
	Version: 0.2
	
	Description:
	You can have Sex with prostitutes and may get ill ;)
*/

_mode = _this select 3;

switch (_mode) do 
{
	case "ficken": 
				{
					if(playerSide == west) exitWith
					{
						hint "Du bist ein Polizist! Mit dir ist mir das zu heiß! Verpiss dich lieber!";
					};
					if(currentWeapon player != "") exitWith
					{
						hint "Pack deine Waffe weg!";
					};

						//Prices
							_number = ceil(random 7);
							if(_number == 0) then { hookerprice = 100;};
							if(_number == 1) then { hookerprice = 2000;};
							if(_number == 2) then { hookerprice = 4000;};
							if(_number == 3) then { hookerprice = 8000;};
							if(_number == 4) then { hookerprice = 16000;};
							if(_number == 5) then { hookerprice = 32000;};
							if(_number == 6) then { hookerprice = 64000;};
							if(_number == 7) then { hookerprice = 128000;};
							_pplayer = _this select 0;
							
							//Chance of get some sexualill
							_number1 = ceil(random 100);
							if(_number1<33) then { sexualill = 0;};
							if(_number1>33) then { sexualill = 1;};
							if(_number1>66) then { sexualill = 2;};
					
					sleep 1;
					_playercosts = hookerprice;
					_playersexill = sexualill;						
						if(life_cash < hookerprice) exitWith 
						{
							hint "Kein Geld? Dann wirst du mit mir auch kein Spaß haben!";
						};
						if(life_sex_ill > 0) exitWith
						{
							hint "Geschlechtskrankheit? Geh erstmal zum Arzt bevor du hier rum vögelst!";
						};
						hint format["Das hat mir gefallen suesser :* \n Du musst %1 € zahlen. \n\n Und du solltest beim Arzt vorbei schauen",_playercosts];
						life_cash = life_cash - _playercosts;
						life_sex_ill = life_sex_ill + _playersexill;

						if(_playersexill == 1) then
						{
							player setDamage 0.25;
						};
						if(_playersexill == 2) then
						{
							player setDamage 0.50;
						};		
				};
};

4. Nutten erstellen

Bearbeite deine mission.sqm mit dem ArmA 3 Editor und erstelle eine Nutte. Ich empfehle einen Taucher (sieht irgendwie gut als Nutte aus), der den folgenden Init hat:

this enableSimulation false; this allowDamage false; removeBackpack this; removeAllWeapons this; this addAction["Sex?",life_fnc_hooker,"ficken"];

5. Arzt bearbeiten

Damit der Arzt auch Geschlechtskrankheiten behandeln kann, ersetzt du seine Init mit

this enableSimulation false; this allowDamage false; this addAction["Heilen",life_fnc_healHospital,"heilen"]; this addAction["Checken",life_fnc_healHospital,"checken"]; this addAction["Behandeln",life_fnc_healHospital,"behandeln"];


Die Rechte dieses Scripts liegen bei Zaikz. Das Tutorial wurde von cat24max übersetzt.