[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
  • Mach es einfach so:


    new string[128] = "Following Admins are currently online:\n";


    //Edit: Dann musst du aber unten die Abfrage ändern in:
    if(strlen(string) == 40)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • dcmd_admins(playerid,params[])
    {
    #pragma unused params
    new string[400] = "{FFFFFF} Following Admins are available:\n\n";
    new NameR[20];
    new string2[120];

    for(new i; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !AccInfo[i][Level] || AccInfo[i][Hide]) continue;
    format(string, sizeof string, "%s {FFFFFF}Admin %s (ID:%i) - {0098D3}Level %d{FFFFFF}\n",string,PlayerName2(i),i, AccInfo[i][Level]);
    }
    if(strlen(string) == 40) return ShowPlayerDialog(playerid,NO_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins","\nThere are currently no Admins available.","Close","");
    ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",string,"Close","");

    GetPlayerName(playerid, NameR, sizeof(NameR));
    format(string2,sizeof(string2),"* %s (ID:%d) has checked all available Admins.",NameR,playerid);
    MessageToAdmins(COLOR_MAUVE, string2);
    return 1;
    }

  • Hier, schreib es so:


    dcmd_admins(playerid,params[])
    {
    #pragma unused params
    new string[400] = "{FFFFFF} Following Admins are available:\n\n";
    for(new i; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !AccInfo[i][Level] || AccInfo[i][Hide]) continue;
    format(string, sizeof string, "%s {FFFFFF}Admin %s (ID:%i) - {0098D3}Level %d{FFFFFF}\n",string,PlayerName2(i),i, AccInfo[i][Level]);
    }
    if(strlen(string) == 42) ShowPlayerDialog(playerid,NO_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins","\nThere are currently no Admins available.","Close","");
    else ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",string,"Close","");
    format(string,sizeof(string),"* %s (ID:%d) has checked all available Admins.",PlayerName2(playerid),playerid);
    return MessageToAdmins(COLOR_MAUVE, string);
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

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

  • Erst den Skin setzen, dann ins das Auto setzen. Das sollte kein Problem sein, funktioniert ohne Probleme bei mir.

    wie halt ich das denn auseinander? muss ich erst SetPlayerSkin angeben, und dann
    untendrunter ihn in das Fahrzeug setzen wie hier?:


    if(strcmp(playername, "Jamie", true) == 0)
    {
    PlayerInfo[playerid][pChar] = 25;
    SetPlayerSkin(playerid, 25);
    PutPlayerInVehicle(playerid, car_Jamie, 0);
    PlayerInfo[playerid][pCarLic] = 1;
    }



    oder muss ich das mit einem Timer regeln?

  • Möchte aber leider nicht klappen.
    Bei NPC's die nur rumstehen oder rumlaufen, ist dies nicht der Fall, dort klappt alles.


    Komisch. Sicher, dass du dem NPC nicht noch woanders den Skin setzt, und es deshalb nicht klappt?
    Du könntest es natürlich auch mal mit einem Timer versuchen, der den Skin nach ein paar Sekunden erst setzt.


    Hast du einen /setskin Befehl? Wenn ja, probiere doch damit mal den Skin zu setzen. Wenn es damit geht, geht es auch mit einem Timer, der würde das Problem umgehen.


    Falls nichts davon klappt schau ich morgen mal bei mir, ob diese Methoden bei mir alle klappen.

  • Kann man definierte Preise nicht in einem Dialog anzeigen lassen?




    ShowPlayerDialog(playerid, DIALOG_GUN_NAH, DIALOG_STYLE_LIST,"Nahkampfwaffen","Stock ($P_STOCK)\nSchlagring ($P_SCHLAG)\nGolfschläger ($P_GOLF)\nSchaufel ($P_SCHAUFEL)\nBaseballschläger ($P_BASE)\nKatana ($P_KATANA)\nMesser ($P_MESSER)","Kaufen","Abbrechen");


    // Gun Shop Preise
    #define P_STOCK 20
    #define P_SCHLAG 50
    #define P_GOLF 100
    #define P_SCHAUFEL 250
    #define P_BASE 500
    #define P_KATANA 1500
    #define P_MESSER 8000


    case 0: // Stock
    {
    if(GetPlayerMoney(playerid) < P_STOCK) return SendClientMessage(playerid,-1, "Du hast nicht genug Geld für einen Stock.");
    GivePlayerWeapon(playerid,15,1);
    GivePlayerMoney(playerid, -P_STOCK);


    Wenn ich was kaufe, klappt schon alles, nur die Anzeige ist kaputt. :huh:

  • Das hab ich schon Probiert, da kommen diese Error Meldungen :D
    D:\SA-MP Server 0.3z\SA-MP Server 0.3z von Andreas\gamemodes\Andreas.pwn(1450) : error 001: expected token: "-string end-", but found "-identifier-"
    D:\SA-MP Server 0.3z\SA-MP Server 0.3z von Andreas\gamemodes\Andreas.pwn(1450) : error 001: expected token: "-string end-", but found "-identifier-"
    D:\SA-MP Server 0.3z\SA-MP Server 0.3z von Andreas\gamemodes\Andreas.pwn(1450) : warning 215: expression has no effect
    D:\SA-MP Server 0.3z\SA-MP Server 0.3z von Andreas\gamemodes\Andreas.pwn(1450) : error 001: expected token: ";", but found "-integer value-"
    D:\SA-MP Server 0.3z\SA-MP Server 0.3z von Andreas\gamemodes\Andreas.pwn(1450) : fatal error 107: too many error messages on one line

  • ShowPlayerDialog(playerid, DIALOG_GUN_NAH, DIALOG_STYLE_LIST,"Nahkampfwaffen","Stock ($"#P_STOCK")\nSchlagring ($"#P_SCHLAG")\nGolfschläger ($"#P_GOLF")\nSchaufel ($"#P_SCHAUFEL")\nBaseballschläger ($"#P_BASE")\nKatana ($"#P_KATANA")\nMesser ($"#P_MESSER")","Kaufen","Abbrechen");


    # Hashtag :thumbup: