Habe ich schon versucht dann fängt das Auto an zu brennen.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Wie wäre es wenn du SetVehicleHealth und RepairVehicle mal tauscht. RepairVehicle setzt iirc das Leben wieder auf 1000.0
-
Code
Alles anzeigencase DIALOG_CREATE_CREW: { if(GetMoney(playerid) < Others[CrewPreis])return SendClientMessage(playerid, COLOR_WHITE, ERROR_MONEY); if(strlen(inputtext) < 3) { SendClientMessage(playerid, COLOR_WHITE, ""COLOR_HEX_RED"Der Name muss mind. 3 Zeichen betragen."); } if(!IsStringCorrect(inputtext)) { return SendClientMessage(playerid, COLOR_WHITE, ""COLOR_HEX_RED"Es dürfen nur Zeichen von A-Z und Zahlen von 0-9 benutzt werden."); } for(new i=1;i<MAX_CREWS;i++) { if(i < MAX_CREWS) { if(strlen(Crew[i][CrewOwner]) < 3) { new string[128]; format(string, sizeof(string), "INSERT INTO `"#SERVER_MYSQLTAG"_crews` (id) VALUES ('%d')", i); mysql_pquery(MySqlConnection, string); format(Crew[i][CrewOwner], MAX_PLAYER_NAME, GetName(playerid)); GiveMoney(playerid, -Others[CrewPreis]); format(Crew[i][CrewFont], 16, "Arial"); format(string, sizeof(string), ""COLOR_HEX_GREEN"Herzlichen Glückwunsch, die Crew %s wurde von %s erstellt!", inputtext, GetName(playerid)); SendClientMessageToAll(COLOR_WHITE, string); format(Crew[i][CrewName], 32, inputtext); Crew[i][CrewID] = i; SaveCrews(); } } } }
Moin Kurze frage, warum werden die Maximalen Crews erstellt wen ich nur eine erstelle?
Ansonst funktioniert alles wunderbar.
-
warum werden die Maximalen Crews erstellt wen ich nur eine erstelle?
Weil du in Zeile 10 eine Schleife über 1 bis zur maximalen Anzahl der Crews (MAX_CREWS) eingebaut hast und niemals ein break oder return in der Schleife verwendest, somit läuft sie alle ID's durch.
-
Moin,
wie ändere ich beim Textdraw das Preview Model nach dem Erstellen?
Also der Skin wird aus der Datenbank geladen, dann soll er da im Textdraw zu sehen sein
Code
Alles anzeigenTextdraw Erstellen: loginTD[playerid][0] = CreatePlayerTextDraw(playerid, 280.000000, 70.000000, "Preview_Model"); PlayerTextDrawFont(playerid, loginTD[playerid][0], 5); PlayerTextDrawLetterSize(playerid, loginTD[playerid][0], 0.600000, 2.000000); PlayerTextDrawTextSize(playerid, loginTD[playerid][0], 73.000000, 103.500000); PlayerTextDrawSetOutline(playerid, loginTD[playerid][0], 0); PlayerTextDrawSetShadow(playerid, loginTD[playerid][0], 0); PlayerTextDrawAlignment(playerid, loginTD[playerid][0], 1); PlayerTextDrawColor(playerid, loginTD[playerid][0], -1); PlayerTextDrawBackgroundColor(playerid, loginTD[playerid][0], 125); PlayerTextDrawBoxColor(playerid, loginTD[playerid][0], 255); PlayerTextDrawUseBox(playerid, loginTD[playerid][0], 0); PlayerTextDrawSetProportional(playerid, loginTD[playerid][0], 1); PlayerTextDrawSetSelectable(playerid, loginTD[playerid][0], 0); PlayerTextDrawSetPreviewModel(playerid, loginTD[playerid][0], 1); PlayerTextDrawSetPreviewRot(playerid, loginTD[playerid][0], -10.000000, 0.000000, -20.000000, 1.000000); Anzeigen: for(new i = 0; i < sizeof(loginTD[]); i++) PlayerTextDrawShow(playerid, loginTD[playerid][i]); Anderen Skin Anzeigen nach dem Anzeigen: PlayerTextDrawSetPreviewModel(playerid, loginTD[playerid][0], PlayerInfo[playerid][pSkin]);
-
</MRX>
Habe mir deinen Code nicht genau angeschaut aber verstehe auch das Problem aktuell nicht. Weisst du prinzipiell nicht, wie das Model geändert wird oder hast du es probiert und es funktioniert nicht richtig? Wenn zweiteres, was genau funktioniert nicht?
https://sampwiki.blast.hk/wiki/PlayerTextDrawSetPreviewModel -
Moin,
wie ändere ich beim Textdraw das Preview Model nach dem Erstellen?
Also der Skin wird aus der Datenbank geladen, dann soll er da im Textdraw zu sehen sein
Code
Alles anzeigenTextdraw Erstellen: loginTD[playerid][0] = CreatePlayerTextDraw(playerid, 280.000000, 70.000000, "Preview_Model"); PlayerTextDrawFont(playerid, loginTD[playerid][0], 5); PlayerTextDrawLetterSize(playerid, loginTD[playerid][0], 0.600000, 2.000000); PlayerTextDrawTextSize(playerid, loginTD[playerid][0], 73.000000, 103.500000); PlayerTextDrawSetOutline(playerid, loginTD[playerid][0], 0); PlayerTextDrawSetShadow(playerid, loginTD[playerid][0], 0); PlayerTextDrawAlignment(playerid, loginTD[playerid][0], 1); PlayerTextDrawColor(playerid, loginTD[playerid][0], -1); PlayerTextDrawBackgroundColor(playerid, loginTD[playerid][0], 125); PlayerTextDrawBoxColor(playerid, loginTD[playerid][0], 255); PlayerTextDrawUseBox(playerid, loginTD[playerid][0], 0); PlayerTextDrawSetProportional(playerid, loginTD[playerid][0], 1); PlayerTextDrawSetSelectable(playerid, loginTD[playerid][0], 0); PlayerTextDrawSetPreviewModel(playerid, loginTD[playerid][0], 1); PlayerTextDrawSetPreviewRot(playerid, loginTD[playerid][0], -10.000000, 0.000000, -20.000000, 1.000000); Anzeigen: for(new i = 0; i < sizeof(loginTD[]); i++) PlayerTextDrawShow(playerid, loginTD[playerid][i]); Anderen Skin Anzeigen nach dem Anzeigen: PlayerTextDrawSetPreviewModel(playerid, loginTD[playerid][0], PlayerInfo[playerid][pSkin]);
skin mit der enum veriable aus der db laden dann zb..
CodePlayerInfo what ever[playerid][pSkin] = cache_get_field_content_int(0, "skin oder model what ever");
CodePlayerTextDrawSetPreviewModel(playerid,loginTD[playerid][0],PlayerInfo what ever[playerid][pSkin]);
und dann das Textdraw anzeigen WICHTIG! nicht vorher erst nach dem der Skin geladen wurde und PlayerTextDrawSetPreviewModel gesetzt wurde
LG
-
</MRX>
Habe mir deinen Code nicht genau angeschaut aber verstehe auch das Problem aktuell nicht. Weisst du prinzipiell nicht, wie das Model geändert wird oder hast du es probiert und es funktioniert nicht richtig? Wenn zweiteres, was genau funktioniert nicht?
https://sampwiki.blast.hk/wiki/PlayerTextDrawSetPreviewModeles wird angezeigt aber die PlayerTextDrawSetPreviewModel wird nicht geändert ich lasse aus der datenbank mir ein skin setzen aber das PlayerTextDrawSetPreviewModel ändert denn skin nicht auf dem server
-
es wird angezeigt aber die PlayerTextDrawSetPreviewModel wird nicht geändert ich lasse aus der datenbank mir ein skin setzen aber das PlayerTextDrawSetPreviewModel ändert denn skin nicht auf dem server
ohne jetzt alles davor gelesen zu haben, Aber lässt du nach dem änderten des Modells das textdraw ausblenden und dann wieder erneut anzeigen ? Als Update Funktion. Wurde im Beitrag vorher aber auch gesagt.Lg
-
Man verändert erst die werte dann lässt man es die playerid anzeigen da braucht man vorher nicht schon anziegen lassen
-
-
Sorry für die Späte Antwort, kurz nachdem ich es sowieso bemerkte, las ich @Grosim seinen Beitrag und finde auch dass er Recht hat.
Zeig mal bitte den Quellcode, wo du den Skin "temporär" setzt bzw. den Code, wo die Funktion mit dem Skin Wechseln ist.
CodeAnderen Skin Anzeigen nach dem Anzeigen: PlayerTextDrawSetPreviewModel(playerid, loginTD[playerid][0], PlayerInfo[playerid][pSkin]);
wo setzt du pSkin & da reicht eigentlich eine PVar, je nachdem, wo du den Skin-Textdraw updaten lässt sowie den Skin selber.. zeig das mal bitte
-
Man verändert erst die werte dann lässt man es die playerid anzeigen da braucht man vorher nicht schon anziegen lassen
Völlig richtig, aber bei seinem Text ist davon auszugehen das er es vorher schon anzeigt.
Kann viele Gründe haben. Wenn du zbs ne Skinwahl mit Pfeilen erstellst muss dies dann ja auch geupdated werden.LG
-
Moin das ganze läd trotz einstellung bisschen komischen:
Codestatic Float:STREAMDISTANCE = 350.0; static Float:DRAWDISTANCE = 1000.0; KRANKENHAUS_LS[0] = CreateDynamicObject(18981, 1173.3597, -1364.8321, 12.0396, 0.0000, 90.0000, 0.0000, VW_KRANKENHAUS, MAPS_KRANKENHAUS, .streamdistance = STREAMDISTANCE, .drawdistance = DRAWDISTANCE); //Concrete1mx25mx25m SetDynamicObjectMaterial(KRANKENHAUS_LS[0], 0, 10765, "airportgnd_sfse", "desgreengrass", 0xFFFFFFFF);
-
Völlig richtig, aber bei seinem Text ist davon auszugehen das er es vorher schon anzeigt.
Kann viele Gründe haben. Wenn du zbs ne Skinwahl mit Pfeilen erstellst muss dies dann ja auch geupdated werden.LG
Ich ging aber von ein Login/Register Fenster aus, daher meine veriante
-
-
Du hast in Zeile 5 einfach nur die playerid als ersten Parameter vergessen.
Falls du jedoch etwas anderes Abfragen willst, hier nochmal ne Kurzfassung:
Bestimme Area abfragen:
Es gibt IsPlayerInDynamicArea mit zwei parametern playerid & areaid, damit kannst du abfragen ob der Spieler in einer bestimmten Area ist.
Wenn du allerdings abfragen willst, ob der Spieler in irgendeiner Area ist, kannst du IsPlayerInAnyDynamicArea verwenden, dort brauchst du nur die playerid.
Hier nochmal zum Nachschlagen:
-
Moin das ganze läd trotz einstellung bisschen komischen:
Was bedeutet das?
Jetzt mal im Ernst hast du es nach 5 Jahren immer noch nicht gelernt solche Fehler richtig zu beschreiben?
Hier mal eine Liste, was es bedeuten könnte:
- Lädt gar nicht.
- Lädt langsam.
- Objekte haben die falsche Textur.
- Objekte haben gar keine Textur.
- Objekte haben keine Kollision.
- Objekte flackern.
- Objekte sind an der falschen Position.
- Erscheint viel zu früh.
- Erscheint viel zu spät.
Diese Liste ist quasi endlos, was es alles für Möglichkeiten gibt, was du mit "läd komisch" meinen könntest.
Werde doch mal konkret und am Besten immer F5 drücken wenn man schon so ein Bild macht, weil da die wesentlichen Infos gleich mitgeliefert werden.
-
Moin, habe leider das Problem das ich meine Datenbank im Script erstellen möchte und somit einen recht langen String brauche.
Um dieses String hier zu erstellen wird sehr viel vom Stack benötigt, hier nochmal die Infos dazu:
C
Alles anzeigenPawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase Header size: 2836 bytes Code size: 71848 bytes Data size: 59308 bytes Stack/heap size: 16384 bytes; estimated max. usage=5051 cells (20204 bytes) Total requirements: 150376 bytes SERVER LOG: [debug] Run time error 3: "Stack/heap collision (insufficient stack size)" [debug] Stack pointer (STK) is 0xD928, heap pointer (HEA) is 0xE7AC [debug] AMX backtrace: [debug] #0 0000977c in ?? () in altis-life.amx [debug] #1 00006a9c in public SSCANF_OnGameModeInit () in altis-life.amx [debug] #2 00000e98 in public zcmd_OnGameModeInit () in altis-life.amx [debug] #3 native CallLocalFunction () in samp-server.exe [debug] #4 0000977c in ?? () in altis-life.amx [debug] #5 00006a9c in public SSCANF_OnGameModeInit () in altis-life.amx [debug] #6 00000e98 in public BCRYPT_OnGameModeInit () in altis-life.amx [debug] #7 native CallLocalFunction () in samp-server.exe [debug] #8 0000977c in ?? () in altis-life.amx [debug] #9 00006a9c in public SSCANF_OnGameModeInit () in altis-life.amx [debug] #10 00000e98 in public OnGameModeInit () in altis-life.amx
Jemand eine Ahnung, wie man sowas Stack/heap effizienter lösen könnte, ohne den Code sehr zu verunstalten?
Code
Alles anzeigen/* * * Diese Funktion erstellt die 'users' Tablle in der Datebank, falls sie noch nicht existiert * Dieses Callback benutzt den Return-Wert nicht. * */ stock CreateUserTable() { new query[2500], query2[2500]; format(query2, sizeof(query2), "\ `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'unique user id',\ `name` VARCHAR(20) NOT NULL COMMENT 'user name (unique)' COLLATE 'utf8mb4_general_ci',\ `password` VARCHAR(61) NOT NULL COMMENT 'password (bcrypt encrypted)' COLLATE 'utf8mb4_general_ci',\ `salt` VARCHAR(11) NOT NULL COMMENT 'unique salt to protect password' COLLATE 'utf8mb4_general_ci',\ `cash` INT(11) NOT NULL DEFAULT '0' COMMENT 'money (cash)',"); format(query2, sizeof(query2), "\ %s`bank` INT(11) NOT NULL DEFAULT '0' COMMENT 'money (on bank-account)',\ `skin` INT(11) NOT NULL DEFAULT '88' COMMENT 'skin model',\ `weapon0` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 0',\ `ammo0` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 0',\ `weapon1` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 1',\ `ammo1` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 1',\ PRIMARY KEY (`id`) USING BTREE", query2); format(query2, sizeof(query2), "\ %s`weapon2` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 2',\ `ammo2` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 2',\ `weapon3` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 3',\ `ammo3` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 3',\ `weapon4` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 4',\ `ammo4` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 4',\ PRIMARY KEY (`id`) USING BTREE", query2); format(query2, sizeof(query2), "\ %s`weapon5` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 5',\ `ammo5` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 5',\ `weapon6` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 6',\ `ammo6` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 6',\ PRIMARY KEY (`id`) USING BTREE", query2); format(query2, sizeof(query2), "\ %s`weapon7` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 7',\ `ammo7` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 7',\ `weapon8` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 8',\ `ammo8` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 8',\ PRIMARY KEY (`id`) USING BTREE", query2); format(query2, sizeof(query2), "\ %s`weapon9` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 9',\ `ammo9` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 9',\ `weapon10` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 10',\ `ammo10` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 10',\ PRIMARY KEY (`id`) USING BTREE", query2); format(query2, sizeof(query2), "\ %s`weapon11` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 11',\ `ammo11` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 11',\ `weapon12` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 12',\ `ammo12` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 12',\ PRIMARY KEY (`id`) USING BTREE", query2); printf("query2: %d", strlen(query2)); // 2311 mysql_format(dbhandle, query, sizeof(query), "CREATE TABLE IF NOT EXISTS `users` (%s)\ COMMENT='all user informations'\ COLLATE='utf8mb4_general_ci'\ ENGINE=InnoDB;", query2); printf("query: %d", strlen(query)); // 2421 mysql_tquery(dbhandle, query); return true; }
PS: Ja, ich kenne #pragma dynamic, dies würde wohl auch funktionieren, jedoch bin ich hier auf der Suche nach anderen Codeansätzen zur Umsetzung.
// EDIT
Grade gemerkt das ich auch noch nen kleinen Copy & Paste Fehler drin hatte, konnte so nun und dank der Hilfe von Kaliber den Code start reduzieren und auch den Stack somit nicht mehr allzudoll zu belasten
Code
Alles anzeigen/* * * Diese Funktion erstellt die 'users' Tablle in der Datebank, falls sie noch nicht existiert * Dieses Callback benutzt den Return-Wert nicht. * */ stock CreateUserTable() { new query[2500]; format(query, sizeof(query), "\ `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'unique user id',\ `name` VARCHAR(20) NOT NULL COMMENT 'user name (unique)' COLLATE 'utf8mb4_general_ci',\ `password` VARCHAR(61) NOT NULL COMMENT 'password (bcrypt encrypted)' COLLATE 'utf8mb4_general_ci',\ `salt` VARCHAR(11) NOT NULL COMMENT 'unique salt to protect password' COLLATE 'utf8mb4_general_ci',\ `cash` INT(11) NOT NULL DEFAULT '0' COMMENT 'money (cash)',"); format(query, sizeof(query), "\ %s`bank` INT(11) NOT NULL DEFAULT '0' COMMENT 'money (on bank-account)',\ `skin` INT(11) NOT NULL DEFAULT '88' COMMENT 'skin model',\ `weapon0` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 0',\ `ammo0` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 0',\ `weapon1` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 1',\ `ammo1` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 1',", query); format(query, sizeof(query), "\ %s`weapon2` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 2',\ `ammo2` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 2',\ `weapon3` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 3',\ `ammo3` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 3',\ `weapon4` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 4',\ `ammo4` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 4',", query); format(query, sizeof(query), "\ %s`weapon5` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 5',\ `ammo5` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 5',\ `weapon6` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 6',\ `ammo6` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 6',\ `weapon7` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 7',\ `ammo7` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 7',", query); format(query, sizeof(query), "\ %s`weapon8` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 8',\ `ammo8` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 8',\ `weapon9` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 9',\ `ammo9` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 9',\ `weapon10` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 10',\ `ammo10` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 10',", query); format(query, sizeof(query), "\ %s`weapon11` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 11',\ `ammo11` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 11',\ `weapon12` INT(11) NOT NULL DEFAULT '0' COMMENT 'weapon slot 12',\ `ammo12` INT(11) NOT NULL DEFAULT '0' COMMENT 'ammo slot 12',\ PRIMARY KEY (`id`) USING BTREE", query); mysql_format(dbhandle, query, sizeof(query), "CREATE TABLE IF NOT EXISTS `users` (%s)\ COMMENT='all user informations'\ COLLATE='utf8mb4_general_ci'\ ENGINE=InnoDB;", query); //printf("query: %d", strlen(query)); // 2271 mysql_tquery(dbhandle, query); return true; }
-
PS: Ja, ich kenne #pragma dynamic, dies würde wohl auch funktionieren, jedoch bin ich hier auf der Suche nach anderen Codeansätzen zur Umsetzung.
Also grundsätzlich ist das nicht einmal schlimm, es vergrößert halt nur deine .amx und es muss mehr Speicher eingeräumt werden.
Aber bei deinem Beispiel kann man query2 weglassen. Kannst den Code 1:1 so lassen und nur query nutzen und das funktioniert.
Da würdest schon einmal die Hälfte einsparen bei der Speicher-Reservierung
-
Was bedeutet das?
Jetzt mal im Ernst hast du es nach 5 Jahren immer noch nicht gelernt solche Fehler richtig zu beschreiben?
Hier mal eine Liste, was es bedeuten könnte:
- Lädt gar nicht.
- Lädt langsam.
- Objekte haben die falsche Textur.
- Objekte haben gar keine Textur.
- Objekte haben keine Kollision.
- Objekte flackern.
- Objekte sind an der falschen Position.
- Erscheint viel zu früh.
- Erscheint viel zu spät.
Diese Liste ist quasi endlos, was es alles für Möglichkeiten gibt, was du mit "läd komisch" meinen könntest.
Werde doch mal konkret und am Besten immer F5 drücken wenn man schon so ein Bild macht, weil da die wesentlichen Infos gleich mitgeliefert werden.
Habe das Problem schon längst behoben alles inordnung. Habe erwas vergessen einzubauen