#include <colors>
Naaa, was haben wir denn hier?
Eventuell ist das die Color Include von der ich gesprochen habe hahaha xD
#include <colors>
Naaa, was haben wir denn hier?
Eventuell ist das die Color Include von der ich gesprochen habe hahaha xD
Was solle da schlimm daran sein?
Da ist nur drinn:
#define GREEN 0x21DD00FF
#define RED 0xE60000FF
#define ADMIN_RED 0xFB0000FF
#define COLOR_RED 0xAA3333AA
#define YELLOW 0xFFFF00FF
#define ORANGE 0xF97804FF
#define LIGHTRED 0xFF8080FF
#define LIGHTBLUE 0x009CE2FF
#define PURPLE 0xB360FDFF
#define PLAYER_COLOR 0xFFFFFFFF
#define BLUE 0x1229FAFF
#define LIGHTGREEN 0x38FF06FF
#define DARKPINK 0xE100E1FF
#define DARKGREEN 0x008040FF
#define ANNOUNCEMENT 0x6AF7E1FF
#define COLOR_SYSTEM 0xEFEFF7AA
#define GREY 0xCECECEFF
#define PINK 0xD52DFFFF
#define DARKGREY 0x626262FF
#define AQUAGREEN 0x03D687FF
#define NICESKY 0x99FFFFAA
#define WHITE 0xFFFFFFFF
#define COLOR_RADIO 0xB8860BAA
#define COLOR_QUEST 0x009999FF
#define COLOR_QUEST2 0x00CC99FF
#define COLOR_MESS 0xB7BC21FF
#define COLOR_GROVE 0x00FF00FF
#define COLOR_DARKBLUE 0x0000D0FF
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_Buendnis 0x21DD00FF
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED_INVISIBLE 0xAA333300
#define COLOR_RED 0xAA3333AA
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_LIGHTGREEN 0x9ACD32AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_YELLOW2 0xF5DEB3AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_PURPLE 0x800080AA
#define COLOR_DBLUE 0x2641FEAA
#define COLOR_ALLDEPT 0xFF8282AA
#define COLOR_NEWS 0xFFA500AA
#define COLOR_OOC 0xE0FFFFAA
#define COLOR_SPEC 0xFFFFFFAA
#define COLOR_BLACK 0x000000AA
#define TEAM_CYAN_COLOR 0xFF8282AA
#define TEAM_HIT_COLOR 0xFFFFFF00
#define TEAM_GROVE_COLOR 0x00D900C8
#define TEAM_BLUE_COLOR 0x8D8DFF00
#define TEAM_BLUE_COLOR2 0x8D8DC800
#define TEAM_BALLAS_COLOR 0xD900D3C8
#define COLOR_AZTECAS 0x01FCFFC8
#define grün 0x21DD00FF // srsly??
#define COLOR_BLAU 0x33CCFFAA
#define COLOR_BLUE 0x33CCFFAA
#define COLOR_GRAU 0xB4B5B7FF
#define ORANGE 0xF97804FF
#define COLOR_ORANGE 0xF97804FF
#define COLOR_GELB 0xFFFF00AA
#define RED55 0xE60000FF
#define YELLOW55 0xFFFF00FF
#define WHITE55 0xFFFFFFFF
#define TREE_RED 0xFF0000FF
#define TREE_GREEN 0x80FF00FF
#define TREE_YELLOW 0xFFFF00FF
Alles anzeigen
mehr ist da nicht vorhanden?
Okay, ist eine eigene Color Include.
Durchsuche halt mal all deine Includes nach CreateVehicle.
Vielleicht findest du ja irgendwo was, wo die Funktion gehookt wird.
Hab ein Actor der heißt new Actor1;.
Ich weiß nicht was der hat, dem geht es nicht gut.
Was kann ich machen, damit er mal auf der Stelle bleibt und nicht wegsurft, wenn ich ihn anfahre
Huhu,
ich bin ja aktuell dabei ein Haussystem zu scripten.
Ich wollte jetzt anfangen mit dem Interiorsystem, habe jedoch eine Probleme bzw. Fragen dazu:
1. Nehmen wir an, ich mappe einen eigenen Interior für ein Haus. Muss ich jetzt trotzdem per SetPlayerInterior den Interior wechseln, oder kann diese einfach 0 bleiben, da ich ja eh eine VW setze.
2. Ich habe gesehen, dass man die VirtualWorlds(VW) auf den selben Wert setzen soll, der die HausID ist(damit jeder nur die Leute im selben Haus sieht). Wenn ich dann jedoch ein Haus und eine Biz mit der ID 1 habe, wie gehe ich vor? Oder kann ich das außer Beachtung lassen, da die Ints sowieso alle an unterschiedl. Positionen sind?
Ich danke schonmal wie immer im Voraus.
//e:
Zu BrightLeaN:
Ich hab dass zwar selbst noch nicht gebraucht, jedoch könntest du ihn mithilfe eines Timers wieder auf seine alte Position setzen.
Oder immer wenn ein neuer Spieler den Actor lädt (OnActorSteamIn) diesen zurück auf seine Position setzen.
1. Nehmen wir an, ich mappe einen eigenen Interior für ein Haus. Muss ich jetzt trotzdem per SetPlayerInterior den Interior wechseln, oder kann diese einfach 0 bleiben, da ich ja eh eine VW setze.
Solange die InteriorID von den Objekten des Interiors auch in keinem Interior sind, brauchst du das nicht. Kann also bei 0 bleiben.
2. Ich habe gesehen, dass man die VirtualWorlds(VW) auf den selben Wert setzen soll, der die HausID ist(damit jeder nur die Leute im selben Haus sieht). Wenn ich dann jedoch ein Haus und eine Biz mit der ID 1 habe, wie gehe ich vor? Oder kann ich das außer Beachtung lassen, da die Ints sowieso alle an unterschiedl. Positionen sind?
Wenn ein Haus und ein Biz das gleiche Interior haben kann, dann solltest du einfach bei Biz's einfach als Virtual World 1000 + ID nehmen, dann kommt es zu keinen Überschneidungen.
zuwas wurde
fVehicle[fV][dbID] = cache_insert_id(MySQL_Connection);
umgennant MySQL R40?
zuwas wurde
fVehicle[fV][dbID] = cache_insert_id(MySQL_Connection);
umgennant MySQL R40?
fVehicle[fV][dbID] = cache_insert_id();
stock GarageSpeichern()
{
for(new garageid = 0; garageid < sizeof(gInfo); garageid++)
{
new query[256];
mysql_format(handle,query,sizeof(query),"UPDATE `garage` Set `Lock`='%d',`Mechaniker`='%d' WHERE `ID`='%d'",
gInfo[garageid][gLock],gInfo[garageid][gMechaniker],gInfo[garageid][db_gid]);
mysql_pquery(handle,query);
}
}
Ich lasse diesen stock unter OnGameModeExit aufrufen, ist das falsch?
Der soll das ja speichern, wenn der Server sich schließt.
Ich checke MySQL so oft nicht.
Werde geärgert, der Log sagt mir dazu nichts...
Codestock GarageSpeichern() { for(new garageid = 0; garageid < sizeof(gInfo); garageid++) { new query[256]; mysql_format(handle,query,sizeof(query),"UPDATE `garage` Set `Lock`='%d',`Mechaniker`='%d' WHERE `ID`='%d'", gInfo[garageid][gLock],gInfo[garageid][gMechaniker],gInfo[garageid][db_gid]); mysql_pquery(handle,query); } }
Ich lasse diesen stock unter OnGameModeExit aufrufen, ist das falsch?
Der soll das ja speichern, wenn der Server sich schließt.
Ich checke MySQL so oft nicht.
Werde geärgert, der Log sagt mir dazu nichts...
Lass dir per prinft ausgeben ob die stock überhaupt aufgerufen wird wenn du den Server schließt, steht dann ja in der Log
Also Problem ist gefunden.
Wenn ich den Server instant schließe, heißt das Fenster der Konsole schließe, exited er den Gamemode nicht.
Wenn ich gmx benutzte geht es, zumindest wird es aufgerufen...
Er speichert mir den Wert in der ersten Datenbank Zeile, muss ID ein primary Key sein?
Ist gInfo[garageid][db_gid] denn richtig? Ist die ID in der Datenbank auch AUTO_INCREMENT?
Habe die Variable verändert, jetzt hat die jetzige AUTO_INCREMENT an aber jetzt scheint er nix zu speichern.
Wenn ich den Server instant schließe, heißt das Fenster der Konsole schließe, exited er den Gamemode nicht.
Einfach "exit" in die Konsole eintragen.
Er speichert mir den Wert in der ersten Datenbank Zeile, muss ID ein primary Key sein?
Was heißt "er speichert dir den Wert in der ersten Datenbankzeile" ?
Nur die Erste oder alles in der ersten ?
Guten Abend,
ich brauche mal wieder eure Hilfe, ich bin wohl gerade zu "Dumm" diesen Fehler zu finden ...
Meine Server Log Spuckt mir aus:
Server Log:
[debug] Run time error 4: "Array index out of bounds"
[debug] Attempted to read/write array element at index 65535 in array of size 1000
[debug] AMX backtrace:
[debug] #0 00008080 in main (0, 577720) in Script.amx
Script der Befehl dazu:
CMD:admins(playerid, params[])
{
if(!PlayerInfo[playerid][LoggedIn])return NO_CONYOURSELF
new rows, strDialog[512], strArt[64] = "{FFFFFF}Name:\tRang[Level]\tStatus\n";
new Cache:result = mysql_query(Handle, "SELECT `Name`, `Adminrang`, `LastOnline` FROM `PLAYERS` WHERE `Adminrang` > 0 ORDER BY `Adminrang` DESC LIMIT 0, 15");
cache_get_row_count(rows);
if(rows)
{
new admName[25], admRang, LastOnline[30];
for(new i; i < rows; i++){
cache_get_value_name(i, "Name", admName, 25);
cache_get_value_name(i, "LastOnline", LastOnline, 30);
cache_get_value_name_int(i, "Adminrang", admRang);
new isOnline = GetID(admName);
if(IsPlayerConnected(isOnline) && PlayerInfo[isOnline][LoggedIn]){
format(strDialog, sizeof(strDialog), "%s{FFFFFF}%s\t%s[%d]\t{00CC00}• {FFFFFF}Online", strDialog, admName, GetPlayerAdminRang(isOnline), admRang);
}else{
format(strDialog, sizeof(strDialog), "%s{FFFFFF}%s\t%s[%d]\t%s", strDialog, admName, GetPlayerAdminRang(isOnline), admRang, LastOnline);
}
strcat(strArt, strDialog);
printf("DEBUG - String:\n%s", strDialog);
}
cache_delete(result);
ShowPlayerDialog(playerid, DIA_ERROR, DIALOG_STYLE_TABLIST_HEADERS, "{CC6600}"#SERVER_NAME" {FFFFFF}- Teammitglieder", strDialog, "Schließen", "");
}
return 1;
}
Erkennt einer von euch den Fehler und kann mir diesen Fehler ebenfalls auch erklären?
Guten Abend,
ich brauche mal wieder eure Hilfe, ich bin wohl gerade zu "Dumm" diesen Fehler zu finden ...
Meine Server Log Spuckt mir aus:
Server Log:[debug] Run time error 4: "Array index out of bounds"[debug] Attempted to read/write array element at index 65535 in array of size 1000[debug] AMX backtrace:[debug] #0 00008080 in main (0, 577720) in Script.amx Script der Befehl dazu:CMD:admins(playerid, params[]){ if(!PlayerInfo[playerid][LoggedIn])return NO_CONYOURSELF new rows, strDialog[512], strArt[64] = "{FFFFFF}Name:\tRang[Level]\tStatus\n"; new Cache:result = mysql_query(Handle, "SELECT `Name`, `Adminrang`, `LastOnline` FROM `PLAYERS` WHERE `Adminrang` > 0 ORDER BY `Adminrang` DESC LIMIT 0, 15"); cache_get_row_count(rows); if(rows) { new admName[25], admRang, LastOnline[30]; for(new i; i < rows; i++){ cache_get_value_name(i, "Name", admName, 25); cache_get_value_name(i, "LastOnline", LastOnline, 30); cache_get_value_name_int(i, "Adminrang", admRang); new isOnline = GetID(admName); if(IsPlayerConnected(isOnline) && PlayerInfo[isOnline][LoggedIn]){ format(strDialog, sizeof(strDialog), "%s{FFFFFF}%s\t%s[%d]\t{00CC00}• {FFFFFF}Online", strDialog, admName, GetPlayerAdminRang(isOnline), admRang); }else{ format(strDialog, sizeof(strDialog), "%s{FFFFFF}%s\t%s[%d]\t%s", strDialog, admName, GetPlayerAdminRang(isOnline), admRang, LastOnline); } strcat(strArt, strDialog); printf("DEBUG - String:\n%s", strDialog); } cache_delete(result); ShowPlayerDialog(playerid, DIA_ERROR, DIALOG_STYLE_TABLIST_HEADERS, "{CC6600}"#SERVER_NAME" {FFFFFF}- Teammitglieder", strDialog, "Schließen", ""); } return 1;}
Erkennt einer von euch den Fehler und kann mir diesen Fehler ebenfalls auch erklären?
Überprüfe mal deine MySQL Datenbank und die Tabellen.
Einen anderen Fehler kann ich jetzt nicht erkennen.
Wahrscheinlich ist diese Zeile das Problem, da du versuchst in deinem Array auf den Loginstatus von INVALID_PLAYER_ID (65535) zu kriegen.
if(IsPlayerConnected(isOnline) && PlayerInfo[isOnline][LoggedIn])
Versuch Mal nur zu prüfen ob der Spieler verbunden ist, und dann in einem weiteren if-Statement fragst du dem Loginstatus vom Spieler ab. (Sofern dieser online ist)
Kann man nicht theoretisch ein gutes Blinker-System erstellen?
https://wiki.sa-mp.com/wiki/UpdateVehicleDamageStatus
Mit dieser Funktion kann man ja z.B vorne links und vorne rechts die Lichter zerstören ( https://wiki.sa-mp.com/wiki/LightStates ).
Ist so etwas möglich, oder brauch ich es erst gar nicht ausprobieren? Habe es noch nie gesehen, deswegen ist mir das skeptisch...