[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Ich würde einfach gar keine PlayerClass erstellen... Wenn du am anfang shift bzw. auf Spawn Dürckst wird der Public OnPlayerSpawn aufgerufen. Da kannst du dann z.B. SetplayerPos(playerid, x,y,z) rein schreiben. So kannst du immerhin schonmal auf der Map rummlaufen!

  • new save [13+ MAX_PLAYER_NAME], pName[MAX_PLAYER_NAME;
    GetPlayerName(playerid,pName,sizeof(pName));
    format(save,sizeof(save),"/Spieler/%s.ini",pName));


    Kann mir jemand sagen ob die String Größe optimiert wäre? Was muss ich alles zählen? Muss ich die " " auch dazu zählen? Ich finde leider nicht mehr den Thread wo die Antwort zu meiner Frage steht. Mag mir das jemand kurz beantworten?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Jup ;)


    //edit
    Wobei du solltest einfach folgendes noch ändern, weil es komfortabler ist und Zeilen Spart.


    GetName(playerid) { new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, sizeof(playername)); return playername;}



    So kannst Du es einfacher verwenden:
    new save [13+ MAX_PLAYER_NAME];
    format(save,sizeof(save),"/Spieler/%s.ini",GetName(playerid));


  • Achso die erste Verbesserung wäre jetzt auf meine Art und das zweite wie es noch Optimierter wäre=?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Genau, so sparst Du Dir einfach jedes mal das ganze "gedudel" mit "GetPlayerName" etc. ;)

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

  • Was auch gut ist, wenn du bei OnPlayerconnect einmal GetPlayerName in eine Variabel enspeicherst und dann nur noch diese Aufrufst. Kleines Bespiel:



    new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];


    public OnPlayerConnect(playerid)
    {
    GetPlayerName(playerid,PlayerName[playerid],MAX_PLAYER_NAME);
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[50];
    if(strcmp(cmd, "/test", true) == 0)
    {
    format(string, sizeof(string), "%s",PlayerName[playerid]);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    }
    }


    Jetzt habe ich aber auch noch mal ne frage ist es besser einen Globalen string[500] zu definieren oder lieber bei jedem public oder sogar bei jedem Befehl einen neuen aber dafür eben mit der genauen größe??

  • hey, hätte ne frage.


    Wie kann ich unter ondislogrespnse den Inputtext bei DIALOG_STYLE_INPUT abfragen?

  • ich habs so:


    if(GetPlayerMoney(playerid) >= inputtext)


    dass das net geht is klar wie gehts richtig?

  • Mal ne Frage:
    Wie kann ich eine Nachricht an einen Spieler in einer vorher gewählten Farbe senden?
    SendClientMessage(giveplayerid,colorcode,stringtogiveplayerid);
    Kommt aber:
    tag mismatch


    Colorcode ist ein String (new colorcode[12])



    Wie soll ich es denn sonst machen?

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