GetVehicleParamsEx/SetVehicleParamsEx/OnVehicleStreamIn[Hilfe]

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
  • Servus Leute,
    ich habe folgendes Problem:
    Ich möchte, das ein bestimmtes Fahrzeug nur für ein Team befahrbar ist über ParamsEx.
    Weiß wer wie es funktioniert bzw was ich falsch mache?
    Bisherige Codeschnipsel


    OnGameModeInit();


    new engine, lights, alarm, doors, bonnet, boot, objective;
    Car = AddStaticVehicleEx(451,-1432.9288,490.9597,3.0391,271.8448,3,3,-1); //
    GetVehicleParamsEx(Car, engine, lights, alarm, doors, bonnet, boot, objective);
    SetVehicleParamsEx(Car, engine, lights, alarm, 0, bonnet, boot, 1);


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    if(gTeam[forplayerid] == TEAM_POLICE && vehicleid == 1)
    SetVehicleParamsForPlayer(forplayerid, vehicleid, 0, 0);
    else if(gTeam[forplayerid] == TEAM_MAFIA && vehicleid == 1)
    SetVehicleParamsForPlayer(forplayerid, vehicleid, 0, 1);
    return 1;
    }



    Bisher für beide befahrbar :O


    //Edit Pawn Fail
    //edit rechtschreibfehler


    //PUsh,immer noch keine Lösung in Aussicht!

    KleineHilfe 2.0

    2 Mal editiert, zuletzt von YaBroo ()

  • (Das System startet mit Vehicleid: 0 für dein Auto), folglich muss bei OnVehicleStreamid muss die vehicleid == car sein.
    Sonst siehst es soweit richtig aus.


    Tipp fürs nächstes mal: solche Fehler findest du leicht wenn du Abfragen und Variablen dir einfach mal "printen" lässt.

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • (Das System startet mit Vehicleid: 0 für dein Auto), folglich muss bei OnVehicleStreamid muss die vehicleid == car sein.
    Sonst siehst es soweit richtig aus.


    Tipp fürs nächstes mal: solche Fehler findest du leicht wenn du Abfragen und Variablen dir einfach mal "printen" lässt.

    Ich habe des nur einmal mit verfolgt wie jemand durchs printen eine Fehleranalyse gestartet hat.
    Jedoch habe ich dort nicht richtig durch geblickt.
    Ich habe Hinweiß bekommen, das man erst feststellen sollte wer rein kann unter OnPlayerRequestSpawn da dort es das gTeam entschieden wird.
    hast du da eine Idee zu?

    KleineHilfe 2.0

  • Also wenn ich halt immer einen print-Test mache, schau ich an, was falsch läuft. Zum Beispiel hättest du hier den Fehler bei der If-Schleife finden können, indem du in die if schleife etwas packst und dir vehicleid ausgeben lässt. Dann hättest du bemerkt, dass vehilceid != 1 ist und du hättest dich gewundert, warum eine eins steht. Dann hättest du dir zur Kontrolle nur noch "car" printen lassen müssen und du hättest den Fehler entdeckt ;)



    Grob musst du erst den Fehler lokalisieren: Werden bestimmte Schleifen durchlaufen? (Erfolg/Test druch print in die Schleife);
    Um dich dann weiter ins Detail vorzuarbeiten:: Wenn nein: Wie sehen die Variablen aus: Ausgeben aller Schleifen relevanten Daten: sind ungleich: Folglich: checken wo die variablen gesetzt werden...



    Edit: Jap als nächstes müsstest du dann checken, wenn es an der vehicleid nicht liegt, welches Team der Spieler ist und ob es übereinstimmt mit dem angegebenen Team.

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • printf("OnVehicleStreamIn: vehid %d, pid %d, gTeam %d", vehicleid, forplayerid, gTeam[forplayerid]);



    ..Ich weiß jedoch nicht, wie ich den zusammen Hang in der exe erkennen kann.
    Ich kann da kein bisschen durch blicken!..:S
    Ich denke es liegt daran, das ich entweder den Spieler direkt neben dem Fahrzeug spawnen lasse(??)
    Oder das der das komplette OnVehicleStreamIn nicht annehmen will..

    KleineHilfe 2.0

  • Was gibt es dir denn aus?

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • jo MiniYoda du hast ja voll die Ahnung.
    Vehicleid fängt bei 1 an zu zählen aber das behalten wir mal für uns, wollen jetzt niemanden verwirren.
    mach mal bitte deine Signatur weg, ist ja beschämend für die richtigen Scripter ihr im Board, das die messlatte so niedrig hängt.