Beiträge von Klemmlampe

    Ich würde immer zu Arrays raten, sie sind einfacher und haben enorme Vorteile (Schleifen z.B.). Ganz nebenbei sind sie auch noch schonender, da man weniger Variablen benötigt.


    Arrays definiert man als Variable mit einer Angabe in zwei eckigen Klammern dahinter (Initialisierungswert/Summe). Will man einen Array verwenden muss man bei 0 anfangen zu zählen, das erste Element ist also 0, das zweite 1 usw.


    Sollte dich die Thematik interessieren, kannst du mein kleines Tutorial (Abschnitt Arrays) lesen. [ SCRIPTING ] Variablentypen
    Für Fragen stehe ich gerne offen.

    Nein.
    SetTimerEx ist für Parameter gedacht und wird nur selten benötigt, da man mit ein wenig umschreiben eine schonendere Variante mit SetTimer hinbekommt.
    Zum Beenden kannst du einfach Killtimer nutzen, du brauchst allerdings die ID des erstellten Timers (am besten in einer Variable speichern).


    OT: Datum...

    Würde ich dir aber nicht empfehlen, da du am Ende pro Spieler einen Timer hast (bedeutet: 20 infizierte Spieler = 20 Timer). Nutze lieber weiterhin SetTimer und gehe darin eine Schleife durch, ob der Spieler infiziert ist und ziehe dann Gesundheit ab.

    Viel herumgerätselt, eine einfache Lösung:
    GetPlayerIp(playerid,SpielerIPcheck[playerid][IPcheck],16); // IP kann maximal 16 Zeichen besitzen
    dini_Set(Accounts,"IPcheck",SpielerIPcheck[playerid][IPcheck]);

    Kannst du jetzt mal deinen Fehler halbwegs plausibel erklären? Du willst ein eigenes Commandsystem bauen, richtig? Dann musst du auch die Parameter abgreifen und weiter verwerten, aber bei dieser Fehlerbeschreibung kann man beim besten Willen nicht durchblicken.

    Zitat

    19:52 deadinat0r das wäre, wie wenn ich ein Auto durch eine Banane ersetze und mich wundere, warum es nicht fährt


    Es ergibt absolut keinen Sinn, ein Commandsystem/Processort durch ein Dateisystem (Dateiverwaltungssystem) zu ersetzen, wenn du erklärst, was du meinst, könnte man auch helfen.

    Zum Thema Zeiger/Pointer: http://www.cplusplus.com/forum/articles/9621/


    Zum Thread: Du schreibst in deiner Signatur:

    Zitat

    Ich biete an:
    [...]
    C# Coding


    Also hast du dich schon entschieden oder schreibst du das nur aus Spaß rein?


    Ansonsten würde ich dir zu C++ raten, ist einfach am effektivsten, zwar am schwersten/meisten der Aufgeführten zu lernen, doch du solltest am Ende mehr Erfolg (= Möglichkeiten und Leistung) haben.

    Die Größe (= Länge) von Spielernamen beträgt 20 (nicht 32), ich würde jedoch die Definition direkt aus der a_samp.inc nutzen, MAX_PLAYER_NAME.


    Bei Texten die du im Chat ausgibst sind 128 die perfekte Größe, da SAMP nicht mehr unterstützt, bei Dialogen, Texdraws und Co. gelten wieder andere Werte, siehe hier.


    Um die Variablentypen und deren Aufgaben zu verstehen, kannst du auch in meine Signatur schauen, evtl. macht dir mein Tutorial das Ganze etwas klarer.


    // Edit: Whoops, da war jemand schneller :O

    sscanf ist eine weitere Include (bzw. auch Plugin), das brauchst du ebenfalls.



    SpielerName(pID)
    SpielerName ist eine Funktion und kann deshalb auch nicht als Variable definiert werden. Die Funktion könnte so aussehen (ist aus dem Kopf, sollte aber funktionieren):
    stock SpielerName(playerid)
    {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    return Name;
    }

    Du musst den kompletten Server im "home" Verzeichnis installieren, woanders kann er nicht starten!


    Völliger Schwachsinn.


    Wenn du die Dateien schon per WinSCP hochlädst, setze doch direkt dort den Chmod für das ganze Serververzeichnis. Das kannst du per Rechtsklick auf das Verzeichnis -> Properties dort trägst du 0766 ein.


    Die Lösung mit dem & hinter dem Befehl kann funktionieren, muss aber nicht. Screen ist da das sicherste und du kannst deinen Prozess leichter kontrollieren.

    cd Serververzeichnis
    ./samp03svr


    Allerdings ist das nicht zum normalen und dauerhaften Serverbetrieb gedacht, eher zum Testen. Willst du den Server durchgehend laufen lassen, musst bzw. solltest du auf screen zurückgreifen.


    PS: Chmod ändern, 0766 sollte ein guter Wert sein.