Beiträge von Pascal.

    Hallo,
    ich brauche hilfe bei der anweisung für die sscanf Funktion.. komme bei PHP mit der nicht so ganz klar.
    Und zwar geht es darum aus einer Zeile entsprechende Variablen raus zu picken.


    Bsp:
    <object id="object (ballypllr01_lvs) (1)" interior="0" collisions="true" alpha="255" doublesided="false" model="3437" scale="1" dimension="0" posX="3349.21826" posY="-1396.10474" posZ="257.07605" rotX="0" rotY="90" rotZ="0"></object>



    Anweisung:


    for ($i = 0; $i < count($schreiben); $i++) {
    if (strpos($schreiben[$i], "<object id=")) {
    if (!sscanf($schreiben[$i], "<object id='%s' interior='%d' collisions='%s' alpha='%d' doublesided='%s' model='%d' scale='%d' dimension='%d' posX='%f' posY='%f' posZ='%f' rotX='%f' rotY='%f' rotZ='%f'></object>", $id, $interior, $collisions, $alpha, $doublesided, $obj_id, $scale, $dimension, $posX, $posY, $posZ, $rotX, $rotY, $rotZ)) {


    $mapstring = "\n CreateGameModeObject(".$obj_id.", ".$posX.", ".$posY.", ".$posZ.", ".$rotX.", ".$rotY.", ".$rotZ.", ".$scale.", ".$collisions.", ".$interior.");";


    fwrite($writenewfile2, $mapstring);
    } } }


    Es klappt nur das mit dem sscanf nicht.





    Kenne die leider nur aus Pawn und komme hier nicht weiter.


    Wäre nett wenn mir jemand helfen könnte.


    SetTimer("Fillup",RefuelWait,0);
    Refueling[playerid] = 1;
    FreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_WHITE," Dein Fahrzeug wird betankt, Bitte warten....");


    zu:



    new vID = GetPlayerVehicleID(playerid);
    SetTimerEx("Fillup", RefuelWait, 0, "ui", playerid, vID);
    Refueling[playerid] = 1;
    FreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_WHITE," Dein Fahrzeug wird betankt, Bitte warten....");



    So in etwa kann das aussehen. Natürlich musst du das anpassen auf dein Car/Tank System, denn ich kenne ja nicht deine Variablen ausm Kopf und ein wenig musst du schon selber versuchen denn sonst lernt man auch nichts. Bei Fragen/Probleme kannst du dich ja wieder melden hier im Thread oder wenn du ein neues öffnest. :)



    forward Fillup(playerid, carid);
    public Fillup(playerid, carid)
    {
    // Schreib hier deine Variable mit dem Tanken rein
    // Hier Geld abziehen


    TogglePlayerControllable(playerid, 1);


    SendClientMessage(playerid, -1, "Dein Auto wurde erfolgreich betankt!");


    return true;
    }

    Vergleiche doch die Namen. Einmal der Name dem das Fahrzeug gehört und dem Name der den Befehl ausführt.
    Das machst du mit strcmp.

    Du sagst den Timer das er nach einer bestimmten Zeit die in der Variable "RefuelWait" festgelegt ist ein Public aufrufen soll namens "Fillup"..


    Im Public Fillup musst du alles machen was er danach machen soll, nach dem Tanken.


    Das heißt:
    - Tank auffüllen
    - Geld abziehen (?)
    - Unfreezen
    - Vielleicht noch eine Nachricht
    - etc...

    Mir Gefällt der Server auch schon sehr Gut. :)


    Hier ein paar Videos von mir:


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Wenn ich beispiel weise eine Map unloaden lasse.
    Dann kann eben nur die Dynamische Objekte entfernen. Und die nicht Dynamische Objekte bleiben bestehen oder ich lösche alles.
    Aber bei mehreren modes wird es schwer, da kann ich nicht alle löschen lassen.
    Deshalb weiß ich nicht ob man dafür eine Funktion schreiben kann das er sie nur in einer Bestimmten Welt löschen lässt.

    Ich muss mal gucken ob es jetzt wirklich daran lag.
    Davor ist er ja nicht so oft abgestürtzt, bzw nie.
    Deshalb habe ich mir ein vServer besorgt der bisschen mehr Leistung hat.
    Es kann doch vielleicht auch daran gelegen haben das der root überlastet war oder nicht?