Objekte zu SAMP 0.3b anpassen

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. Manche finden dieses Thema vielleicht richtig überflüssig, aber ich finde es nötig, damit die Themen aufhören mit "Objekte durchsichtig, Objekte werden nicht angezeigt" oder so.
    Das hier ist ein ganz kurzes Tutorial für die Newbies, damit sie wissen wie sie es so machen, dass das Objekt ganz normal angezeigt wird.


    //Edit by INk:
    Mehr braucht ihr nicht machen ;)



    Fangen wir an! :
    Ihr habt Maps in eurem Script, es funktionierte alles ganz super, aber bis aufeinmal 0.3b dazwischen kam ?
    Der Grund dafür ist, dass es seit SAMP version 0.3b einen neuen Parameter in der Funktion "
    CreateObject" gibt, welches "Drawdistance" heißt.
    Erstmal zu den Newbie fragen:


    Was sind Parameter? òò:
    Parameter:
    CreateObject(modelid, x, y, z, rotX, rotY, rotZ, DrawDistance); 
    modelid, x, y, z und so weiter sind alles Paramter.
    So werdet ihr es bestimmt besser verstehen:
    CreateObject(paramter1,paramter2,paramter3,...); 


    So jetzt, wie mache ich meine Objekte wieder normal ?? :
    Ganz einfach.
    Euer CreateObject sieht gerade so aus:
    CreateObject(model, x, y, z, rotX, rotY, rotZ); 
    Ihr müsst nur, hinter dem LETZTEN Parameter (in diesem Fall "rotZ") nocheinen einfügen: Ab wieviel Radius es angezeigt werden soll.
    So etwa:
    CreateObject(modelid, x, y, z, rotX, rotY, rotZ, DrawDistance); 
    Als Drawdistance gebt ihr ein, ab wieviel Radius es für einen Spieler angezeigt werden soll.
    Aber die Drawdistance darf NICHT höher als 300 werden.
    Hier ein Beispiel:
    CreateObject(1748, 2001.195679, 1547.113892, 14.283400, 0.0, 0.0, 0.0, 300.0); 
    Das hier erstellt einen Objekt, aber nur, wenn man nah genug dran ist.
    Mit Nah genug wird 300.0 Radius gemeint, falls ihr im Code das als "100.0" ændert, wird es zu 100 ^^



    Mit freundlichen Grüßen,
    ~FoxHound

  • nein, ich habe an meinem script nichts geändert,nur neu compiled und alles funzt einwandfrei,kA was alle für probleme haben xD
    //Edit
    Und laut wiki : 0.0 will cause objects to render at their default distances.
    und das ist stream_distance aus der server.cfg wenn ich mich nicht irre, und das kann man auf 300.0 machen...

  • Weil ein Streamer innerhalb eines Radius Objecte Erstellt und die anderen Außerhalb löscht. Das ist die Drawdistance des Streamers...
    Ohne Streamer haste nur 400 Objecte,vorher warens halt 250... Mit Streamer haste halt ca 250 in einem bestimmten Radius
    zusätzlich zu den 400 die SA-MP jez schafft

  • Also kann man jetzt Ohne Angst für Reallifeserver die Drawdistanz von Streamern höher stellen? :whistling:

  • Ein Streamer ist immer noch besser als andere dinge denn damit belastetst du deinen Server nicht unnötig mit Objekten

  • Habe die Lösung gefunden :D
    Öffnet die a_objects Include und ändert bei
    native CreateObject
    Hinten die
    Float:DrawDistance = 0.0
    Zu
    Float:DrawDistance = 300.0


    So müsst ihr NICHT ,300.0 an jedes Object hängen und jeder Streamer sollte wie gewohnt laufen ohne das man irgendetwas ändern muss!

  • Bei mir gibt es im native CreateObject den Parameter DrawDistance garnicht. Das ist alles wie bei SA-MP 0.3a also: CreateObject(modelid, Float:x, FLoat:y, Float:z, Float:rx,Float:ry,Float:rz); und wenn ich DrawDistance dazu mache dann passiert auch nichts die Objekte sind nach wie vor fast unsichtbar. Und wenn ich DrawDistance dann bei OnGameModeInit in CreateObject reintu dann kommt Warning: Numer of Arguments does not match Definition!
    Pls Help

  • Ja, richtig gute Idee, Ink ^^
    Aber hier wird erklært wie ihr es mit CreateObject anpasst, z.B. wenn man immer andere DrawDistances haben will.
    Wenn ihr die Lösung von Internet Ink macht, ist die standart DrawDistance automatisch 300.0 und nicht 0.0, und ist wirklich eine richtig gute Lösung, finde ich.

  • Hm, ich weiss nicht ob das funktioniert, denn "native" ist sozusagen nur die Information.


    Die echte Funktion ist im Core des Servers, und dort steht wohl sowas wie:


    public CreateObject(...,Float: DrawDistance = 0.0);


    zum veranschaulichen hab ich "public" genommen.


    Das heisst: Machts nicht so kompliziert, ändert einfach in der server.cfg die draw_distance und schon funktioniert alles.


    Vielleicht solltet ihr mal die neuen Includes aus dem windows-server runterladen...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen