Nabend,
nach zig Jahren widme ich mich nun wieder SAMP. Ich möchte nichts großartiges, nur ein bisschen herumprobieren und mir nebenbei einen kleinen Testserver für weitere Dinge zusammen basteln. Als Grundlage nehme ich das grandlarc Script. Da ich Code gerne auslagere (Und die Includes dafür ideal sind), erstellte ich mir ein Include mit folgendem Inhalt:
#include <a_samp>
#include "../include/dzl_vardefs.inc"
stock GetSkinGroup(skinid)
{
new group;
switch(skinid)
{
case 280, 286: group = SKIN_GROUP_POLICE;
case 287: group = SKIN_GROUP_ARMY;
case 274, 276: group = SKIN_GROUP_MEDIC;
default: group = SKIN_GROUP_CIVIL;
}
return group;
}
Alles anzeigen
In der Datei "dzl_vardefs.inc", welche sowohl in diesem Include als auch im Gamemode selbst geladen wird befindet sich folgendes:
// Colors
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_NORMAL_PLAYER 0xFFBB7777
// Cities
#define CITY_LOS_SANTOS 10001
#define CITY_SAN_FIERRO 10002
#define CITY_LAS_VENTURAS 10003
// Dialogs
#define DIALOG_VEHICLE_INFO 11001
// Skin Groups
#define SKIN_GROUP_CIVIL 12001
#define SKIN_GROUP_MEDIC 12002
#define SKIN_GROUP_POLICE 12003
#define SKIN_GROUP_ARMY 12004
Alles anzeigen
Und nun die entstehenden Fehler:
../include/dzl_skinutil.inc(9) : error 002: only a single statement (or expression) can follow each "case"
../include/dzl_skinutil.inc(10) : error 014: invalid statement; not in switch
../include/dzl_skinutil.inc(10) : warning 215: expression has no effect
../include/dzl_skinutil.inc(10) : error 001: expected token: ";", but found ":"
../include/dzl_skinutil.inc(10) : error 029: invalid expression, assumed zero
../include/dzl_skinutil.inc(10) : fatal error 107: too many error messages on one line
Mir ist aufgefallen, dass diese Fehler nur entstehen, sobald ich auf die definierten Konstanten in der dzl_vardefs.inc zugreife (Sowohl im Include als auch im grandlarc Script). Sobald ich diese durch z.B. einfach 0 ersetze, funktioniert es einwandfrei. Aber unter anderem dafür definiert man sich doch globale Variablen via #define, oder nicht?
Viele Grüße,
Deazl_