RealLifeRPG Style Guide
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
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
- Uniformen: RL_U_name
- Backpack: RL_B_name
- Vest: RL_V_name
- Headgear: RL_H_name
- Goggles: RL_G_name
- Waffen: RL_W_name
- Magazin: RL_M_
- Item: RL_I_name
- Fahrzeuge: RL_name
- Animationen RL_A_name
File Template
#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.
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
- Feb 6 2020, 8:14 PM