Beiträge von varrez

    Ich schreibe dir Morgen eine PN und Editiere es hier in das Thema, bin gerade leider nicht am Rechner.


    Edit: Am Plugin kann es das ganze eigentlich nicht liegen, denn eine ältere Script Version funktioniert ohne Probleme :/


    Das ist die betroffene Zeile von CreateGangAutos();:


    Gas[GangAutoInfo[h][cID]] = GangAutoInfo[h][cTank];

    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.

    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ß

    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ß

    Nichts, hier die ganze Log


    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


    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;
    }

    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ß

    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! :)

    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

    Bin auch dafür. Ich achte immer auf die letzten 10 Beiträge und auf die Spalte "Forum", so komme ich oft in eine Scipting Base von GTA:N oder MTA. Vielleicht die verschiedenen Scripting-Base Foren nochmal deutlich durch "Scripting Base (GTA:N)", "Scriptingbase (SA:MP)", "Scripting Base (MTA)" kennzeichnen, um Verwechslungen zu vermeiden.


    Gruß

    Warum auch immer, aber es geht wieder (die Befehle), ob jetzt auch das Problem gelöst ist, dass die eine Person mehr als 60 Payday Minuten bekommen hat, muss ich erst noch testen, aber ich bedanke mich vielmals für die Hilfe (auch wenn ich jetzt nicht weiß, was jetzt wirklich das Problem war, ging einfach wieder). Danke!


    Wenn es dbzgl. noch Probleme gibt, werde ich mein Beitrag hier editieren.


    Gruß
    Crowley :)



    Edit: Jetzt buggt es wieder... ich werd wirklich langsam verrückt :evil:
    Ich melde ich so gegen 18, 18:30 bei dir inordnung?

    Am besten mal crashdetect reinhauen und schauen, ob was ausgegeben wird :)

    Das erhalte ich:


    Warum nimmst du dann nicht die PayDay Funktion aus deinem Backup, fügst die neuen sachen Stück für Stück hinzu und testest es?
    Es dauert zwar, aber dafür hast du es dann gefixxt.

    Weil ich am PayDay nichts gemacht habe. Payday an sich funktioniert ja, alle bekommen jede Stunde ihren Payday, nur bei einer Person setzen sich beim Payday die Payday Minuten auf 60 und zählen dann weiter hoch. Dazu eben auch noch das /paydayall und /paydayinmyrange nicht funktionieren und komischerweiße eben auch der ocmd Test Befehl.

    Am Ende von OnPlayerCommandText musst du 0 returnen- siehe SA:MP Wiki.

    Habs mal ausprobiert, egal ob 0 oder 1, alle Befehle funktionieren, nur die besagten nicht :/


    :(

    Was returnst du am Ende von "OnPlayerCommandText"?

    return 1;


    Edit: Habe nun mal einen neuen Command (omcd) erstellt, um es zu testen, einmal so (funktioniert nicht):


    ocmd:givemepayday(playerid, params[])
    {
    PayDay(playerid);
    return 1;
    }


    und einmal so, ClientMessage wurde gesendet, aber kein PayDay:


    ocmd:givemepayday(playerid, params[])
    {
    new i = 1;
    SendClientMessage(playerid, COLOR_GREY, "Test");
    if(i == 1)
    {
    PayDay(playerid);
    }
    return 1;
    }


    Ich verzweifel so langsam. Bin auch alles nochmal durch gegangen, was ich so am Tag geändert/hinzugefügt habe, hab auch alles mal ausgeklammert und probiert, nichts. Mit einem Backup, ca. 3 Monate alt, ging es... Hat vielleicht jemand eine Vermutung wodurch dieses Problem entstanden sein könnte? ;(

    1. bei den befehlen einfach mal nur ne Sendclientmessage reinmachen und nen return wenn dann immer nochn fehler kommt ist das sehr interresant :D

    Habe ich bereits ausprobiert, daher weiß ich auch nicht mehr weiter^^
    Ging quasi von jetzt auf gleich nicht mehr. Habe den Server dann mehrmals neugestartet/runtergefahren/gestartet. Half auch nichts. Was für Ursachen könnte sowas sonst noch haben?


    Edit: Manchmal komm SERVER: Unknown command, aber manchmal auch nicht (allerdings ohne das klappt)


    Gruß

    Hallo,


    eigentlich funktioniert der Payday für jeden, nur für eine Person nicht. Bei der Person gehen die Payday-Minuten über 60 hinaus. Außerdem funktionieren die Befehle /paydayall und /paydayinmyrange nicht mehr (SERVER: Unknown command.). Das Problem besteht seit ca. 2 Stunden und am Payday System oder den Befehlen wurde nichts geändert.


    Ich finde den Fehler nicht und wüsste auch nicht woran es liegen könnte.
    Ich würde mich über schnelle hilfe sehr freuen! :)





    Gruß
    Crowley