Beiträge von 4#Future

    [MR]Max ist gar nicht mal so falsch...


    public OnPlayerConnect(playerid)
    {
    format(string, sizeof(string), "%s hat sich ins Spiel eingeklinkt!", plname);
    SendClientMessageToAll(0xAAAAAAAA, string);
    return 1;
    }
    Hast Du diesen Schnipsel wirklich ganz oben in der OnPlayerConnect
    Funktion stehen, dass wundert mich natürlich der Fehler nicht.


    Machs einfach mal so...


    public OnPlayerConnect(playerid)
    {
    new namestr[125];
    new spielername[MAX_PLAYER_NAME];

    format(namestr, sizeof(namestr), "%s hat sich ins Spiel eingeklingt.", spielername);
    SendClientMessageToAll(0xFFFFFFFF, namestr);

    ...

    return 1;
    }

    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }

    Policee(vehicleid)
    {
    for(new i; i <= Police; i++)
    {
    if(vehicleid == Police[i]) return true;
    }
    return false;
    }
    Was soll denn das bitte werden?
    > Also es müsste normaler jede gute Scripter das Problem sofort sehen!


    Woher soll der Server bitte wissen, was Policee(vehicleid) bitte sein soll?


    Wenn es eine Funktion ist, solltest Du diese vielleicht auch als Funktion
    behandeln und ordentlich deklarieren... *meine Güte...*


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }

    forward Policee(vehicleid);
    public Policee(vehicleid)
    {
    for(new i; i <= Police; i++)
    {
    if(vehicleid == Police[i]) return true;
    }
    return false;
    }

    Dann haste da wohl etwas falsch gemacht...


    Die Uhr, die der Spieler oben rechts sieht, sollte für jeden Spieler
    gleich sein, denn musst diese nämlich mit der WorldTime Funktion
    setzen, sonst ist es ja auch Quatsch.


    Tue einfach Deine Uhr serverseitig (natürlich ^^) für jeden
    Spieler auf den selben Wert setzen, oder speichere die Zeit
    eben in einem Parameter und teile Sie dem Spieler mit...


    Wie Du das machst, ist Deine Sache, aber da ist wohl was schief gelaufen.

    Das Dein Codeschnipsel nicht funktioniert liegt nur an folgendem Problem.


    for(new i=0; i<MAX_VEHICLES; i++)
    {
    new Float: vX, Float: vY, Float: vZ;
    GetVehiclePos(i, vX, vY, vZ);
    if(IsPlayerInRangeOfPoint(playerid, 5000000000, vX, vY, vZ) && !INVALID_VEHICLE_ID)
    {
    ...

    In diesem Zusammenhang ist die INVALID_VEHICLE_ID Abfrage völlig
    falsch und unangebracht, denn Du musst in der Abfrage ja sagen, welcher
    Parameter nicht der Vehicle ID entspricht.


    Du kannst logischer Weiße nur eine Fahrzeug ID erwischen, da Du in der
    for-Schleife ja MAX_VEHICLES verwendest, welche nur Fahrzeuge anspricht.


    Ändere Dein Schnipsel einfach so und es wird gehen...
    (den Radius kannst Du ja beliebig wählen, in meinem Falle 15)


    for(new i=0; i<MAX_VEHICLES; i++)
    {
    new Float: vX, Float: vY, Float: vZ;
    GetVehiclePos(i, vX, vY, vZ);
    if(IsPlayerInRangeOfPoint(playerid, 15, vX, vY, vZ))
    {
    ...

    LoRdCrUnChEr


    Hmm, das versuche ich Ihm auch zu erzählen... ^^


    Wenn Du das Wetter für den gesamten Server, also für alle Spieler,
    einfach nur so einfach ändern möchtest, dass würde ich Dir nur die
    RCON Konsole empfehlen und Dich im Spiel einzuloggen und mit
    Hilfe des RCON Passworts das Wetter zu setzen.


    //EDIT


    Bimbus


    SetWeather(wetterid);
    Daraus kannst Du Dir auch einen Befehl basteln, welches dann
    das Wetter für alle Benutzer des Servers ändert.

    Meine Güte - Ihr stellt Euch alle an ^^


    Das Dein Gamemode beim Compilen keinen Fehler zeigt, muss nicht
    unmittelbar heißen, dass er funktionsbereit ist.


    Es ging mir selbst schon sehr sehr oft, dass ich Dinge an meinem
    Script geändert habe, diese compilet wurden und anschließend nicht
    auf dem Server gelaufen sind.


    Dein Fehler liegt 99,99%ig am Gamemode selber oder besser
    gesagt im Gamemode selber...


    Ursachen dafür können beispielsweise Funktionen sein, die der
    Server aufruft, die nicht existieren oder falsch deklariert sind
    oder beispielsweise Dateien, die der Server zum Laden braucht,
    die ebenso nicht vorhanden und falsch, z.B. unlesbar sind.


    Glaub mir es ist defintiv Dein Gamemode, denn Du wirst feststellen,
    dass Dein Server mit jedem anderen Gamemode starten wird. ;)


    ____________________________________________________________



    Kleiner Tipp für alle anderen:


    > Wer Hilfe leisten möchte, muss sich auch mit Grundkenntnissen auskennen.


    Zu Schreiben es müsse beispielsweise die 1 hinter dem Gamemodenamen weg
    oder ebenso müsse die Serverlog gelöscht werden, ist meiner Meinung nach
    völlig daneben...


    Bitte überlegt logisch oder denkt mal nach, bevor Ihr Hilfe leisten wollt,
    denn oftmals sind die Userantworten noch "falscher" als das Problem selbst.

    Zitat

    und nicht bei jedem eine eigen GTA-Uhr läuft, die das Wetter anpasst?


    Was für eine GTA Uhr denn, die welches Wetter bitte anpasst?


    > Willst Du vielleicht einfach nur ein Script, dass das Wetter jedes Benutzers anpasst?
    > Möchtest Du, dass sich das Wetter beispielsweise stündlich änder oder wie?


    Für mich völlig unverständlich geschrieben, aber das sage ich ja in jedem Beitrag^^

    Hallo TomBoStar!


    Das ist unter SA-MP so leider nicht machbar...


    Das jeder Spieler so ein Fahrzeug hätte, müsstest Du dann ja serverseitig
    einrichten, doch momentan gibt es keine Möglichkeit einen SA-MP Server
    in dieser Hinsicht auszustatten, um Downloads zu ermöglichen.


    Schaust Du allerdings mal genau hin, wirst Du festellen, dass das Fahrzeug
    welches im Video verwendet wurde in GTA gar nicht existiert, sondern
    es ist schlicht und einfach ein clientseitiges Addon-Car, also ein Mod.


    Das Polizei unter der Kühlerhaupe zu positionieren oder eher im Grill, geht allerding.
    Es gibt Funktionen die Objekte am Fahrzeug ausrichten können.


    Leider fällt mir diese Funktion im Moment nicht ein, da ich solche Dinge
    beim Scripten nicht nutze und dies auch nicht vor habe...


    Ansonsten viel Spaß noch beim Scripten und herumprobieren...

    Ja, na klar - zum Beispiel...


    Nur würde ich Dir als Tipp oder besser gesagt der Form halber sagen,
    dass Deine Positionsabfrage vor der Abfrage des Geldes kommt, es
    sei denn alle Pakete sollen gleich viel Geld kosten.


    Du kannst nun ja noch einen PlayerDialog draus machen oder
    Dir was hüpsches einfallen lassen, um die Pakete abzufragen.


    Siehste, hättest gar nicht fragen müssen... - Lösung allein gefunden!

    Woher bist Du Dir denn so sicher, dass es am MidoStream liegt?

    Ich glaube nicht, dass der MidoStreamer Deinen Server abstürzen lässt...

    Sende doch mal bitte einige Zeilen der Serverlog mehr, am besten
    mal komplett die, eines normalen Starts.

    Hallo Hansi_Hase!

    Dein Vorhaben ist eigentlich recht unkompliziert...

    Du erstellst Deinen Befehl /gun und fragst einfach in diesem Befehl
    die Spielerposition ab.

    Ist der Spieler an der Position für das ersten Waffenpacket, so gibst
    Du ihm einfach das Paket und kannst Ihm nach belieben Geld abziehen
    oder was weiß ich machen.

    Das kannst Du fortsetzen und einfach wieder die nächste Position
    des Spielers abfragen und Ihm dann eben das nächste Paket zu geben.

    Gibt der Spieler /gun ein und steht nicht an einer der Waffenpositionen,
    gibst Du einfach bei der Positionsabfrage mit else einfach eine
    Nachricht aus, die dem Spieler sagt, dass er falsch steht.


    ____________________________________________________________



    Möchtest Du es dann komplexer haben, so dass der Spieler auswählen
    muss, welches Paket er haben möchte, würde ich Dir ganz einfach einen
    OnPlayerDialog empfehlen, da dieser am einfachsten zu Erstellen ist
    und meiner Meinung nach am übersichtlichsten und besten ist.

    http://wiki.sa-mp.com/wiki/How_to_Create_a_Dialog

    Hallo Shain__x!

    Zunächst muss ich feststellen, dass Mac_Taylor Unrecht hat.

    Hättest Du einen Klammerfehler, würde alle Funktionen nach dem Fehler
    nicht eingebunden sein und es würden andere Fehler auftreten.

    Dein Fehler ist eigentlich ganz simpel...

    In Deiner OnPlayerCommandText() Funktion, in der im Godfather
    standardmäßig den ReturnUser verwendet, wird dieser nicht gefunden
    oder Du hast ihn zufällig oder ausversehen gelöscht.

    Er ist meistens oder oftmals direkt unter der CommandText Funktion
    definiert und Du solltest mal nachschauen, ob das bei Dir ist und Du wirst
    festellen, dass es mit Sicherheit nicht so ist.

    Schau mal in einen neueren Godfather und suche Dir diesen Teil, den
    Du wahrscheinlich unbeabsichtigt entfernt hast.

    Hast Du beispielsweise wie im Godfather eine CarInfo, welche die
    Fahrzeuge in einer Enum speichert?

    Oder erkläre nochmals Dein bitte Dein Prinzip...

    Wenn Du vor jeder AddStaticVehicle Funktion jedes mal CopCar[1] oder
    CopCar[2] schreibst und das fortsetzt, ist das ein enormer Schreibaufwand.

    Pack das doch in jedes mal in foreach Schleifen, um lass die Zahlen
    automatisch zuordnen.

    Ansonsten hätte ich auch keine Idee, wie Du das umsetzen könntest...

    Zitat

    Lesen bildet!

    Oh ja! - Das kannst Du aber laut sagen...


    Nunja um Deine Unwissenheit nicht weiter hervorzuheben und mir billige
    Diskussionen sparen zu können, möchte ich darauf hinweisen, dass Dein
    Beitrag trotzdem unangebracht war und sich das Thema damit hat.


    Glänze das nächste mal lieber mit Hilfe und nicht mit coolen Sprüchen
    und unangebrachten Bemerkungen...

    Ist eigentlich ganz simple...


    Du entwirfst einfach einen Parameter, der die alte ID des Fahrzeugs
    vom Spieler beinhaltet.


    Spawnt der Spieler sich ein neues Fahrzeug, stellst Du eine Anweisung
    auf, bei der der Server abfragt, ob die alte Fahrzeuge ID leer ist und
    ist sie das nicht, löscht er das Fahrzeug mit der ID, die in diesem
    Parameter steckt.


    Genau nach dem Löschung setzt Du den Parameter wieder auf den Wert,
    dessen Fahrzeug ID Du gerade gespawnt hast.


    Fertig!


    _____________________________________________________________



    Ein Beispiel für den Funktionsnamen lautet:

    new oldVehicle[MAX_VEHICLES];
    Diese setzt Du beim Spawnen des Fahrzeugs zu dessen ID.


    Dann verfolgst Du die oben beschriebene Möglichkeit zur Abfrage
    und Löschung Deines alten Fahrzeugts...

    EDIT


    @Stoney_Mahoney - So "richtig" Deine klassische Aussage scheinen mag,
    solltest Du eigentlich merken, wie peinlich es ist, wenn man jemand verbessern
    möchte oder sich doof äußern möchte und dabei selbst doof da steht... Warum?


    SendClientMessage(0xfffff,"Erweiterung davon!);
    Wie kann man nur jemand beleidigen/ärgern wollen und so inkopetent sein?
    Von meiner Seite aus - völlig daneben Dein Beitrag und unangebracht!


    Übrigens es müsste folgender Maßen aussehen...


    SendClientMessage(playerid, 0xFFFFFFFF, "Ich sage nichts dazu...");
    Und nein, ich habe nicht nach Fehlern in Deinem Beitrag gesucht, aber
    sowas gehört als "Samp Scripter" zum Grundwissen, aber naja...


    Nur als Überzeugung: http://wiki.sa-mp.com/wiki/SendClientMessage

    ___________________________________________________________________

    Meine Güte...


    Wer des Scriptens nicht mächtig ist, sollte es meiner Meinung nach lassen.
    Daber leider nicht das Thema dieses Beitrags...


    Also zu Deinem Problem:


    if (!fexist(oldname) return;false)
    Ist Dir das Prinzip einer Abfrage überhaupt bewusst?
    > Vielleicht setzt Du Deine Anfrage mal richtig um...


    if(!fexist(oldname)) return false;


    So ein Quark habe ich meinem ganzen Leben noch nicht gesehen...


    Ein return; und ein false nach dem ;?
    Tut mir leid, aber das ist einfach reines Unwissen...


    Egal, änders und es geht.


    Was der Fehler in Zeile 1 zu bedeuten hat, kann ich Dir nur sagen,
    wenn ich die 1. Zeile sehe, also poste sie bitte.