Page MenuHomeRealLifeRPG

RealLifeRPG Style Guide
Updated 5 Days AgoPublic

Dieser Guide beschreibt die verschiedenen Best-Practices für das erstellen von jeder Form von Code bei RealLifeRPG.

Allgemein

  • Alle Datei/Variablen/Kommentare auf Englisch
Das benutzen von Umlauten, ... kann dazu führen das alles kaputt geht, also KEIN DEUTSCH !

Gebäude

  • Classnames müssen mit Land_ beginnen und dann den namen der ´.p3d´ haben
  • Alle Türen, Toren und sonstige dinge die animiert werden können heißen door_ und dann eine Nummer

Class Names

Damit es nicht zu Duplikaten zwischen den verschiedenen Mods und classnames in der Mission kommt, sollten die folgenden Regeln beachtet werden

Bitte beachtet auch die genaue Groß- und Kleinschreibung
  1. Uniformen: RL_U_name
  2. Backpack: RL_B_name
  3. Vest: RL_V_name
  4. Headgear: RL_H_name
  5. Goggles: RL_G_name
  1. Waffen: RL_W_name
  2. Magazin: RL_M_
  3. Item: RL_I_name
  4. Fahrzeuge: RL_name

File Template

example.sqf
#include "\life_server\script_macros.hpp"
#include "..\..\script_macros.hpp"
/*
 * Author: RealLifeRPG Team
 *
 * Description:
 * <What does this Function do ?>
 *
 * Arguments:
 * 0: NUMBER - Example Number
 * 1: ARRAY - Example Array
 * 2: CODE or STRING - Example Code or String
 *
 * Return Value:
 * Nothing
 *
 * Example:
 * N/A
 *
 */

params [
    ["_exampleString","",[""]],
    ["_exampleInt",0,[0]],
    ["_exampleArray",[],[[]]] ,
    ["_exampleObject",ObjNull,[ObjNull]]
];

Error Handling

Es gibt 4 verschiedene Macros mit denen Errors geloggt werden können, alternativ kann direkt die life_fnc_logError mit entsprechenden Parametern aufgerufen werden.

example.sqf
LOG(1); // einfacher log, wird als hint und im rpt geloggt, die 1 ist der Error Code, dieser kann auch jeder andere typ sein
LOGP(1,_param); // log mit parameter
LOGS(1); // silent log, wird nur im rpt und nicht als hint angezeigt
LOGSP(1,_param); // wie LOGS nur mit parametern

Der Errorcode muss pro Datei eindeutig sein.

User Actions

Damit die user actions der Fahrzeuge per Konfigurierbaren Hotkey gesteuert werden können. Damit das geht müssen die useractions nach folgender Konvention benannt werden.

Die Liste enthält die Grund namen der user action, dahinter kommt immer _on und _off für die entsprechenden Funktionen

  • Blaulicht/Gelblicht gyro
  • Sirene siren
  • Fernlicht beam
  • Blinker rechts indicator_r
  • Blinker links indicator_l

Datenbanken

Benennung
  • Die PlayerID Spalte heißt pid
  • Die ID spalte heißt id
  • Fremdschlüssel/Andere ids <name>_id , Keyname key_<table_name>_<name>
Allgemein
  • Jede Tabelle bei der es Sinn macht enthält die spalten updated_at und created_at mit entsprechenden Werten (automatisch in DB einstellen) und disabled (tinyint default 0)
  • ein log Tabelle heißt immer log_<log_name>
Last Author
vabene1111
Last Edited
Mon, Jul 15, 7:21 PM

Event Timeline

vabene1111 created this document.Sep 24 2018, 11:06 PM
vabene1111 edited the content of this document. (Show Details)
vabene1111 edited the content of this document. (Show Details)
vabene1111 edited the content of this document. (Show Details)
vabene1111 edited the content of this document. (Show Details)
vabene1111 edited the content of this document. (Show Details)
vabene1111 edited the content of this document. (Show Details)
vabene1111 edited the content of this document. (Show Details)Sep 24 2018, 11:08 PM
vabene1111 published a new version of this document.
vabene1111 edited the content of this document. (Show Details)Sep 24 2018, 11:11 PM
vabene1111 edited the content of this document. (Show Details)Sep 25 2018, 10:50 AM
vabene1111 edited the content of this document. (Show Details)Sep 26 2018, 10:33 AM
vabene1111 edited the content of this document. (Show Details)Sep 30 2018, 7:47 PM
vabene1111 edited the content of this document. (Show Details)
br1zey edited the content of this document. (Show Details)Oct 3 2018, 12:09 AM
vabene1111 edited the content of this document. (Show Details)Oct 29 2018, 8:16 PM
vabene1111 edited the content of this document. (Show Details)
vabene1111 edited the content of this document. (Show Details)
vabene1111 published a new version of this document.
vabene1111 edited the content of this document. (Show Details)Mon, Jul 15, 6:03 PM
vabene1111 edited the content of this document. (Show Details)Mon, Jul 15, 7:21 PM