[jTuT] Fraktions-Fahrzeug-System mit MySQL R39-5

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Es gibt Neuigkeiten! Ab sofort könnt ihr dem Donators Club auf Lebenszeit beitreten.
    Weitere Infos im Thema Donator's Club ab heute wieder verfügbar!

    • Trafico schrieb:

      Das die animation nicht gecleart wird sondern die türen richtig zu sind und er daran zieht
      Versuche es so:
      Entferne den Code von OnPlayerEnterVehicle und schreibe stattdessen bei OnVehicleStreamIn:

      PAWN-Quellcode

      1. //Eine Schleife durch alle Fraktions-Fahrzeuge
      2. for(new i=0; i<MAX_FRAC_VEHICLES; i++)
      3. {
      4. //Wenn die vehicleid die gleiche ist, wie die des Fraktions-Fahrzeugs
      5. if(fracVehicle[i][e_vID] == vehicleid)
      6. {
      7. //Jetzt brauchen wir die Variable, mit der Dein vorher bereits existierendes Fraktions-System arbeitet.
      8. //Ich nehme jetzt einfach eine Beispiel-Variable, diese musst Du selbst mit der ersetzen,
      9. //die Dein System verwendet.
      10. //Es geht um diese Variable: PlayerInfo[playerid][pFraction]
      11. if(PlayerInfo[playerid][pFraction] != fracVehicle[i][e_fracID])
      12. {
      13. //Wenn der Spieler nicht in der Fraktion ist, die das Fahrzeug verwenden darf,
      14. //dann darf er es nicht betreten.
      15. SetVehicleParamsForPlayer(vehicleid, playerid, 0, 1);
      16. }
      17. break; //Es gibt ja keine zwei gleichen Fahrzeuge
      18. }
      19. }
      Alles anzeigen
    • aslo so ?

      musste denn code mit playerinfo abändern mit != ging das nicht :D

      PAWN-Quellcode

      1. public OnVehicleStreamIn(vehicleid, forplayerid)
      2. {
      3. for(new i=0; i<MAX_FRAC_VEHICLES; i++)
      4. {
      5. if(fracVehicle[i][e_vID] == vehicleid)
      6. {
      7. if(SpielerInfo[playerid][pMember] == fracVehicle[i][e_fracID] || SpielerInfo[playerid][pLeader] == fracVehicle[i][e_fracID])
      8. {
      9. }
      10. else
      11. {
      12. TogglePlayerControllable(playerid, false);
      13. TogglePlayerControllable(playerid, true);
      14. //SendClientMessage(playerid, 0xFF0000FF, "Du bist nicht in der Fraktion, die dieses Fahrzeug verwenden darf.");// muss mann nicht umbedingt ausgeben ;) er merkt es auch so dann ;D
      15. }
      16. break;
      17. }
      18. }
      19. return 1;
      20. }
      Alles anzeigen
      Scripter aus leidenschaft! und nicht aus profitgier!
    • Jetzt hast du ja die TogglePlayerControllable erst wieder im Code?

      So, mit deiner Abfrage:

      PAWN-Quellcode

      1. //Eine Schleife durch alle Fraktions-Fahrzeuge
      2. for(new i=0; i<MAX_FRAC_VEHICLES; i++)
      3. {
      4. //Wenn die vehicleid die gleiche ist, wie die des Fraktions-Fahrzeugs
      5. if(fracVehicle[i][e_vID] == vehicleid)
      6. {
      7. if(SpielerInfo[forplayerid][pMember] != fracVehicle[i][e_fracID] && SpielerInfo[forplayerid][pLeader] != fracVehicle[i][e_fracID])
      8. {
      9. //Wenn der Spieler nicht in der Fraktion ist, die das Fahrzeug verwenden darf,
      10. //dann darf er es nicht betreten.
      11. SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, 1);
      12. }
      13. break; //Es gibt ja keine zwei gleichen Fahrzeuge
      14. }
      15. }
      Alles anzeigen

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Jeffry () aus folgendem Grund: playerid zu forplayerid


    • Trafico schrieb:

      ok jetzt kann man immer einsteigen also egal was man ist
      Wird der Code aufgerufen? Setze da mal einen Print hin, oder zwei.
      Alternativ kannst du die Schleife auch in einen Sekundentimer packen, um zu schauen ob es da geht.
      Ich bin kein Freund von diesen Abschließ-Funktionen, da die ziemlich schlecht funktionieren, daher weiß ich nicht, unter welchen Umständen das nicht immer klappt.


      Kaito-sensei schrieb:

      @Jeffry: was man noch machen könnte, wäre die Seat Position abfragen(Zwecks Beifahrer). Da wäre denn "OnPlayerEnterVehicle" besser.
      Die Seat Position bekommst du bei OnPlayerEnterVehicle nicht raus, du kannst nur mit "ispassenger" prüfen, ob Fahrer oder nicht.
      Könnte man natürlich machen, wenn gewünscht. Das Tutorial schließt das ja nicht aus.
    • Jeffry schrieb:

      Trafico schrieb:

      ok jetzt kann man immer einsteigen also egal was man ist
      Wird der Code aufgerufen? Setze da mal einen Print hin, oder zwei.Alternativ kannst du die Schleife auch in einen Sekundentimer packen, um zu schauen ob es da geht.
      Ich bin kein Freund von diesen Abschließ-Funktionen, da die ziemlich schlecht funktionieren, daher weiß ich nicht, unter welchen Umständen das nicht immer klappt.


      Kaito-sensei schrieb:

      @Jeffry: was man noch machen könnte, wäre die Seat Position abfragen(Zwecks Beifahrer). Da wäre denn "OnPlayerEnterVehicle" besser.
      Die Seat Position bekommst du bei OnPlayerEnterVehicle nicht raus, du kannst nur mit "ispassenger" prüfen, ob Fahrer oder nicht.Könnte man natürlich machen, wenn gewünscht. Das Tutorial schließt das ja nicht aus.
      ja gut dann lasse ich es so wie voher dachte es währe kein aufwand :)

      supersystem denoch weiter so ;) bester man <3
      Scripter aus leidenschaft! und nicht aus profitgier!
    • Was du natürlich machen kannst ist ein direkter /lock befehl mit "SetVehicleParamsEx".

      #Edit: hab dir mal den Befehl zusammen gebaut, jedoch nicht getestet.

      PAWN-Quellcode

      1. CMD:flock(playerid, params[])
      2. {
      3. new vehicleid = GetPlayerVehicleID(playerid);
      4. for(new i=0; i<MAX_FRAC_VEHICLES; i++)
      5. {
      6. //Wenn die vehicleid die gleiche ist, wie die des Fraktions-Fahrzeugs
      7. if(fracVehicle[i][e_vID] == vehicleid)
      8. {
      9. if(SpielerInfo[forplayerid][pMember] == fracVehicle[i][e_fracID] && SpielerInfo[forplayerid][pLeader] == fracVehicle[i][e_fracID])
      10. {
      11. //Wenn der Spieler nicht in der Fraktion ist, die das Fahrzeug verwenden darf,
      12. new iEngine, iLights, iAlarm,
      13. iDoors, iBonnet, iBoot,
      14. iObjective;
      15. GetVehicleParamsEx(iPlayerVehicle, iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, iObjective);
      16. SetVehicleParamsEx(iPlayerVehicle, iEngine, iLights, iAlarm, 1, iBonnet, iBoot, iObjective);
      17. }
      18. break; //Es gibt ja keine zwei gleichen Fahrzeuge
      19. }
      20. }
      21. return 1;
      22. }
      Alles anzeigen
      Mit Freundlichen Grüßen
      Kaito-sensei
      P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.


      An die Wand mit allen Abwerbern

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Kaito-sensei ()

    • Trafico schrieb:

      supersystem denoch weiter so bester man
      Danke.
      Ich werde es am Wochenende mal bei mir ausprobieren, ob es irgendwie zum lafen zu bekommen ist.


      Kaito-sensei schrieb:

      #Edit: hab dir mal den Befehl zusammen gebaut, jedoch nicht getestet.

      PAWN-Quellcode

      1. if(SpielerInfo[forplayerid][pMember] == fracVehicle[i][e_fracID] && SpielerInfo[forplayerid][pLeader] == fracVehicle[i][e_fracID])

      zu

      PAWN-Quellcode

      1. if(SpielerInfo[playerid][pMember] == fracVehicle[i][e_fracID] || SpielerInfo[playerid][pLeader] == fracVehicle[i][e_fracID])

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Jeffry ()