Mover.inc by Modder

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
  • Hi leute,


    ich hatte mal lange weile und habe ein move include gebaut.


    Was kann es?:
    - es kann ein object von a nach b bringen und nach 5 src geht es automatisch wieder nach b zu a gehen dabei speichert es wie ooff irgenwelche datein gespeichert wurden


    Codes:


    LoadMover();
    SaveMover(bool:Timer);
    Mover(obj,playerid,Float:x,Float:y,Float:z,Float:sp);
    ReserMover();


    LoadMover:


    - eigedlich erklärt sich das von ganz erleine da werde alles wichtigen speicherungen geladen
    - Achtung: wen man diesne befhl nicht benutzt geht das ganze include nicht.


    SaveMover(bool:Timer):


    - bool:Timer ?? Hier kann man mit ture oder false festligen ob er alles 60 sec oder 1 mal alle wichtigen daten speichert


    - false/ture: false: 1 mal
    true: alle 60 sec




    Mover(obj,playerid,Float:x,Float:y,Float:z,Float:sp):


    - so ich erkläre jetzt wie man welche kordinaten eintragen muss:


    obj: hier muss das object rein
    playerid: hier muss wie es aussieht die playerid rein
    Float:x: da muss dei x possition eingegen werden wohin das obj bewegt werden soll das gleiche geht für Float:y und Float:z auch
    Float:sp: hier muss der spet rein ich entpfele 1 - 5



    ReserMover():
    hier wird wie zu denken alles unwichtige resetet.


    Beispiel:



    new object; //variable für das obj
    public OnGameModeInit()
    {


    LoadMover(); // hier wird mover geladen
    SaveMover(true);//hier wird alles alle 60 sec gespeichert


    object = CreateObject(999,123,123,123,90);//obj wir ihn variable geladen
    }


    public OnGameModeExit()
    {
    SaveMover(false); //hier wird beim beenden des server alles nochmal gespeichert

    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    Mover(object,playerid,456,456,456,5); //object wirt bewegt
    return 1;
    }
    return 0;
    }






    Download:hier
    Pastebin:hier


    Was wird benötigt?:
    Dini: dini ist ihn der rar datei mit dabiei.




    Es Geht nicht wass Soll ich tun??:


    es kann daran liegen das sie ihn scriptfiles den ordner Mover nicht erstellt haben.


    es kann auch daran liegen das nicht includet worden ist dan macht man oben #include



    Was darf nicht gemacht werden:


    es dürfen keine timer erstrellt werden mit folgenden namen:


    Moveobj
    save


    Sonst müsste alles gehen.



    wenn ihr noch was zu melden habt bugs oder komentare (bis auf die rechtschreibung) einfach hier posten.



    MFG
    Modder112




    edit1: pastebin
    edit2: pastebin
    edit3: pastebin
    edit4: die edits
    edit5: pasting aktualisirt


    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)

    4 Mal editiert, zuletzt von Modder112 ()

  • Und hier nun ein kleines Feedback:


    - Benütze für Float Vergleiche immer 'floatcmp', da durch falsche Abrundungen falsche Ergebnisse erzielt werden (siehe Besonders den Teil, wo das Script neugestartet wird).
    - Nebenbei gibt es auch Leute die auf der Position 0.000000 auch vielleicht was setzen, daher ist es nicht besonders Ratsam ^^
    - Das du die Anzahl der bewegten Objekte loggst ist eher sinnlos, denn nicht jedem interessiert es besonders, wie oft alle Objekte bewegt worden sind. Wenn dann vielleicht Spielerseitig, aber dies wäre auch etwas nutzlos.
    - SaveMover sollte keinen bool Parameter haben, sondern einen Integer Parameter, wo die Möglichkeit besteht in ms anzugeben, in welchem Takt Objekte bewegt werden sollen und dies höchstwahrscheinlich auch Spielerseitig, also per SetTimerEx.


    Ansonsten sieht es recht passabel aus.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • also ich hatte damals mein eigenes projeckt und ich habe damit alles bewegen können von 1 bis 1.000000001 , und ich habe gadacht des könte auch jemanden interesiren. ich werde des auch einbauen damit man des auschalten kann aber den per .xml datei.

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)