[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
  • Achso, du hast das Ausrufezeichen vergessen.
    Also, if(!PlayerInfo[playerid][pAdmin]
    und bei dem IsPlayerAdmin das selbe

    Das nimmt er nicht an...


    C:\Users\ASUS\Desktop\---\gamemodes\ZRP.pwn(62196) : warning 213: tag mismatch




  • Sorry bin am Handy:



    ocmd:makeadmin(playerid, params[])
    {
    if(PlayerInfo[playerid][pAdmin] == 2002 || IsPlayerAdmin(playerid))
    {
    new zahl, string[128], pID;
    if(sscanf(params, "ui", pID, zahl))return SendClientMessage(playerid, COLOR_GREY, "{247BA6}* Benutze: {00FF00}/makeadmin [SpielerID/Name] [Level]");
    if(zahl < 0 || zahl > 2002)return SendClientMessage(playerid, COLOR_GREY, "Wähle eine Zahl zwischen 0 und 5.");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY,"Der Spieler nicht nicht Online!");
    PlayerInfo[pID][pAdmin] = zahl;
    format(string, sizeof(string), "Projektleiter %s hat dich zu einem Level %d Admin befördert/degradiert.", GetName(playerid), zahl);
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast %s zu einem Level %d Admin befördert/degradiert.", GetName(pID), zahl);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SetPlayerHealth(playerid, 100);
    }


    else
    {
    //Hier Error Nachricht wegen Berechtigungen
    }
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Hallo.


    Habe eine Kurze Frage wen man das Gebäude Betritt sollte komm z.b Burger Shot /essen
    Habe verschiedene Namen und iwie zeigt er mir nichts an...









  • Habe lange nicht gescriptet aber mögliche Lösungen mMn:


    GivePlayerMoney(playerid, (money * -1));//oderSetPlayerMoney(playerid, GetPlayerMoney(playerid) - money);


    ___________________________



    format(string, sizeof(string), "%s~n~~w~/essen", eatType);


    eatType ergibt in diesem Zusammenhang keinen Sinn. Es wird dir immer 7 (wenn ich mich nicht verzählt hab) liefern. Wenn schon:
    EAT[i][eatType]
    Hier bekommst du aber auch nur den Zahlenwert. Am besten nutzt du nen Array mit den Namen entsprechend deiner Definition:



    new eatNames[3][] = {"Burger Shot", "Cluckin Bell", "Well Stacked"};
    Sieht dann im Endeffekt so aus:


    format(string, sizeof(string), "%s~n~~w~/essen", eatNames[EAT[i][eatType]]);


    xXSeXyBreaDXx -> BREAD. -> [LoG]Bread -> Bread

    Einmal editiert, zuletzt von Bread ()

  • Beitrag von Dr. Frauenarzt ()

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

  • Hallo,


    Ich habe eben ein Prison Befehl Erstellt.
    Ich habe das Problem wen ich jemanden zum Prison Telepotieren will wiederholt sich: {247BA6}* Benutze: {00FF00}/prison [SpielerID/Name] [Zeit in Minuten] [Grund]

  • Hallo,


    Ich habe eben ein Prison Befehl Erstellt.
    Ich habe das Problem wen ich jemanden zum Prison Telepotieren will wiederholt sich: {247BA6}* Benutze: {00FF00}/prison [SpielerID/Name] [Zeit in Minuten] [Grund]

    Der Befehl scheint mir beim ersten durchschauen korrekt.
    Was passiert denn nach dem Spawn? Bzw wo setzt du ihn den ins Prison?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hat denn schon jemand nen Plan, wie man bei 0.3.8 die VC oder LC Map installiert ?

    Danke, jedoch erhalte ich nirgendwo die .dff dateien, welche er beim Laden, laden will.


    Code
    [artwork:crc] vc2sa/dff/golfroad5.dff CRC = 0x0
    [artwork:error] Bad file: vc2sa/dff/golfroad5.dff
    [artwork:crc] vc2sa/dff/LODpedbridge3.dff CRC = 0x0
    [artwork:error] Bad file: vc2sa/dff/LODpedbridge3.dff
    [artwork:crc] vc2sa/dff/golfroad3.dff CRC = 0x0
    [artwork:error] Bad file: vc2sa/dff/golfroad3.dff
  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Erledigt ().
  • Tag,


    hab hier ein kleines Problemchen mit nem Dialog;


    Listitem 0 wird erfolgreich aufgerufen, 1 erscheint jedoch kein Dialog.
    Keine Ahnung woran das liegt. Kann mir kurz wer helfen :D^^ ?



    if (dialogid == DIALOG_PLAYERS && response)
    {
    PickedID[playerid] = Listitem[playerid][listitem];
    ShowPlayerDialog(playerid, DIALOG_PLAYERS_OV, DIALOG_STYLE_LIST, "Informationen", "K/D Rate\nSchussgenauigkeit", "Weiter", "Abbruch");
    }
    if (dialogid == DIALOG_PLAYERS_OV && response)
    {
    if (listitem == 0)
    {
    new dialog[360];
    format(dialog, sizeof(dialog), "\
    {FFFFFF}Kill / Death Ratio von %s:\n\n\
    {FFFFFF}Morde:\t\t\t{FF8800}%d\n\
    {FFFFFF}Tode:\t\t\t{FF8800}%d\n\
    {FFFFFF}K/D:\t\t\t{FF8800}%0.2f\n\n\
    {FFFFFF}Morde (Anteil):\t{FF8800}%d%%\n\
    {FFFFFF}Tode (Anteil):\t\t{FF8800}%d%%\n\n\
    {FFFFFF}Gelandete Treffer:\t{FF8800}%d",
    FullName(PickedID[playerid]),
    GetPlayerKills(PickedID[playerid]),
    GetPlayerDeaths(PickedID[playerid]),
    ((GetPlayerKills(PickedID[playerid]) * 1.0) / (GetPlayerDeaths(PickedID[playerid]) * 1.0)),
    floatround((100.0 / (GetPlayerKills(PickedID[playerid]) + GetPlayerDeaths(PickedID[playerid]))) * GetPlayerKills(PickedID[playerid]) * 1.0),
    floatround((100.0 / (GetPlayerKills(PickedID[playerid]) + GetPlayerDeaths(PickedID[playerid]))) * GetPlayerDeaths(PickedID[playerid])),
    Player[playerid][landedhits]);
    ShowPlayerDialog(playerid, DIALOG_PLAYERS_OV + 1, DIALOG_STYLE_MSGBOX, "K/D Ratio", dialog, "Ok", "Schließen");
    }
    else if (listitem == 1)
    {
    new dialog[360];
    format(dialog, sizeof(dialog), "\
    {FFFFFF}Genauigkeit von %s:\n\n\
    {FFFFFF}Kopftreffer:\t\t{FF8800}%.1f%%\n\
    {FFFFFF}Körpertreffer:\t\t{FF8800}%.1f%%\n\
    {FFFFFF}Beintreffer:\t\t{FF8800}%.1f%%",
    FullName(PickedID[playerid]),
    Player[PickedID[playerid]][headhits] / ((Player[PickedID[playerid]][headhits] + Player[PickedID[playerid]][bodyhits] + Player[PickedID[playerid]][leghits]) / 100),
    Player[PickedID[playerid]][bodyhits] / ((Player[PickedID[playerid]][headhits] + Player[PickedID[playerid]][bodyhits] + Player[PickedID[playerid]][leghits]) / 100),
    Player[PickedID[playerid]][leghits] / ((Player[PickedID[playerid]][headhits] + Player[PickedID[playerid]][bodyhits] + Player[PickedID[playerid]][leghits]) / 100));
    ShowPlayerDialog(playerid, DIALOG_PLAYERS_OV + 2, DIALOG_STYLE_MSGBOX, "Trefferquote", dialog, "Ok", "Schließen");
    }
    }

  • Schau mal, du Speicherst den Listitem im: PickedID[playerid] = Listitem[playerid];
    Aber fragst ab: if (listitem == 0)


    Nutze also: if(PickedID[playerid] == 0)


    Mfg.


    // Edit:


    Im Wiki ist aber es aber auch so zufinden:

    if(dialogid == DIALOG_WEAPONS)
    {
    if(response) // If they clicked 'Select' or double-clicked a weapon
    {
    // Give them the weapon
    switch(listitem)
    {
    case 0: GivePlayerWeapon(playerid, WEAPON_DEAGLE, 14); // Give them a desert eagle
    case 1: GivePlayerWeapon(playerid, WEAPON_AK47, 120); // Give them an AK-47
    case 2: GivePlayerWeapon(playerid, WEAPON_SHOTGSPA, 28); // Give them a Combat Shotgun
    }
    }
    return 1; // We handled a dialog, so return 1. Just like OnPlayerCommandText.
    }

    Die Missglückte Persönlichkeit, Ciao!

  • In PickedID speichere ich die ID des Spielers, von welchem ich die Informationen aufrufen möchte.
    Diese ID ziehe ich aus den listitem des ersten Dialoges (der Namen halt).


    Anschließen kann ich von diesem Spieler entweder die KD aufrufen, oder die Treffgenauigkeit.


    Würde ich da etwas falsch haben, würde sich die KD nicht öffnen. Aber das tut sie. Lediglich listitem 1 (Treffgenauigkeit) öffnet sich nicht.