Beiträge von Addickted

    if (strcmp(cmdtext, "/me", true) == 0)
    {
    new str[256]; // Erstellt eine Variable vom Typ String
    new playername[MAX_PLAYER_NAME]; // Erstellt eine Variable, dessen Inhalt später der Spielername sein soll
    GetPlayerName(playerid, playername, sizeof(playername)); // GetPlayerName ist eine Funktion, in den Klammern sind die benötigen Angaben die die Funktion braucht um zu funktionieren.
    format(str, sizeof(str), "* %s %s", playername, cmdtext[4]); // Diese Zeile formatiert den String.
    SendClientMessageToAll(WEISS, str); // Hier wird der formatierte String gesendet.
    return 1;
    }


    Ist ja auch logisch, weil durch den Befehl einfach nur der Name des Spielers angezeigt wird. Ein Parameter wird hierbei nie übertragen.


    Was für dich wichtig wäre, wie schon gesagt, erstmal dich mit den ganzen Basic zu beschäftigen.


    Was sind Strings?
    Was sind Variablen?
    Was für Variablen Typen gibt es?
    Wann benutzt man welche Variablen Typen?
    Was sind Bedingungen und wie man benutzt man sie.


    Edit: Ich weiss das der Text nicht mit dem übereinstimmt was du hören willst, aber was bringt es dir wenn wir die Befehle posten die für dich nichtssagend sind.

    Wenn du Blutiger Anfänger bist, wäre der erste Schritt sich mit Variablen aller Art vertraut zu machen, wie man diese schreibt, wie man sie einsetzt, wie man sie erstellt, wie man sie auslesen kann etc.


    Trotzdem, um auf deine Frage zurückzukommen..das sind alles Befehle mit Parametern. Hierfür gibt es verschiedene Methoden.


    Strtok
    Strget (Alternative von Strtok)
    Sscanf


    Ich persönlich schreibe meine Befehle mit Sscanf. Viele Wege führen nach Rom wie du weisst ^^

    Moinsen ihr Fischis :D


    Ich habe 2 Probleme die ich geklärt haben möchte, zum einen lasse ich mir per GetPlayerHealth den Float in ein Userfile schreiben.
    Das Problem an der Sache ist, dass sobald das File geschrieben sprich bei Disconnect erneuert wird, die Energie NICHT korrekt gespeichert wird und ich kann mir grad nicht erklären warum.

    Im File steht dann sowas wie Energie=1.000000 - WARUM?

    Bevor ich es vergesse, die Lebensanzeige ist voll bei Disconnect ;)


    OnPlayerDisconnect

    new Float:health, Float:armour;


    if(dini_Exists(save)) //
    {
    dini_FloatSet(save,"Energie",GetPlayerHealth(playerid,health));
    dini_FloatSet(save,"Ruestung",GetPlayerArmour(playerid,armour))



    OnPlayerSpawn

    SetPlayerHealth(playerid,dini_Float(save,"Energie"));
    SetPlayerArmour(playerid,dini_Float(save,"Ruestung"));


    =================


    Das andere Problem ist, dass ich vorhatte dieses System zu optimieren und ich auch gerne mal mit Enums arbeiten möchte. Der Effekt ist zwar nicht so atemberaubend, aber trotzdem möchte ich es lernen.


    Gut hier mein geschriebenes:


    enum Spielerdaten
    {
    skin,
    wanteds,
    pX,
    pY,
    pZ,
    interior,
    geld
    }


    new Spieler[MAX_PLAYERS][Spielerdaten];


    Spieler[playerid][skin] = GetPlayerSkin(playerid);
    Spieler[playerid][geld] = GetPlayerMoney(playerid);
    Spieler[playerid][wanteds] = GetPlayerWantedLevel(playerid);
    if(dini_Exists(save))
    {
    dini_IntSet(save,"Geld",Spieler[playerid][geld]);
    dini_IntSet(save,"Skin",Spieler[playerid][skin]);
    dini_IntSet(save,"Wanteds",Spieler[playerid][wanteds]);
    }


    Klappt auch soweit ^^
    Aber ich kriege die Syntax nicht gebacken, wenn ich die Koordinaten speichern und auslesen will? Wie schreibe ich das an der Stelle? Btw. /savespawn soll die Coords natürlich speichern ^^

    Wo wir gerade bei dem Thema sind. Wäre es auch möglich eine Datenbank beim einem Freehoster zu nehmen, wie z.B. Funpic? Rein Theoretisch schon oder welche Vorraussetzungen brauche ich um ein DB Orientieres Script zu erstellen?

    Für mich sieht das aus wie gewollt, aber nicht gekonnt. Auch wenns scheisse klingt, hier gehe wirklich jedes Tutorial durch, dann haste so das Grundlegende und etwas erweiterte Wissen rund um Photoshop.


    Hallii

    Zwei Korrekturen für dein Tutorial :P


    Zitat

    Bei src muss der Dateiname inkl. Dateiformat angegeben werden (dieser muss sich im gleichen Ordner befinden, wo die HTML Datei abgespeichert wird).
    ->Bei alt wir der Name angegeben, dieser Name kann beliebig sein z.B. "Logo".


    Src leitet sich vom Englischen Wort source ab und bedeutet, dass man hier hinneinschreiben muss wo die Bilddatei liegt. Sie muss NICHT im gleich Ordner liegen.


    Wenn die Ordnerstruktur meinwegenwegen so aussieht.


    index.html[Datei]
    Bilder[Ordner]


    Schreibt man <img src="Bilder/grafik.gif" alt="Grafik">


    Nun kommen wir zum nächsten. Das Alt Tag ist die Beschreibung des Bildes, falls das Bild mal nicht angezeigt werden sollte. Also am besten ordentlich Beschriften.


    Sonst gutes Tutorial.

    Du hast vergessen zu beschreiben was diese Methoden bedeuten.


    Code
    <!-- Erste Moeglichkeit -->
          <script type="text/javascript" src="sourcecode.js"></script>
    
          <!-- Zweite Moeglichkeit -->
          <script type="text/javascript">


    1. Möglichkeit dient zur externen Einbindung eines Javascript Codes. Vorteil: Man braucht es nur einmal aufzurufen im Seitenkopf.
    2. Möglichkeit ist die In-Tag Variante zur Einbindung eines Codes an Ort und Stelle.


    Korrigiert mich wenn ich falsch liege, Javascript ist lange her ^^

    Das ist meine Variante des Umgebungschats. Funktioniert einwandfrei.


    new UC[MAX_PLAYERS]; // Zum Zwischenspeichern ob man im Umgebunschat ist oder nicht. Unter die Includes damit ^^


    ocmd:uc(playerid,params[])
    {
    if(UC[playerid] == 0) // Fragt die Variable UC oben im Script ab.
    {
    SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist eingeschaltet"); //
    LimitGlobalChatRadius(30.0); // Hier wird der Chatradius eingestellt mit.
    UC[playerid] = 1; // Damit ich den Status später wieder abrufen kann.
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW, " Der Umgebungschat ist ausgeschaltet");
    UC[playerid] = 0;
    return 1;
    }
    }

    Ist das ganz einfach Burak ;)


    Undefined Symbol heisst immer das du eine Variable nicht bezeichnet hast ODER du hast dich so arg vertippt, dass er ein Element einer Funktion als Variable ansieht.


    Loose Indentation = Einrückungsfehler. Schau dir dazu die Zeile an und du müsstest eigtl. auf Anhieb sehen wo der Eünrückfehler besteht.


    Unreachable Code bedeutet du hast den Anweisungsblock nicht geschlossen.


    if(Anweisung)
    { // leitet einen Anweisungsblock ein
    } // schliesst ihn wieder - In deinem Fall fehlt dieser.


    Expected Token heisst, dass da etwas anderes steht, als es sollte und was er statt dem Zeichen erwartet hat.


    Usw. Hoffe du kommst klar.

    Also funktionieren tut es, aber nur zum Verständnis für mich.


    Was tut das Script da jetzt genau? Normal wo laut Wiki die vehicleid steht, ist nun dieses GetPVarInt. Speichert er damit die VehicleID ab, damit das Script später weiss vor welchem Fahrzeug er steht?

    Isn Selfmade.


    vehID über das RepairVehicle(vehID);
    vX,vY,vZ über das IsPlayerInRangeOfPoint


    Oder hab ich da grad nen Logikfehler? :D


    Edit: Ich habe mal die Abfrage umgeändert, nun steht wenn man im FZ sitzt "Bitte steige aus dem Fahrzeug aus!". Reparieren tut er es nicht, auch nicht wenn man davor steht.


    if(pState == PLAYER_STATE_ONFOOT)
    {
    if(IsPlayerInRangeOfPoint(playerid,4.0,vX,vY,vZ))
    {


    SetVehicleHealth(vehID, 1000.0);
    RepairVehicle(vehID);
    }
    }
    else
    {
    if(pState == PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,COLOR_RED,"Bitte steige aus dem Fahrzeug!");
    }
    }
    return 1;
    }

    Die habe ich drin, und sie funktioniert bei mir nicht. Daher möchte ich ja Hilfe haben, sonst würde ich hier wohl kaum reinschreiben.
    Aber anscheinend liest du meine Beiträge gar nicht richtig. Ich sagte das das mal so werden soll. Momentan will ich nur so haben wie oben beschrieben, sprich Person steht im Max. Radius von 4.0 um einen Punkt rum (Fahrzeug) und kann in diesen Radius dieses reparieren.


    Ich habs versucht so wie oben stehend zu lösen, aber es geht nicht.


    if(IsPlayerInRangeOfPoint(playerid,4.0,vX,vY,vZ))
    {
    if(pState == PLAYER_STATE_ONFOOT)
    {


    SetVehicleHealth(vehID, 1000.0);
    RepairVehicle(vehID);
    }
    }
    else
    {
    if(pState == PLAYER_STATE_DRIVER)
    {
    SendClientMessage(playerid,COLOR_RED,"Bitte steige aus dem Fahrzeug!");
    }
    }
    return 1;

    Eigentlich nicht, weil die Abfrage krieg ich hin, wie du sie gepostet hast.


    Ich möchte ein Fahrzeug in einem Umkreis(Radius) von 4.0 reparieren können. Damit du weisst was ich meine:


    Letztendlich will ich das so haben das man nur an einer Tankstelle sein Fahrzeug reparieren kann, wenn man ungefähr daneben steht.


    Für den Moment: Siehe Oben.