Beiträge von Kaliber

    Name: Own Life Roleplay

    Alter: 18

    RP Art: Hardcore

    Client: AltV

    Da glaubt man, man hat schon alles gesehen und dann sieht man im Jahr 2021 ein GTA V Projekt, welches schon 18 Jahre alt ist.


    Hammer! :)

    Letzteres ist wenn richtig.

    Du solltest btw immer einen Salt/Pepper (also noch einen zusätzlichen random String, sonst kann man das pw über eine rainbowtable instant bekommen) noch verwenden.


    Btw nutze lieber Bcrypt, das ist nativ in PHP integriert worden mit password_hash.


    PS: Printe dir doch einfach mal die beiden Strings, dann kannst du sie ja vergleichen.

    Wenn sie nicht übereinstimmen, sind die Eingabe-Strings eben unterschiedlich :)


    #Handy

    Und ich habe tatsächlich auch vor, in der Zukunft, in die IOS & Android Applikationen zu entwicklen aber ich bin da vor eine wichtig zu klärende Sache gestoßen, bezüglich dem IOS DEV, könnte ich mir ohne Sorgen, auf einem leistungsstarken Windows Rechner, MacOS als zweitsystem bzw. vielleicht auch auf eine Virtuelle Maschine zu installieren, es ist im Prinzip ja nur das Betriebssystem, oder irre mich? (Ja ich weis, der M1 Chip, ist einfach..nur geil! Intel, hau mir ab xd)

    Wenn das dein Ziel ist empfehle ich dir Flutter. Das kannst du über Codemagic direkt auf iOS und Android kompilieren, ohne einen Mac zu haben.


    Zudem ist Flutter effizienter und problemfreier als React Native z.B. Aber auch besser als die Nativen Sprachen wie Java oder Swift.

    Flutter wird von Google entwickelt und da kommen regelmäßige Updates raus.

    Also es macht definitiv Sinn sich mit PHP zu beschäftigen.

    Schließlich nutzen fast 80% aller Webseiten PHP (https://kinsta.com/blog/is-php-dead/).


    Und da sie auch stetig weiterentwickelt wird und es gute Frameworks gibt, sehe ich da keine Bedenken.


    NodeJS wird aktuell auch immer mehr und ist super leicht und schnell aufzusetzen. Bietet in einigen Bereichen große Vorteile gegenüber PHP. Also das wäre evtl auch etwas, womit man spielen kann, gerade wenn es um Websockets oder Cross-Plattforming (React Native & Co) geht.


    Python mit Flask oder Django gibt es auch noch...

    Uuuund es gibt es noch Java EE oder C#..


    Es gibt soo viel in dem Bereich, man muss halt schauen, was sein Ziel ist. Aber eigentlich bieten alle Sprachen eine Möglichkeit Dinge effizient umzusetzen.

    Das spielt dann eher, wenn man in eine Firma (oder Projekte) einsteigen mag eine große Rolle, ob man genug Erfahrung mit den Sprachen hat...also man sollte sich eine Auswählen mit der man gut umgehen kann und Spaß hat und sich dann evtl darauf fokussieren.

    Ich muss das alte Thema hier mal wieder aufgreifen. .

    Komischerweise verliere ich auch jedes mal, wenn ich nach dem Tod neu spawne 100$. Ist knapp 9 Jahre später jetzt mal bekannt, woran das liegen könnte?

    Hast du die Beiträge vor dir mal gelesen? :rolleyes:


    Da wurde es doch erklärt u.a. schon damals von mir ^^


    Man verliert 100$ wenn man stirbt, das ist halt so von SAMP aus.


    Wenn du das verhindern willst, setze beim Spawn einfach das Geld auf den Servergeldwert oder gib ihm einfach 100$...

    Ist so etwas möglich? Die Alten Hasen haben bestimmt sofort nh Antwort :P

    Ja, sowas ist möglich, allerdings nur mit Plugin. In C++ kannst du das einfach mit ANSI Codes realisieren.


    Damals hatte das wer im englischen Forum gemacht, allerdings nur für Windows:


    test.jpg


    Kannst du einfach so nutzen:


    C
    printc(TXT_LIGHTGREEN,"Hallo, das ist ein Test!");

    Kannst sogar die Background-Color ändern.


    Im Include selbst sind alle Farben gelistet.


    Ich lads mal hier hoch.


    Viel Spaß ;)

    Biergarten = auf

    Shishabar = nicht auf


    Check ich nicht

    Biergarten = Draußen und mit großem Abstand möglich

    Shishabar = Drinnen + Nebel verbreitet Aerosole besser + man teilt sich evtl mal eine + man sitzt nah aneinander


    Hmmm 🤔

    Mal ein paar generelle Tipps:

    • #pragma tabsize 0 gehört wie goto zu den "verbotenen" Keywords. Wer sowas verwendet sorgt dafür, dass der Code komplett unsauber und unbrauchbar wird. Ohne vernünftige Logik und Zeileneinrückung ist für andere der Code quasi komplett unleserlich. Und auch für einen selbst, wie man hier schön sieht. Also mach dir das Leben selbst leicht und versuche etwas saubereren Code zu schreiben (indem du alles einrückst mit TAB).
    • Im Forum bitte immer den Code BBCode nutzen, wenn man Code schreibt. Am Besten mit Syntax Hervorhebung (in diesem Fall käme C der Pawn Syntax sehr nahe.)
    • Du solltest einen Streamer nutzen (also CreateDynamicObject) und nicht CreateObject, da du sonst sehr schnell an das Objekt-Limit von 1000 Objekten stößt und keine weiteren Objekte mehr geladen werden. Auch für die Spieler läuft das Spiel flüssiger, wenn nicht unnötig viele Objekte geladen werden.
    • Du solltest einen "CMD-Prozessor" verwenden, wie ocmd/zcmd/ycmd oder am Besten Pawn.CMD. Mit "strcmp" sorgst du dafür, dass der Server für jeden Befehl immer länger und länger benötigt diesen zu verarbeiten. Des Weiteren wird es sehr unübersichtlich jeden Befehl in einen Callback zu packen.
    • So wie du hier das Geldsystem verwendest, ist es für den Client sehr einfach Geld zu cheaten! Man kann dies verhindern, indem du das Geld Serverseitig trackst. Aus diesem und vielen Weiteren Gründen aus dieser Liste, ist es deshalb oft einfacher Includes zu nutzen, anstatt Filterscripts, da man schon auf alle Funktionen / Includes & Variablen aus dem Gamemode direkt zugreifen kann.

    So und nun zu deinem Code:

    So sieht es doch ein wenig übersichtlicher aus.


    Allerdings gibt es viele Probleme damit:

    1. Angenommen du hast 20 Mautstationen, willst du die wirklich alle manuell einfügen. Solltest du das vor haben, sollte schnell klar sein, es würden viele "Redundanzen" (also Code-Wiederholungen) entstehen. So etwas mag man als Programmierer immer vermeiden! Zum einen, weil es übersichtlich und besser ist, zum Anderen, weil wir alle sehr faule Wesen sind. Aus diesem Grund, solltest du dann Arrays nutzen und eine Schleife.
    2. In deinem Befehl prüfst du entweder, ob er sich entweder an der Mautstation befindet, oder ob er es nicht ist (wenn er es nicht ist, bewegst du das Objekt zurück). Und dann nutzt du noch eine "else" um zu sagen, dass er an keiner Zollstation ist...hmm, hoffe dir fällt hier was auf xD Was wäre denn die 3. Option? Es gibt doch nur entweder ist er da oder nicht. Das hier ist kein Quantensystem, da gibt es keine Superposition ^^
    3. Die Rotation die du hier nimmst ist zu klein, das der Hauptfehler. Eine der X, Y oder Z Achsen musst du mit dem +0.001 versehen, die Rotation allerdings muss normal geändert werden.

    Also so würde es funktionieren:


    Ja, seit 0.3.7 R3 wurde die FacingAngle gefixxt, das bedeutet, dass man die jetzt instant drehen und rennen lassen kann.


    Das Problem ist, dass die Synchronisierung kacke ist. Da gab es einige Probleme...wenn man beispielsweise afk geht, und dann wieder on kommt...wird man da mit Packages zur Aktualisierung zugespammt und crasht meistens xD


    Ergo, ist das nur im ganz kleinen Anwendbar. Das waren ja damals so nur ein paar Tests.


    Um wirklich GTA:SA belebter zu machen, dass das mit vielen Leuten gut funktioniert, muss man Bots nutzen. Leider wurde FCNPC etc nicht mehr wirklich weiterentwickelt oder mal nativ implementiert.

    Warum zum teufel wird das destroyen aufgerufen und gleichzeitig auch die Fehlermessage dass ich in keinem FrakVeh bin?

    Weil du da ein else in der Schleife hast.


    Kannst so Funktionen auch wunderbar auslagern:


    Kann mir das in SAMP irgendwie nur schwer vorstellen.


    Wäre cool, wenn du irgendwie präziser werden könntest, und mal ein grobes Szenario schilderst. (Also wie der Ablauf sein könnte...was jeder User sieht und was so passiert)