[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
  • Hey ich habe eine Frage und zwar habe ich mal bei irgendeinem Script gesehen das wenn jemand ADUTY geht er z.B den Servertag [xXx] vor dem Namen stehen hat und wenn er wieder aus dem Dienst geht es wieder weg ist wie bekomme ich sowas hin?


    Also wenn er nicht Aduty ist heißt er z.B so:


    Günter


    Und wenn er Aduty ist:


    [xXx]Günter

    • Offizieller Beitrag

    Wichtig ist noch, dass SpielerName(playerid) den Spielernamen bei OnPlayerConnect o.Ä. speichert und SpielerName(playerid) dann auch später gespeichert wird, so dass du keine Probleme beim Ausloggen etc. bekommst

  • public OnPlayerConnect(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SendClientMessage(playerid,0xFFAA00FF,"[Server]: Welcome back");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSW ORD,"Login","Your Account was found. Login.","Login","Cancel");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0x00B9FFFF,"Welcome to "ClanTag" DEATHMATCH /killme to Respawn!");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_IN PUT,"Register","Choose a Password to register","Register","Cancel");
    return 1;
    }
    if(sSpieler[playerid][Deaktiviert] == 1) // Zeile 138 "Unreachable code"
    {
    Kick(playerid);
    return 1;
    }
    return 1;
    } (ende von onplayerconnect)


    // "Deaktiviert" ist ein Befehl für einen administrator, bestimmte accouns zu deaktivieren, der spieler soll gekickt werden,
    wenn "deaktiviert" positiv ist



    (138) : warning 225: unreachable code



    Wie kann ich das beheben ?



  • Hallo,


    Ich habe beim Dialog ein Problem das es nur bis San ANdreas Fire Department angezeigt wird beim nexten nur Sa der rest wird nicht angezeigt warum?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ich erhalte Fehler, sehe aber keinen:

    Code
    C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25206) : error 075: input line too long (after substitutions)
    C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : error 037: invalid string (possibly non-terminated string)
    C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : error 017: undefined symbol "Dsso"
    C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : error 017: undefined symbol "Tankstelle"
    C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : fatal error 107: too many error messages on one line


    Code
    if(listitem == 2) //Tankstellen
    				{
                        ShowPlayerDialog(playerid, DIALOG_GPS_TANKE, DIALOG_STYLE_LIST, "GPS", "Dsso Tankstelle Los Santos\nJet Tankstelle Los Santos\nGasso Dillimore\nAgip Tankstelle Montgomery\nbft Las Venturas\nbft Las Venturas West\nTotal Las Venturas\nDDsso Tankstelle Las Venturas\npalwalGo Tankstelle Las Venturas\nAral Tankstelle Bone County\nbft Tankstelle Fort Carson\nJet Tankstelle Tierra Robada\nAral Tankstelle El Quebrados\nTotal Tankstelle San Fierro\nGif Tankstelle San Fierro\nAral Tankstelle Los Santos Nord\nGvR Tankstelle Whetstone", "Auswählen", "Abbrechen");
    				}


    Need Help :/


    @Jeffry

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • Kürze deinen String, indem du entweder nach einigen Zeichen am Ende ein "\" setz

    Das bringt nichts, der Compiler interpretiert das dann trotzdem als eine Zeile leider :/


    Man muss den via strcat, strins, format oder ähnlichem zusammenfügen, ist leider ein Compiler Bug :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • @palwal
    Anstatt dafür jetzt extra den String zu kürzen bzw zusammenzufügen kannst du es auch so schreiben:


    ShowPlayerDialog(playerid, DIALOG_GPS_TANKE, DIALOG_STYLE_LIST, "GPS","Dsso Tankstelle Los Santos\nJet Tankstelle Los Santos\nGasso Dillimore\nAgip Tankstelle Montgomery\nbft Las Venturas\nbft Las Venturas West\nTotal Las Venturas\nDDsso Tankstelle Las Venturas\npalwalGo Tankstelle Las Venturas\nAral Tankstelle Bone County\nbft Tankstelle Fort Carson\nJet Tankstelle Tierra Robada\nAral Tankstelle El Quebrados\nTotal Tankstelle San Fierro\nGif Tankstelle San Fierro\nAral Tankstelle Los Santos Nord\nGvR Tankstelle Whetstone", "Auswählen", "Abbrechen");
    Dann siehts zwar nicht mehr ganz so schön aus, du brauchst aber keine extra Funktionen. (Geht natürlich nur in diesem Fall. Wenn dein String noch länger wird, wirds auch mit der Methode knapp)

  • forward Spieler(playerid);
    public Spieler(playerid)
    {
    if(Players == 1)
    {
    SendClientMessageToAll(GRAU,"[OOC] Es sind nicht genug Spieler zum Starten da!");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    TogglePlayerControllable(i,0);
    }
    }
    if(Players > 1)
    {
    SendClientMessageToAll(GRAU,"[OOC] Es sind genug Spieler zum Starten da!");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    TogglePlayerControllable(i,1);
    }
    }
    return 1;
    }
    forward countdown(sekunden);
    public countdown(sekunden)
    {
    if(sekunden < 0)
    {
    TextDrawHideForAll(textid); //Hier für alle dann verschwinden lassen
    TextDrawDestroy(textid); //Und dann ggf zerstören
    for(new i = 0; i != MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    AddStaticVehicle(603,1996.3143,2107.4868,10.5815,270.9597,75,77); // car 1
    AddStaticVehicle(597,2217.6785,-1144.3297,25.5638,246.3326,0,1); // car cop
    AddPlayerClass(0,2217.9575,-1142.6348,25.8046,246.3701,0,0,0,0,0,0); // person cop
    AddStaticVehicle(597,2225.3459,-1147.9573,25.5848,241.1193,0,1); // car cop 1
    AddPlayerClass(0,2225.7766,-1146.2927,25.8052,241.1622,0,0,0,0,0,0); // person cop 1
    AddStaticVehicle(598,2231.1885,-1147.3685,25.5765,226.9986,0,1); // car cop 1
    AddPlayerClass(0,2232.0166,-1145.8538,25.7969,227.0359,0,0,0,0,0,0); // person cop 2
    AddPlayerClass(0,2207.8762,-1131.3096,25.6250,252.5959,0,0,0,0,0,0); // cop person 3
    AddStaticVehicle(599,2207.8901,-1133.1573,25.8234,252.5959,0,1); // car cop 4
    }
    return 0;
    }
    new string[64];
    format(string,sizeof(string),"Die Runde startet in %d Sekunden",sekunden);
    TextDrawSetString(textid, string);
    sekunden--; //und dann jeweils Sekunden verringern
    SetTimerEx("countdown", 1000, 0, "i", sekunden); //Aufrufen, solange Sekunden >= 0 sind
    return 1;
    }


    Warum spawnt der Spieler nicht nach 10 Sekunden?

  • Warum spawnt der Spieler nicht nach 10 Sekunden?

    Ich verstehe nicht, was du da versuchst.


    AddPlayerClass gibt die Möglichkeit einen Skin zu wählen in der ClassSelection.


    Da musst du ihn auch mal rein setzen, das könntest du mit ForceClassSelection und SpawnPlayer tun.


    Allerdings ist bei AddPlayerClass der erste Parameter die Modelid, wo du überall 0 hast.


    Was hat das für einen Sinn? Er würde immer den CJ Skin angezeigt bekommen.


    Und du erstellst überall Autos für jeden Spieler...die verwenden aufeinander gestapelt xD


    Bei 20 Spielern, macht das 100 Autos und jeweils 20 aufeinander xD gg

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Beitrag von reaL. ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Ganz einfache Lösungsmöglichkeiten:


    • Du erstellst in der MySQL Datenbank auch Fraktion 5. Natürlich alles leer und mit name Test oder sowas. Das einzige was du dann beachten musst ist, dass da niemand reingesetzt werden kann.
    • Oder du machst dass Fraktion 6 zu Fraktion 5 wird. Anschließend wird später Fraktion 5 zu 6. Ich meine, das juckt niemanden welche ID da was hat.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ganz einfache Lösungsmöglichkeiten:


    • Du erstellst in der MySQL Datenbank auch Fraktion 5. Natürlich alles leer und mit name Test oder sowas. Das einzige was du dann beachten musst ist, dass da niemand reingesetzt werden kann.
    • Oder du machst dass Fraktion 6 zu Fraktion 5 wird. Anschließend wird später Fraktion 5 zu 6. Ich meine, das juckt niemanden welche ID da was hat.

    Es geht ja daraum dass man dann Später Fraktionen auch einfach Löschen soll wenn es Geht und dann nicht alles ändern muss.

  • Beitrag von Kaliber ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: #fail ().