https://dev.prineside.com/en/g…_model_id/search/?q=light
Schau dich durch
Da gibt es von Punkt Lichtern, wie 19285, alles bis hin zu ganzen Flutlichtern, wie 18656
https://dev.prineside.com/en/g…_model_id/search/?q=light
Schau dich durch
Da gibt es von Punkt Lichtern, wie 19285, alles bis hin zu ganzen Flutlichtern, wie 18656
Tatsächlich wüsste ich auch nicht welche Bugs hier so gefährlich sind
Mal als Beispiel gibt es noch den G-Bug.
Da ist ein Auto zum Beispiel abgeschlossen, dann kannst du trotzdem sneaky G drücken und hinter dem Auto herlaufen und wirst dann reingeportet, obwohl es halt abgeschlossen ist.
Nette Idee, finde die Vorstellung ganz gut
Fall 7: Time Bug
Vielleicht hierzu noch etwas.
Das ist ein komplexes Phänomen, was durchaus seinen Ursprung auch beim Server haben kann.
Mal ein klassisches Beispiel, jemand ist im Auto und man spawnt diesen.
Das verursacht einen Time-Bug, weil diese Person sich dann in einem undefinierten State befindet.
Viele kennen das vermutlich, da steht man an der Grove Street mit Zigarette oder ner Flasche
Dieses Phänomen, kann durch viele Dinge hervorgerufen werden.
Gerade wenn es um Spawn-Funktionen geht, die mit TogglePlayerSpectating in Zusammenhang stehen oder Fahrzeugen.
Wenn man nicht genau aufpasst, kann man diese invaliden States hervorrufen.
Fall 8: Leeres Interior
Das ist wirklich ein verrücktes Phänomen, kann aber auch ohne Hacks auftreten.
Gerade die 24/7 Läden sind davon sehr betroffen und das liegt an GTA (also clientseitig).
Es gibt aber durchaus noch mehr Bugs Sogar welche, womit man bestimmte Funktionen aushebeln kann.
Finde es aber eigentlich gar nicht so gut alle aufzulisten, weil sie dann vermutlich alle missbraucht werden
Wie kann man den Bildschirm weiß machen ?
Über ein Textdraw oder wäre es auch anders Möglich ?
Hatte mal so ein System geschrieben gehabt:
static PlayerText:blitz[MAX_PLAYERS];
stock Blitzer_Init(playerid) //z.B. bei OnPlayerConnect aufrufen
{
blitz[playerid] = CreatePlayerTextDraw(playerid,650.000000, 0.000000, !"Neues Textdraw");
PlayerTextDrawBackgroundColor(playerid,blitz[playerid], 255);
PlayerTextDrawFont(playerid,blitz[playerid], 1);
PlayerTextDrawLetterSize(playerid,blitz[playerid], 0.500000, 25.000000);
PlayerTextDrawColor(playerid,blitz[playerid], -1);
PlayerTextDrawSetOutline(playerid,blitz[playerid], 0);
PlayerTextDrawSetProportional(playerid,blitz[playerid], 1);
PlayerTextDrawSetShadow(playerid,blitz[playerid], 1);
PlayerTextDrawUseBox(playerid,blitz[playerid], 1);
PlayerTextDrawBoxColor(playerid,blitz[playerid], -120);
PlayerTextDrawTextSize(playerid,blitz[playerid], -10.000000, 0.000000);
return 1;
}
stock Blitz_Player(playerid) //Wenn der Spieler geblitzt wurde
{
PlayerTextDrawShow(playerid,blitz[playerid]);
GameTextForPlayer(playerid,!"~r~Geblitzt!",5000,5);
PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0); //Süßer sound
SetTimerEx(!"@remove",1500,0,!"i",playerid);
}
static @remove(i);@remove(i) return PlayerTextDrawHide(i,blitz[i]);
Alles anzeigen
Mir würde auch kein anderer vernünftiger Weg einfallen das ohne TextDraw zu lösen...wüsste aber auch nicht wieso
Ein Array (https://en.wikipedia.org/wiki/Array_data_structure) ist nur eine Daten-Struktur in diesem Fall deine Variable enterexits.
Bei dem Eintrag illegales Wettbüro vor dem Kommentar, ganz hinten fehlt, wie im Beitrag zuvor schon erwähnt ein Komma ,
(Zeile 21 ganz hinten)
Dann sollte der Fehler verschwinden
Kannst du das ganze Array posten?
Vermutlich hast du nur am Ende ein Komma oder so vergessen
new enterexits[MAX_ENTEREXITSdef][EnterExits_info] =
Schreib das mal so:
stock const enterexits[][EnterExits_info] =
Der Fehler liegt vermutlich an dem define.
Also ich bekomme da keine Fehler.
Wie sieht denn dein define aus?
Prinzipiell brauchst du da auch kein define
Nutze einfach sizeof(enterexits), dann musst du nicht so eine schläde Zahl anpassen, sondern der Compiler sucht sich das alles dynamisch raus
Wie sieht dein enum dazu aus?
Ist zumindest toller als eine for Schleife.
Du kannst das zwar machen, aber es ist schlechter als eine for-Schleife.
Das liegt daran, wie der Code verarbeitet wird vom Compiler.
for-Schleifen wurden genau für so einen Zweck gemacht, also solltest du sie auch für diesen Zweck nutzen
Im Endeffekt ist das nur der -- Operator.
Und das untere ist (-x) --
Also..was heißt Sinnvoll, kannst es halt verwenden
Schreib es so:
CMD:setlevel(playerid,params[])
{
if(!PlayerInfo[playerid][pAdmin]) return SendClientMessage(playerid, 0x00FF00, "[ ! ] Du besitzt keine Rechte um diesen Befehl zu nutzen!");
new string[128], pID, level, name[MAX_PLAYER_NAME];// 'level' ist eine neue Variable für [pLevel]
if(sscanf(params,"ui",pID,level)) return SendClientMessage(playerid, 0x00FF00,"[Info] /setlevel [playerid][level]");
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
GetPlayerName(pID,name,MAX_PLAYER_NAME);
PlayerInfo[pID][pLevel] = level;
format(string,sizeof(string),"Admin %s hat den Rang von Spieler: %s zu %s geändert",string,name,GetLevelRank(pID));
SendClientMessage(playerid, -1, string);
format(string,sizeof(string),"Spieler ist Levelrank: %s",GetLevelRank(pID));
SendClientMessage(playerid, -1, string);
mysql_format(handle, string, sizeof(string), "UPDATE `users` SET `level` = '%d' WHERE `id` = '%d'", level, PlayerInfo[pID][p_id]);
mysql_pquery(handle, string);
return 1;
}
Alles anzeigen
Das war nicht negativ gemeint, ich wollte nur wissen, was das Konzept ist, was euren Server einzigartig macht.
Konzept wird dann natürlich entworfen
Achso, damit hat sich meine Frage dann natürlich beantwortet.
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0);
Wurde doch schon bereits geschrieben...
Drück mal F5, eventuell hast du immernoch zuviele Objekte.
Oder du spielst da mal ein wenig mit der Stream/Drawdistance.
Aber einen einzigartigen.
Wow, das klingt beeindruckend, hat glaube ich vor dir noch niemand im Sinn gehabt!
Wärst du so freundlich uns einzuweihen, was genau deine Ideen sind?
(Falls du Angst hast wegen dirty Copy&Paste...wenn dein Server on geht, würde das spätestens da eh gemacht werden)
nur mit dem Laden kommt er nicht hinterher also es dauert etwas.... ist ja normal oder ?
Weiß jetzt nicht genau, was du meinst
Ok gut, würde es sin machen CreateObject in CreateDynamicObject zu ändern ?
z.B, bei den Toren verwende ich CreateObject.
Ja,das würde sehr viel Sinn ergeben!
Wie gesagt, alles auf DynamicObjects, außer Böden
Dann weißt du jetzt, dass es nicht am Streamer (der Draw/Streamdistance) liegt und nicht an den Objekten selbst.
Es muss wohl etwas mit den anderen Maps zu tun haben.
Entweder du hast zu viele CreateObjects, oder einfach zu viele Objekte/Maps in der Nähe.
Evtl ist die Streamdistance zu groß von bestimmten Objekten.
Kannst du die Map eventuell auslagern und mal schauen, ob die auf einem Empty-Server funktioniert, wo es nur diese Map gibt?
Wieso wird mir dort nur S wiedergegeben?^^
Um ehrlich zu sein, keine Ahnung.
Bist du sicher, dass du dein Skript kompiliert hast und das wirklich 1:1 der Code ist?
Denn wenn ich das mache, wird das Richtige ausgegeben, also ich kann den Fehler nicht reproduzieren.