Server startet nicht mehr [Crashdetect]

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
  • Seit heute morgen um 7 Uhr startet mein Server nicht mehr. Ich habe bisschen am Haus-System gearbeitet und crashdetect spuckt folgendes aus:


    Code
    [09:26:30] [debug] #0 native mysql_fetch_field () from MySQL.so
    [09:26:30] [debug] #1 00086a60 in public LoadProperty () from IR.amx
    [09:26:30] [debug] #2 000d8960 in public Itter_OnGameModeInit () from IR.amx
    [09:26:30] [debug] #3 native CallLocalFunction () from samp03svr
    [09:26:30] [debug] #4 000024dc in public OnGameModeInit () from IR.amx


    An der Stelle, wo eigentlich LoadProperty aufgerufen werden soll, wird nichts mehr in die serverlog eingetragen. Hier der Code von LoadProperty



    public LoadProperty()
    {
    new string[128];
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `houses` WHERE `HouseID` = '%d'", i);
    mysql_query(string);
    mysql_store_result();
    if(mysql_num_rows() != 0)
    {
    new val[ 256 ];
    mysql_fetch_field("Owner", val); strmid(HouseInfo[i][hOwner], val, 0, strlen(val), 255);
    mysql_fetch_field("Beschreibung", val); strmid(HouseInfo[i][hBeschreibung], val, 0, strlen(val), 255);
    mysql_fetch_field("Preis", val); HouseInfo[i][hPreis] = strval( val );
    mysql_fetch_field("HealUpgrade", val); HouseInfo[i][hHealUpgrade] = strval( val );
    mysql_fetch_field("ArmorUpgrade", val); HouseInfo[i][hArmorUpgrade] = strval( val );
    mysql_fetch_field("Lock", val); HouseInfo[i][hLock] = strval( val );
    mysql_fetch_field("Owned", val); HouseInfo[i][hOwned] = strval( val );
    mysql_fetch_field("Rooms", val); HouseInfo[i][hRooms] = strval( val );
    mysql_fetch_field("Rent", val); HouseInfo[i][hRent] = strval( val );
    mysql_fetch_field("Rentabil", val); HouseInfo[i][hRentabil] = strval( val );
    mysql_fetch_field("Kasse", val); HouseInfo[i][hKasse] = strval( val );
    //mysql_fetch_field("Date", val); HouseInfo[i][hDate] = strval( val );
    mysql_fetch_field("Level", val); HouseInfo[i][hLevel] = strval( val );
    mysql_fetch_field("VW", val); HouseInfo[i][hVW] = strval( val );
    mysql_fetch_field("Local", val); HouseInfo[i][hLocal] = strval ( val );
    }
    mysql_free_result();
    }
    return 1;
    }


    printf's werden bis 5: mysql_num_rows() != 0 in die Serverlog geschrieben.


    Ich hoffe das mir jemand helfen kann, einige Spieler und ich würde uns über eure Hilfe sehr freuen!


    Edit: Ich habe mal LoadProperty und OnPropUpdate ausgeklammert, dann schmeißt Crashdetect das selbe bei LoadBiz raus oder auch CreateGangAutos (an beiden den System habe ich garnichts gemacht). Wie könnte ich den Fehler weiter eingrenzen?
    Edit 2: Ich entschuldige mich für die Edits, habe jetzt die angeblich betroffenen Zeilen:



    //14916mysql_fetch_field("Owner", val); strmid(HouseInfo[i][hOwner], val, 0, strlen(val), 255);


    LoadProperty();printf("OnGamemodeInt: LoadProperty");//18093:



    Liebe Grüße
    Crowley

    4 Mal editiert, zuletzt von varrez () aus folgendem Grund: Siehe Edit 3

  • Beitrag von varrez ()

    Dieser Beitrag wurde von dennismitzwein gelöscht ().
  • Code
    error 017: undefined symbol "mysql_retrieve_row

    Übrings benutzen wir das MySQL-Plugin von StrickenKid (2.1.1)



    public LoadProperty()
    {
    printf("1: Load Property Anfang");
    new string[128];
    printf("2: String erstellt");
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    printf("3: Schleife");
    format(string, sizeof(string),"SELECT * FROM `houses` WHERE `HouseID` = '%d'", i);
    printf("4: Select: %s", i);
    mysql_query(string);
    printf("5: mysql_query: %s", string);
    mysql_store_result();
    printf("6: store result");
    if(mysql_num_rows() != 0)
    {
    new val[ 512 ];
    printf("8: val erstellt");
    mysql_fetch_field("Owner", val); strmid(HouseInfo[i][hOwner], val, 0, strlen(val), 255);
    mysql_fetch_field("Beschreibung", val); strmid(HouseInfo[i][hBeschreibung], val, 0, strlen(val), 255);
    mysql_fetch_field("Preis", val); HouseInfo[i][hPreis] = strval( val );
    mysql_fetch_field("HealUpgrade", val); HouseInfo[i][hHealUpgrade] = strval( val );
    mysql_fetch_field("ArmorUpgrade", val); HouseInfo[i][hArmorUpgrade] = strval( val );
    mysql_fetch_field("Lock", val); HouseInfo[i][hLock] = strval( val );
    mysql_fetch_field("Owned", val); HouseInfo[i][hOwned] = strval( val );
    mysql_fetch_field("Rooms", val); HouseInfo[i][hRooms] = strval( val );
    mysql_fetch_field("Rent", val); HouseInfo[i][hRent] = strval( val );
    mysql_fetch_field("Rentabil", val); HouseInfo[i][hRentabil] = strval( val );
    mysql_fetch_field("Kasse", val); HouseInfo[i][hKasse] = strval( val );
    //mysql_fetch_field("Date", val); HouseInfo[i][hDate] = strval( val );
    mysql_fetch_field("Level", val); HouseInfo[i][hLevel] = strval( val );
    mysql_fetch_field("VW", val); HouseInfo[i][hVW] = strval( val );
    mysql_fetch_field("Local", val); HouseInfo[i][hLocal] = strval ( val );
    printf("10: mysql_num_rows Ende");
    }
    mysql_free_result();
    printf("11: Fertig");
    }
    return 1;
    }


    Bis printf("8: val erstellt"); geht's :(
    Bei printf(4: Select: %s", i); wird nichts ausgegeben


    Gruß und danke schon einmal vorab für deine Hilfe! :)

  • Ich frage mich aber, wieso es nicht mehr geht, weil vorher ging es ja auch ?(


    Das mit new dest[256]; bringt zwar was, aber nach Haus 5 wird ebenfalls nichts mehr in die server_log geschrieben.. auch nichts mehr vom crashdetect :/



    Gruß


  • public LoadProperty()
    {
    new string[128];
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `houses` WHERE `HouseID` = '%d'", i);
    printf("1: Select: %s", i);
    mysql_query(string);
    printf("2: mysql_query: %s", string);
    mysql_store_result();
    if(mysql_num_rows() != 0)
    {
    new dest[256];
    mysql_fetch_row(dest);
    new val[ 512 ];
    printf("3: val erstellt");
    mysql_fetch_field("Owner", val); strmid(HouseInfo[i][hOwner], val, 0, strlen(val), 255);
    printf("4: Owner: %s", HouseInfo[i][hOwner]);
    mysql_fetch_field("Beschreibung", val); strmid(HouseInfo[i][hBeschreibung], val, 0, strlen(val), 255);
    mysql_fetch_field("Preis", val); HouseInfo[i][hPreis] = strval( val );
    mysql_fetch_field("HealUpgrade", val); HouseInfo[i][hHealUpgrade] = strval( val );
    mysql_fetch_field("ArmorUpgrade", val); HouseInfo[i][hArmorUpgrade] = strval( val );
    mysql_fetch_field("Lock", val); HouseInfo[i][hLock] = strval( val );
    mysql_fetch_field("Owned", val); HouseInfo[i][hOwned] = strval( val );
    mysql_fetch_field("Rooms", val); HouseInfo[i][hRooms] = strval( val );
    mysql_fetch_field("Rent", val); HouseInfo[i][hRent] = strval( val );
    mysql_fetch_field("Rentabil", val); HouseInfo[i][hRentabil] = strval( val );
    mysql_fetch_field("Kasse", val); HouseInfo[i][hKasse] = strval( val );
    //mysql_fetch_field("Date", val); HouseInfo[i][hDate] = strval( val );
    mysql_fetch_field("Level", val); HouseInfo[i][hLevel] = strval( val );
    mysql_fetch_field("VW", val); HouseInfo[i][hVW] = strval( val );
    mysql_fetch_field("Local", val); HouseInfo[i][hLocal] = strval ( val );
    printf("5: mysql_num_rows Ende");
    }
    mysql_free_result();
    printf("6: Fertig");
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Dann versuche es bitte mal so:
    public LoadProperty()
    {
    printf("1: Start");
    new dest[256], val[512];
    mysql_query("SELECT * FROM `houses`");
    printf("2: mysql_query: SELECT * FROM `houses`");
    mysql_store_result();
    for(new i=0, j=mysql_num_rows(); i < j; i++)
    {
    mysql_fetch_row(dest);
    printf("3: val erstellt für i = %d", i);
    mysql_fetch_field("Owner", val); strmid(HouseInfo[i][hOwner], val, 0, strlen(val), 255);
    printf("4: Owner: %s", HouseInfo[i][hOwner]);
    mysql_fetch_field("Beschreibung", val); strmid(HouseInfo[i][hBeschreibung], val, 0, strlen(val), 255);
    mysql_fetch_field("Preis", val); HouseInfo[i][hPreis] = strval( val );
    mysql_fetch_field("HealUpgrade", val); HouseInfo[i][hHealUpgrade] = strval( val );
    mysql_fetch_field("ArmorUpgrade", val); HouseInfo[i][hArmorUpgrade] = strval( val );
    mysql_fetch_field("Lock", val); HouseInfo[i][hLock] = strval( val );
    mysql_fetch_field("Owned", val); HouseInfo[i][hOwned] = strval( val );
    mysql_fetch_field("Rooms", val); HouseInfo[i][hRooms] = strval( val );
    mysql_fetch_field("Rent", val); HouseInfo[i][hRent] = strval( val );
    mysql_fetch_field("Rentabil", val); HouseInfo[i][hRentabil] = strval( val );
    mysql_fetch_field("Kasse", val); HouseInfo[i][hKasse] = strval( val );
    //mysql_fetch_field("Date", val); HouseInfo[i][hDate] = strval( val );
    mysql_fetch_field("Level", val); HouseInfo[i][hLevel] = strval( val );
    mysql_fetch_field("VW", val); HouseInfo[i][hVW] = strval( val );
    mysql_fetch_field("Local", val); HouseInfo[i][hLocal] = strval ( val );
    printf("5: mysql_num_rows Ende");
    }
    mysql_free_result();
    printf("6: Fertig");
    return 1;
    }

  • Code
    [18:11:34] [MySQL] Connected (0) to 'XXX'@'127.0.0.1 via TCP/IP'.
    [18:11:34] [MySQL] Server Version 5.6.34.
    [18:11:34] Geschenke wurden neu gespawnt
    [18:11:34] 1: Start
    [18:11:34] 2: mysql_query: SELECT * FROM `houses`
    [18:11:34] 3: val erstellt für i = 0
    [18:11:34] 4: Owner: Staat
    [18:11:34] 5: mysql_num_rows Ende
    [18:11:34] [debug] Server crashed while executing IR.amx
  • Nichts, hier die ganze Log


  • Am Code dürfte das nicht liegen, vor allem da es ja teilweise für einen kompletten Durchlauf (bis 5) funktioniert hat.
    Da auch keine Fehlermeldung vom crashdetect kommt, liegt das wohl am Plugin.


    Ich rate dir, auch unabhängig von dem Fehler, das Plugin von BlueG bzw. maddinat0r zu nutzen.
    Zu deinem Plugin passt das R5 ziemlich gut, da sind nur minimale Anpassungen notwendig.


    Link:
    MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)

  • Inwiefern minimale Anpassungen?


    Ich frage mich halt nur, wieso es auf einmal nicht mehr geht oder wodurch. Bis Gestern hatten wir das Script mehrere Monate am laufen, ohne solche Probleme und Änderungen bzgl. Speichern/Laden..


    Gruß

  • Inwiefern minimale Anpassungen?

    Ich habe das nur einmal gemacht, das ist soweit ich mich erinnern kann vor allem der Aufbau der Verbindung, der anders ist, sprich das mysql_init() fällt weg, und das mysql_connect ist anders angeordnet in seinen Parametern.
    Das geht recht schnell (<1h).


    Mache aber vorher ein Backup, falls danach noch weniger tut.

  • Ich habe gerade die Haus Datenbank geleert und den Server restartet, dann schien alles wieder zu gehen (alle Häuser etc. wurden geladen). Hier einmal die Server Log




    Wenn er CreateGangAutos(); aufrufen möchte, hängts dann wieder, OnGameModeInit wird also nicht ganz durchlaufen wodurch andere Sachen dann dementsprechend auch nicht gehen.


    Hier einmal OnGameModeInit
    public OnGameModeInit()
    {
    CreateDynamicObject(18750,221.14,1761.49, 42.12,90.00,0.00,20.33,1337);
    MySQLConnection = mysql_init();
    mysql_connect(MySQL_Host, MySQL_User, MySQL_Passwort, MySQL_DB, MySQLConnection);
    GeschenkeSpawnen();
    GStimer = SetTimer("GeschenkeSpawnen", GESCHENK_ZEIT*60*1000,1);
    new string[MAX_PLAYER_NAME],
    string1[MAX_PLAYER_NAME],
    string2[256];
    LoadProperty();
    printf("OnGamemodeInt: LoadProperty");
    /*LoadFreunde();
    printf("OnGamemodeInt: LoadFreunde");*/
    LoadBiz();
    printf("OnGamemodeInt: LoadBiz");
    LoadSBiz();
    printf("OnGamemodeInt: LoadSBiz");
    LoadTankenBiz();
    printf("OnGamemodeInt: LoadTankenBiz");
    LoadGangAutos();
    printf("OnGamemodeInt: LoadGangAutos");
    LoadGangBox();
    printf("OnGamemodeInt: LoadGangBox");
    LoadStuff();
    printf("OnGamemodeInt: LoadStuff");
    LoadKassenInfo();
    printf("OnGamemodeInt: LoadKassenInfo");
    LoadGangfightZones();
    printf("OnGamemodeInt: LoadGangfightZones");
    LoadGangWarInfos();
    printf("OnGamemodeInt: LoadGangWarInfos");
    LoadGangBNDInfos();
    printf("OnGamemodeInt: LoadGangBNDInfos");
    CObjecte();
    printf("OnGamemodeInt: Stock CObjecte geladen");
    CDObjecte();
    printf("OnGamemodeInt: Stock CDObjecte geladen");
    OGMCars();
    printf("OnGamemodeInt: Stock OGMCars geladen");
    nodmzonen();
    printf("OnGamemodeInt: Gangzonen wurden erstellt");
    textdrawsogm();
    printf("OnGamemodeInt: Textdraws Geladen");
    AntiDeAMX();
    printf("AntiDeAMX aufgerufen");
    SetGameModeText(""SERVER_TAG" V1.0");
    SendRconCommand("mapname "SERVER_TAG" V1.0");
    printf("OnGamemodeInt: GameModeText & mapname");
    UpdateTime();
    printf("OnGamemodeInt: UpdateTime Geladen");
    CreateGangAutos();
    printf(">>>>> Create3DTexte Beginn <<<<<");
    Create3DTexte();
    printf(">>>>> Create3DTexte Fertig <<<<<");
    SObjecte();
    printf("OnGamemodeInt: SObjecte Geladen");
    OGMPickups();
    printf("OnGamemodeInt: OGMPickups Geladen");
    printf("OnGamemodeInt: Biginne rest zu laden");
    SetNameTagDrawDistance(30.0);
    EnableStuntBonusForAll(0);
    AllowInteriorWeapons(1);
    ShowPlayerMarkers(400);
    AllowAdminTeleport(1);
    DisableInteriorEnterExits();
    ManualVehicleEngineAndLights();
    MenuSkinauswahl = CreateMenu("Skinauswahl", 3, 20.0, 200.0, 160.0, 0.0);
    AddMenuItem(MenuSkinauswahl, 0, "Weiter");
    AddMenuItem(MenuSkinauswahl, 0, "Zuruck");
    AddMenuItem(MenuSkinauswahl, 0, "OK");
    printf("Textdraws erstelt");
    for(new veh = 0; veh < MAX_VEHICLES; veh++){
    Gas[veh] = GasMax;
    VehicleObject[veh] = -1;
    }
    for(new i = 0; i < sizeof(AdminObjects); i++){
    AdminObjects[i][AObjectID] = -1;
    }
    for(new van = 0; van < 20; van++){
    HackerVans[van][MieterID] = -1;
    HackerVans[van][Aktive] = 0;
    }
    for(new i=0;i<MAX_VEHICLES;i++){
    for(new a=0;a!=4;a++){
    VehicleSlot[i][a][WeaponID] = 0;
    VehicleSlot[i][a][vMunition] = 0;
    }
    }
    for(new i = 0; i < sizeof(OffPickup); i++)
    {
    OffPickup[i][OffErstellt] = 0;
    OffPickup[i][OffZeit] = -1;
    OffPickup[i][OffStatus] = 0;
    DestroyPickup(OffPickup[i][OffPickupID]);
    Delete3DTextLabel(Text3D:OffLabelID[i]);
    }
    News[hTaken1] = 0; News[hTaken2] = 0; News[hTaken3] = 0; News[hTaken4] = 0; News[hTaken5] = 0;
    format(string, sizeof(string), "Nothing");
    strmid(News[hAdd1], string, 0, strlen(string), 255);
    strmid(News[hAdd2], string, 0, strlen(string), 255);
    strmid(News[hAdd3], string, 0, strlen(string), 255);
    strmid(News[hAdd4], string, 0, strlen(string), 255);
    strmid(News[hAdd5], string, 0, strlen(string), 255);
    format(string1, sizeof(string1), "Niemand");
    strmid(News[hContact1], string1, 0, strlen(string1), 255);
    strmid(News[hContact2], string1, 0, strlen(string1), 255);
    strmid(News[hContact3], string1, 0, strlen(string1), 255);
    strmid(News[hContact4], string1, 0, strlen(string1), 255);
    strmid(News[hContact5], string1, 0, strlen(string1), 255);
    PlayerHaul[1][pCapasity] = 150;
    PlayerHaul[2][pCapasity] = 150;
    PlayerHaul[3][pCapasity] = 150;
    PlayerHaul[4][pCapasity] = 150;
    PlayerHaul[5][pCapasity] = 75;
    PlayerHaul[6][pCapasity] = 75;
    PlayerHaul[7][pCapasity] = 75;
    for(new i = 0; i < sizeof(KorierVans); i++){
    KorierVans[i][KRVermietet] = 0;
    KorierVans[i][KRMieterID] = -1;
    KorierVans[i][KRZiehlHaus] = -1;
    KorierVans[i][KRMoney] = 0;
    }
    for(new DBID = 0; DBID < sizeof(DropBoxInfo); DBID++){
    DropBoxInfo[DBID][DBPickupID] = -1;
    }
    for(new i = 0; i < sizeof(AdminCar); i++){
    AdminCar[i][ATOOwnerID] = -1;
    }
    for(new i = 0; i < sizeof(Kaufliste); i++){
    Kaufliste[i][Carid] = CreateVehicle(Kaufliste[i][Modelid],Kaufliste[i][pos_x],Kaufliste[i][pos_y],Kaufliste[i][pos_z],Kaufliste[i][z_angle],-1,-1,-1);
    }
    for(new i = 0; i < sizeof(GangAutoKaufliste); i++){
    new KauflisteString[512];
    GangAutoKaufliste[i][GACarid] = CreateVehicle(GangAutoKaufliste[i][GAModelid],GangAutoKaufliste[i][GApos_x],GangAutoKaufliste[i][GApos_y],GangAutoKaufliste[i][GApos_z],GangAutoKaufliste[i][GAz_angle],-1,-1,1500);
    format(KauflisteString, sizeof(KauflisteString), "Name: %s\nPreis: %s$\nReparaturkosten: %s$", GangAutoKaufliste[i][GAName], GetPoint(GangAutoKaufliste[i][GAPreis]), GetPoint(GangAutoKaufliste[i][GAReparatur]));
    Create3DTextLabel(KauflisteString, 0x21DD00FF, GangAutoKaufliste[i][GApos_x], GangAutoKaufliste[i][GApos_y], GangAutoKaufliste[i][GApos_z]+0.50,10.0,0,1);
    SetVehicleVirtualWorld(GangAutoKaufliste[i][GACarid],0);
    LinkVehicleToInterior(GangAutoKaufliste[i][GACarid],0);
    }
    for(new h = 0; h < sizeof(AutomatikPortInfo); h++){
    new apname[64];
    AutomatikPortInfo[h][APAusgangPickup] = CreatePickup(1559, 23, AutomatikPortInfo[h][APAusgangX], AutomatikPortInfo[h][APAusgangY], AutomatikPortInfo[h][APAusgangZ],-1);
    AutomatikPortInfo[h][APEingangPickup] = CreatePickup(AutomatikPortInfo[h][APPickup], 23, AutomatikPortInfo[h][APEingangX], AutomatikPortInfo[h][APEingangY], AutomatikPortInfo[h][APEingangZ]+0.2,-1);
    format(apname, sizeof(apname), "{7DFF00}%s\n{FFFFFF}Automatischer Port", AutomatikPortInfo[h][APName]);
    Create3DTextLabel(apname, 0x91FF00FF, AutomatikPortInfo[h][APEingangX], AutomatikPortInfo[h][APEingangY], AutomatikPortInfo[h][APEingangZ]+0.50,10.0,0,1);
    }
    Waffentransporter[1] = CreateVehicle(414, 2618.7483, -2223.7781, 13.3512, 89.6388, -1, -1, 100);
    Waffentransporter[2] = CreateVehicle(414, 2618.4583, -2229.2229, 13.3512, 89.6388, -1, -1, 100);
    Waffentransporter[3] = CreateVehicle(414, 2611.1052, -2223.7903, 13.3512, 89.6388, -1, -1, 100);
    Waffentransporter[4] = CreateVehicle(414, 2610.8577, -2229.2346, 13.3512, 89.6388, -1, -1, 100);
    Waffentransporter[5] = CreateVehicle(414, 2603.6233, -2223.7773, 13.3512, 89.6388, -1, -1, 100);
    Waffentransporter[6] = CreateVehicle(414, 2603.3562, -2229.2625, 13.3512, 89.6388, -1, -1, 100);
    Waffentransporter[7] = CreateVehicle(414, 2595.7329, -2223.7896, 13.3512, 89.6388, -1, -1, 100);
    Waffentransporter[8] = CreateVehicle(414, 2595.3958, -2229.1082, 13.3512, 89.6388, -1, -1, 100);
    for(new h = 0; h < sizeof(GangHausInfo); h++){
    format(string2, sizeof(string2), "Dieses Haus gehört:\n{005FFF}%s",GangHausInfo[h][GHGangName]);
    Create3DTextLabel(string2,COLOR_WHITE,GangHausInfo[h][GHEingangX],GangHausInfo[h][GHEingangY],GangHausInfo[h][GHEingangZ]+1.0,15.0,0,0);
    CreatePickup(1239, 23, GangHausInfo[h][GHEingangX], GangHausInfo[h][GHEingangY], GangHausInfo[h][GHEingangZ]);
    }
    for(new SlotID = 0; SlotID < sizeof(RentSystemInfo); SlotID++){
    RentSystemInfo[SlotID][RSCarID] = CreateVehicle(RentSystemInfo[SlotID][RSModelID],RentSystemInfo[SlotID][RSX],RentSystemInfo[SlotID][RSY],RentSystemInfo[SlotID][RSZ],RentSystemInfo[SlotID][RSRotZ],1,1,300);
    }
    for(new i = 0; i < sizeof(EightBallTrackCars); i++){
    LinkVehicleToInterior(EightBallTrackCars[i], 7);
    SetVehicleVirtualWorld(EightBallTrackCars[i], 10);
    }
    for(new i = 0; i < sizeof(DerbyArenaCars); i++){
    LinkVehicleToInterior(DerbyArenaCars[i], 15);
    SetVehicleVirtualWorld(DerbyArenaCars[i], 10);
    }
    for(new i = 0; i < sizeof(DirtTrackCars); i++){
    LinkVehicleToInterior(DirtTrackCars[i], 4);
    SetVehicleVirtualWorld(DirtTrackCars[i], 10);
    }
    for(new i = 0; i < sizeof(StuntingCars); i++){
    LinkVehicleToInterior(StuntingCars[i], 14);
    SetVehicleVirtualWorld(StuntingCars[i], 10);
    }


    //---------------------------------------------------------------------------------------------
    for(new i = 0; i < sizeof(GangBoxSystem); i++)
    {
    CreateObject(964,GangBoxSystem[i][GWSObjectPosX],GangBoxSystem[i][GWSObjectPosY],GangBoxSystem[i][GWSObjectPosZ],0,0,GangBoxSystem[i][GWSObjectPosRot]);
    }
    for(new i = 0; i < sizeof(SprunkSystemInfo); i++){
    CreateDynamicObject(1775, SprunkSystemInfo[i][SSX],SprunkSystemInfo[i][SSY],SprunkSystemInfo[i][SSZ],SprunkSystemInfo[i][SSRotX],SprunkSystemInfo[i][SSRotY],SprunkSystemInfo[i][SSRotZ]);
    }
    alGate = CreateObject(980, -220.1714, 2613.0977, 64.4015, 0.0, 0.0, 0.0, 100.0);


    Create3DTextLabel("Pig Pen\nZum betreten: 'N' drücken", COLOR_WHITE, 2421.5386,-1220.1390,25.5038, 20.0, 0);
    Create3DTextLabel("Nutze '/tresorrob' um das Dynamit anzubringen.\nfür Cops '/defuse'\n\nDesktop/ESC gehen Verboten.",COLOR_WHITE,-1978.8785,440.0459,26.7860,20.0,0); //SF
    Create3DTextLabel("Nutze '/tresorrob' um das Dynamit anzubringen.\nfür Cops '/defuse'\n\nDesktop/ESC gehen Verboten.",COLOR_WHITE,307.8822,-1489.5341,24.5938,20.0,0); //LS
    Create3DTextLabel("Nutze '/tresorrob' um das Dynamit anzubringen.\nfür Cops '/defuse'\n\nDesktop/ESC gehen Verboten.",COLOR_WHITE, 2486.1528,2357.7495,4.2109,20.0,0); //LV
    Create3DTextLabel("/menu",COLOR_RED,1189.5106,-894.9534,43.2264,10.0,0,0);
    Create3DTextLabel("/ausruestung",COLOR_RED,1218.1097,-1337.5635,3.0900,10.0,0,0);
    //Timer
    printf("OnGamemodeInt: Timer werden geladen");
    SetTimer("SekundenTimer1", 1000, true);
    SetTimer("SekundenTimer3", 950, true);
    SetTimer("SekundenTimer6", 990, true);
    SetTimer("VollgasTimer", 1000, true);
    SetTimer("BlitzTimer", 600, true);
    SetTimer("STDCheck", 30000, true);
    SetTimer("CheckGas", 20000, true);
    SetTimer("MinutenTimer", 60000, true);
    SetTimer("PickupTimer", 1000, true);
    SetTimer("TextdrawBot", 60000, true);
    TextdrawBot();
    printf("OnGamemodeInt: Timer wurden geladen");
    for(new veh = 0; veh < MAX_VEHICLES; veh++)
    {
    if ( veh != INVALID_VEHICLE_ID && veh != -1 )
    {
    SetVehicleToRespawn(veh);
    sirene[veh] = -1;
    sirene1[veh] = -1;
    sirene2[veh] = -1;
    sirene3[veh] = -1;
    }
    }
    printf("OnGamemodeInt: Fahrzeuge wurden respawnt");
    printf(">>>>> Autos wurden erfolgreich respawnt <<<<<");
    printf(">>>>> Server erfolgreich gestartet <<<<<");
    AddPlayerClass(101,1198.8840,-902.8647,48.0625,90, 0, 0, 0, 0, 0, 0);
    AllowConnect = 1;
    return 1;
    }


    und hier CreateGangAutos();
    public CreateGangAutos()
    {
    new string[255];
    printf("1");
    for(new h = 0; h < sizeof(GangAutoInfo); h++)
    {
    printf("2");
    if(GangAutoInfo[h][cTyp] != -1)
    {
    printf("3");
    if(GangAutoInfo[h][cStatus] == 0)
    {
    printf("4");
    GangAutoInfo[h][cID] = CreateVehicle(GangAutoInfo[h][cTyp],GangAutoInfo[h][cPosX],GangAutoInfo[h][cPosY],GangAutoInfo[h][cPosZ],GangAutoInfo[h][cRot],GangAutoInfo[h][cColor1],GangAutoInfo[h][cColor2],GangAutoInfo[h][cReSpawnTime]);
    Gas[GangAutoInfo[h][cID]] = GangAutoInfo[h][cTank];
    format(string, sizeof(string), "{FFFF00}"SERVER_TAG"-{21DD00}%d", GangAutoInfo[h][cID]);
    SetVehicleNumberPlate(GangAutoInfo[h][cID],string);
    }
    }
    }
    GangCarTune();
    return 1;
    }


    Hast du vielleicht eine Idee?


    Edit: Jetzt wo der Server die Datenbank Einträge erstellt hat, kommt es wieder zum Problem das die Häuser nicht geladen werden...


    Gruß

    Einmal editiert, zuletzt von varrez ()

  • [19:34:23] [debug] Attempted to read/write array element at index 65535 in array of size 2000
    [19:34:23] [debug] AMX backtrace:
    [19:34:23] [debug] #0 000b874c in public CreateGangAutos () at C:\Users\Name\Desktop\Script\gamemodes\IR.pwn:15257

    Hier wird das Array gesprengt, das ist der Fehler in CreateGangAutos.



    Edit: Jetzt wo der Server die Datenbank Einträge erstellt hat, kommt es wieder zum Problem das die Häuser nicht geladen werden...

    Da der Code meines Erachtens nach stimmt, ist meine Empfehlung, das Plugin zu wechseln, wie beschrieben.

  • Ich werde es wohl Updaten, aber ich möchte das vorher unbedingt noch Lösen, nennen wir es Ehrgeizig:P


    Ich verstehe nicht warum es geht wenn die Häuser Datenbank geleert ist und sobald sie beschrieben wurde er wieder nur bis Haus 5 lädt. Und warum das Array gesprengt wird, verstehe ich jetzt auch absolut nicht.