Auto wird nicht erstellt, geld wird abgezogen

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
  • Schönen guten Tag ich hab mit einem Tutorial von MrMonat das Autohaus System gescriptet und wenn ich im autohaus bin und im auto bin, dann auf kaufen drücke wird das Geld abgezogen aber das auto nicht erstellt. Also hier nochmal mit PWN code.


    Mit freundlichen Grüßen,
    Dachdecker

  • Hey,


    Die funktion sieht so aus:


    Das funktioniert zu 100%, denn es klappt alles mit dem befehl /veh [Playerid][Modelid][Farbe1][Farbe2] das ist ein test befehl von mir der dann auf diese Funktion zugreift

    Mit freundlichen Grüßen,
    Dachdecker

  • Also ich bin jetzt gerade Mal in ein anderes Auto vom Autohaus gestiegen und da ging es, aber es spawnte am falschen Autohaus
    Ich habe zwei Autohäuser (provisorisch) und im 1. Autohaus 2 autos (Sultan und Infi) und im 2. Autohaus ein Auto (ModelID 400).


    Nur wenn ich in den Infi steige funktioniert alles.


    Der Crashdetect gibt das wieder :


    [22:31:59] [debug] Run time error 4: "Array index out of bounds"
    [22:31:59] [debug] Attempted to read/write array element at index 2 in array of size 2
    [22:31:59] [debug] AMX backtrace:
    [22:31:59] [debug] #0 0000ae80 in public OnDialogResponse (0, 4, 1, -1, 82208) in MySQLScript.amx

    Mit freundlichen Grüßen,
    Dachdecker

    2 Mal editiert, zuletzt von Dachdecker ()

  • Hier:


    Mit freundlichen Grüßen,
    Dachdecker

  • Also hier uberprüfe ich, ob die vID mit einem der Autos von den Autohäusern übereinstimmt und dann setzte ich dieses "i" in die Pvar

    Mit freundlichen Grüßen,
    Dachdecker

    • Offizieller Beitrag

    Hallo.


    Zeige uns mal bitte ahInfo (enum und dein Array dazu).
    Und bitte einmal erwähnen welcher Wert bei welchem Auto bei dieser variable rauskommt: ahCars[idbuy][ah_id]
    Du lässt es ja bereits beimn Kaufen printen, einfach mal extra (vor deinem bereits vorhandenen Print) ausgeben.


    ich vermute, dass die ID aus der Datenbank gelesen wird?


    Grüße.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ahInfo und ahCars






    /* Infernus
    [22:43:52] Buycarid: 1
    [22:43:52] Model: 411, X: 187.999206, Y: -246.212402, Z: 1.228600, R: 358.534790
    */
    /*Sultan
    [22:44:01] Buycarid: 2
    [22:44:01] [debug] Run time error 4: "Array index out of bounds"
    [22:44:01] [debug] Attempted to read/write array element at index 2 in array of size 2
    [22:44:01] [debug] AMX backtrace:
    [22:44:01] [debug] #0 0000aeac in public OnDialogResponse (0, 4, 1, -1, 82208) in MySQLScript.amx
    */
    /* ModelID 400
    [22:44:49] Buycarid: 3
    [22:44:49] [debug] Run time error 4: "Array index out of bounds"
    [22:44:49] [debug] Attempted to read/write array element at index 3 in array of size 2
    [22:44:49] [debug] AMX backtrace:
    [22:44:49] [debug] #0 0000aeac in public OnDialogResponse (0, 4, 1, -1, 82208) in MySQLScript.amx
    */


    Was meinst du? Die Ids werde vom Script zugewiesen laut dem Tut von MrMonat ist alles 1zu1 wie im Tutorial von ihm

    Mit freundlichen Grüßen,
    Dachdecker

    • Offizieller Beitrag

    Da ist das Problem.


    Arrays fangen bei 0 an, deine Autos aber bei 1.


    Du musst dem Auto noch einen weiteren Wert (Die ID/Index vom Autohaus) zuweisen.


    Ich kenne das Script/Video von ihm nicht, ich halte nicht viel von Tutorials auf Youtube.


    // Edit:
    Falsch geschaut. Kleinen Moment

  • ich dachte, dass durch das erstellen des Autos bei OnGameModeInit mit einer schleife, die ID gesetzt wird:



    Code
    // ----- Autohausenum ----- //
    	for(new i=0; i<sizeof(ahCars); i++)
    	{
    	    ahCars[i][ah_id] = AddStaticVehicle(ahCars[i][ahc_model], ahCars[i][ahc_x], ahCars[i][ahc_y], ahCars[i][ahc_z], ahCars[i][ahc_r], 1,1);
    	}

    Mit freundlichen Grüßen,
    Dachdecker

    • Offizieller Beitrag

    Hier: ahInfo[ahCars[idbuy][ah_id]][ahi_x],ahInfo[ahCars[idbuy][ah_id]][ahi_y],ahInfo[ahCars[idbuy][ah_id]][ahi_z],ahInfo[ahCars[idbuy][ah_id]][ahi_r]
    verwendest du dauerhaft ah_id statt ahc_id.


    Ich bin mir leider grade nicht sicher, aber fangen die Fahrzuge bei ID 1 an?
    Wenn dem so ist, musst du idbuy direkt beim auslesen minus 1 rechnen, da wir gesagt ein Array bei Index 0 beginnt, also hat dein Erstes Auto bei ahCars index 0, du verwuchst diesen aber mit der ID vom Fahrzeug (idbuy also 1) aufzurufen.