Abfrage ob in Jobfahrzeug geht einfach nicht!

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
  • Hey Leute,


    Ich bin hier grad am verzweifeln..
    Ich habe normal meine Jobfahrzeuge (Busfahrer) erstellt.
    OnGameModeInit

    Spoiler anzeigen
    BusCar[0]=AddStaticVehicleEx(431,-1987.2356,215.6745,27.7859,90.0788,202,203,340); // Bus1
    BusCar[1]=AddStaticVehicleEx(431,-1987.3250,211.3739,27.7833,90.1765,202,203,340); // Bus2
    BusCar[2]=AddStaticVehicleEx(431,-1987.4077,207.0264,27.7843,90.5269,202,203,340); // Bus3
    BusCar[3]=AddStaticVehicleEx(431,-1987.4164,202.4825,27.7864,90.2213,202,203,340); // Bus4
    BusCar[4]=AddStaticVehicleEx(431,-1968.8655,104.5087,27.7842,89.7711,202,203,340); // Bus5
    BusCar[5]=AddStaticVehicleEx(431,-1968.8619,100.0509,27.7892,89.6345,202,203,340); // Bus6
    BusCar[6]=AddStaticVehicleEx(431,-1968.7258,95.8540,27.7894,89.0510,202,203,340); // Bus7
    BusCar[7]=AddStaticVehicleEx(431,-1968.7290,91.3379,27.7885,89.6425,202,203,340); // Bus8
    BusCar[8]=AddStaticVehicleEx(431,-1968.7462,87.0525,27.7893,89.6710,202,203,340); // Bus9
    BusCar[9]=AddStaticVehicleEx(431,-1968.7656,82.7941,27.7865,89.4098,202,203,340); // Bus10
    BusCar[10]=AddStaticVehicleEx(431,-1968.9387,78.2218,27.7848,91.0917,202,203,340); // Bus11
    BusCar[11]=AddStaticVehicleEx(431,-1983.1240,72.9364,28.0192,358.4782,202,203,340); // Bus12
    BusCar[12]=AddStaticVehicleEx(431,-1987.9884,72.8508,28.0237,359.4599,202,203,340); // Bus13
    BusCar[13]=AddStaticVehicleEx(431,-1992.7708,72.9997,28.0821,0.1502,202,203,340); // Bus14
    (Ja, habe im Script weiter oben auch new BusCar[14]; stehen!)




    Nur, wenn ich jetzt bei OnPlayerStateChange abfrage, ob der Spieler in solch einem Fahrzeug drinnen sitzt:
    OnPlayerStateChange

    Spoiler anzeigen
    for(new i=0; i<sizeof(BusCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==BusCar[i])
    {
    if(GetPVarInt(playerid,"Job")!=1)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,GRAU,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }
    }


    kann ich trotzdem im Spiel einfach so einsteigen. Ich hab aber auf meinem anderen Selfmade die 100% gleiche Vorgehensweise gemacht (So meine hundertfachen Abgleichungen).
    Der Job wird auch auf 0 Gesetzt, so MUSS ich eig. aus dem Fahrzeug geschmissen werden.
    Außerdem, wenn ich nach der Erstellung der Fahrzeuge bei OnGameModeInit direkt per for schleife alle BusCars durchgehe, und die IDs printen lasse:
    Server-Log (Console)

    Spoiler anzeigen
    [23:12:30] Buscar 12
    [23:12:30] Buscar 13
    [23:12:30] Buscar 14
    [23:12:30] Buscar 15
    [23:12:30] Buscar 16
    [23:12:30] Buscar 17
    [23:12:30] Buscar 18
    [23:12:30] Buscar 19
    [23:12:30] Buscar 20
    [23:12:30] Buscar 21
    [23:12:30] Buscar 22
    [23:12:30] Buscar 23
    [23:12:30] Buscar 24
    [23:12:30] Buscar 25
    kommt dies.



    Was passiert da? Es sind neben den Noob-Fahrrädern keine anderen Fahrzeuge die unter OnGameModeInit erstellt werden.
    Und, mich wundert es, wieso die IDs der BusCars nicht bei 1 anfängt. Ich hatte auch schon das new BusCar[14]; zu new BusCar[14]={0,...}; ersetzt. Bringt nichts.

    Einmal editiert, zuletzt von MichiEXE ()

  • Beitrag von .Gottkomplex. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Zitat

    Und, mich wundert es, wieso die IDs der BusCars nicht bei 0 anfängt.


    Die VehicleIDs beginnen bei 1.


    Würde es an deiner Stelle erstmal ausführlicher Debuggen.

    new vehicleid = GetPlayerVehicleID(playerid); // Raus aus der Schleif mit GetPlayerVehicleID. Ist unnötig wiederholte Arbeit.
    for(new i=0; i<sizeof(BusCar); i++)
    {
    printf("vehicleid %d - BusCar[%d] %d",vehicleid,i,BusCar[i]);
    if( /* GetPlayerVehicleID(playerid) */ vehicleid == BusCar[i])
    {
    printf("#1 Ok!");
    printf("(Job %d != 1) = %d", GetPVarInt(playerid,"Job") , GetPVarInt(playerid,"Job") != 1 );
    if(GetPVarInt(playerid,"Job")!=1)
    {
    printf("#2 Ok! Spieler wird aus dem BusCar entfernt");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,GRAU,"Du darfst dieses Fahrzeug nicht fahren.");
    }
    }
    }
    Lass es doch mal so laufen und gib die Inhalte aus :-0.

  • Entschuldige mich, 1. - Mich wundert es ja auch warum der sowieso bei 12 anfängt die Busse zu zählen ..
    Das hab ich auch schon so getan, das mit der variable, um Arbeit zu sparen.


    So, auch das mit dem ausführlichem printing tat ich schon, es kommt einfach nichts.

  • Zitat

    So, auch das mit dem ausführlichem printing tat ich schon, es kommt einfach nichts.


    "es kommt einfach nichts".
    Wer soll mit dieser Aussage auch nur etwas anfangen könen außer dir?
    Dann füg doch noch mehr Debug Informationen ein.
    zB direkt unter OnPlayerStateChange und nach jedem größerem Block darin.

  • Klar, ich meinte damit das in der Konsole einfach nichts kommt.
    Ich printe schon an jeder Stelle die damit zu tun hat.


    // Habs jetzt gefixxt, mein Autohaus hatte nen' return zu viel. (Ich sollte mal ne pause machen, dann pass ich besser auf beim Scripten ^^