[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
  • Beitrag von Bluewall ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Funktioniert nun, dennoch werden bei der SAPD und FBI Waffenkammer einfach 0 Materialien angezeigt. Obwohl ich mich ausrüsten kann (geht nur mit Materialien) und in der Datenbank ein Wert vorhanden ist.
    format(string,sizeof(string),""COLOR_HEX_BLUE"Waffenkammer SAPD\n"COLOR_HEX_WHITE"%d/20000",Others[SAPDMaterialien]);
    Create3DTextLabel(string,COLOR_WHITE,1568.7274,-1690.1193,6.2188,20.0,0,1);
    format(string,sizeof(string),""COLOR_HEX_BLUE"Waffenkammer FBI\n"COLOR_HEX_WHITE"%d/20000",Others[FBIMaterialien]);
    Create3DTextLabel(string,COLOR_WHITE,-1594.2123,716.2598,-4.9063,20.0,0,1);

  • Ok. In welcher Reihenfolge erstellst du dann die Labels un lädst du die Daten aus der Datenbank?
    Denn, die Ausführreihenfolge ist wie folgt:
    //Achtung: Pseudo-Code
    public OnGameModeInit()
    {
    print("1");
    mysql_tquery(..."OnDataLoaded"...);
    print("2");
    return 1;
    }


    forward OnDataLoaded();
    public OnDataLoaded()
    {
    print("3");
    return 1;
    }


    Wenn du die Labels an Stelle 2 erstellst, dann verschiebe dies zu Stelle 3, nach den ganzen cache_... Funktionen.

  • Jeffry:


    Hey Jeffry, ich bins wieder. Hat übrigends alles geklappt.


    Nur bin ich dabei jetzt die Befehle so umzuändern das nur noch Admins die Befehle benutzen können, habe da leider aber kleine Probleme.



    Mein Befehl sieht so aus:



    ocmd:tpgun(playerid,params[])
    {
    new str[256];
    if(Teleportgun[playerid] == 1)
    if(PlayerInfo[playerid][pAdmin] >= 5)
    {
    format(str, sizeof(str), "Teleportgun {FF0000}deaktiviert{FFFFFF}.");
    Teleportgun[playerid] = 0;
    SendClientMessage(playerid, 0xFFFFFFFF, str);
    }
    else
    {
    format(str, sizeof(str), "Teleportgun {00FF00}aktiviert{FFFFFF}.");
    Teleportgun[playerid] = 1;
    SendClientMessage(playerid, 0xFFFFFFFF, str);
    }
    else ErrorMessages(playerid, 1);
    return 1;
    }



    Habe da die Admin Abfrage eingebaut, bin Ingame Admin Level 5, doch beim eingeben des Befehls kommt die ErrorMessage (Nur Admins können den Befehl benutzen etc).



    Weißt woran das liegt? Ist das erste mal das ich in meinen Befehlen eine Admin Abfrage einbaue.




    So sieht z.B bei meinem Script ein AdminBefehl aus (nicht von mir):



    ocmd:akill(playerid, params[])
    {
    new id;
    if(PlayerInfo[playerid][pAdmin] >= 5)
    {
    if(sscanf(params, "u", id))return SendClientMessage(playerid, COLOR_GREY, "USAGE: /akill [playerid]");
    SetPlayerHealth(id, 0);
    new string[128];
    format(string, sizeof(string), "Admin %s has killed you!", GetName(playerid));
    SendClientMessage(id, COLOR_RED, string);
    }
    else ErrorMessages(playerid, 1);
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Alles klar!
    Die Reihenfolge passt nicht ganz.
    So:
    ocmd:tpgun(playerid,params[])
    {
    new str[64];
    if(PlayerInfo[playerid][pAdmin] >= 5)
    {
    if(Teleportgun[playerid] == 1)
    {
    format(str, sizeof(str), "Teleportgun {FF0000}deaktiviert{FFFFFF}.");
    Teleportgun[playerid] = 0;
    SendClientMessage(playerid, 0xFFFFFFFF, str);
    }
    else
    {
    format(str, sizeof(str), "Teleportgun {00FF00}aktiviert{FFFFFF}.");
    Teleportgun[playerid] = 1;
    SendClientMessage(playerid, 0xFFFFFFFF, str);
    }
    }
    else ErrorMessages(playerid, 1);
    return 1;
    }

  • Ach was wären wir nur ohne dich Jeffry:


    Funktioniert reibungslos, doch eins möchte ich noch wissen. Ich habe gemerkt das du den Wert bei new str[64]; verändert hast.
    Ist das besser und wenn ja, wieso? Ich habe in Vermutung das man SAMP Technisch nur 64 Zeichen machen kann, bin mir aber nicht sicher.


    Klär mich bitte auf :D


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Nachdem ich die neuen Includes der Version 0.3.7 RC 6 reingepackt habe habe ich folgenden Error:
    (5700) : error 025: function heading differs from prototype


    public OnPlayerEditAttachedObject( playerid, response, index, modelid2, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ )

  • Ich wollte 0.3.7 Sirenen bei normalen Cars einfügen und bekomme dabei warnings...


    warning 202: number of arguments does not match definition | hier z.B.
    PolizeiVehs[19] = AddStaticVehicleEx(560,1534.6359,-1643.9915,5.5958,180.0313,-1,-1,-1,1); // LSPD 2 sultan


    was mach ich den bitte falsch? xD
    Sind eigentlich die neusten Includes und Dateien von 0.3.7.

  • Die Funktion funktioniert nicht in den Versionen vor 0.3.7.
    Lade dir den neusten Serverordner herunter, und update alle deine Dateien (sprich Includes, samp.server.exe, etc..).


    !ACHTUNG!:
    Achte aber bitte darauf, das du erst deine Filterscripts und Gamemodes in einen anderen Ordner (oder Desktop) ziehst, damit diese nicht gelöscht werden!!

  • [pwn=68]
    #define MAX_FRAGEN 15
    #define MAX_EST 9
    enum EST_FRAGEN_ENUM{
    frage[256],
    richtige_antwort[256],
    user_antwort[256],
    bool:richtig
    }


    new EST_Fragen [MAX_FRAGEN][EST_FRAGEN_ENUM] =
    {
    {"***Frage1***", "richtigeAntwort15", "--", false},
    {"***Frage2***", "richtigeAntwort15", "--", false},
    {"***Frage3***", "richtigeAntwort15", "--", false},
    {"***Frage4***", "richtigeAntwort15", "--", false},
    {"***Frage5***", "richtigeAntwort15", "--", false},
    {"***Frage6***", "richtigeAntwort15", "--", false},
    {"***Frage7***", "richtigeAntwort15", "--", false},
    {"***Frage8***", "richtigeAntwort15", "--", false},
    {"***Frage9***", "richtigeAntwort15", "--", false},
    {"***Frage10***", "richtigeAntwort15", "--", false},
    {"***Frage11***", "richtigeAntwort15", "--", false},
    {"***Frage12***", "richtigeAntwort15", "--", false},
    {"***Frage13***", "richtigeAntwort15", "--", false},
    {"***Frage14***", "richtigeAntwort15", "--", false},
    {"***Frage15***", "richtigeAntwort15", "--", false}
    };
    [/pwn]
    - - Dieses Array würde ich gerne 3-dimensional machen.
    Wenn ich folgendes mache:

    Spoiler anzeigen
    [pwn=70]
    enum EST_FRAGEN_ENUM{
    frage[256],
    richtige_antwort[256],
    user_antwort[256],
    bool:richtig
    }[/expander] [/expander] [/expander]

    Spoiler anzeigen
    [expander][expander][expander]
    [/expander] [/expander] [/expander]

    Spoiler anzeigen
    [expander][expander][expander]new EST_Fragen [MAX_EST][MAX_FRAGEN][EST_FRAGEN_ENUM] =
    {
    {"***Frage1***", "richtigeAntwort15", "--", false},
    {"***Frage2***", "richtigeAntwort15", "--", false},
    {"***Frage3***", "richtigeAntwort15", "--", false},
    {"***Frage4***", "richtigeAntwort15", "--", false},
    {"***Frage5***", "richtigeAntwort15", "--", false},
    {"***Frage6***", "richtigeAntwort15", "--", false},
    {"***Frage7***", "richtigeAntwort15", "--", false},
    {"***Frage8***", "richtigeAntwort15", "--", false},
    {"***Frage9***", "richtigeAntwort15", "--", false},
    {"***Frage10***", "richtigeAntwort15", "--", false},
    {"***Frage11***", "richtigeAntwort15", "--", false},
    {"***Frage12***", "richtigeAntwort15", "--", false},
    {"***Frage13***", "richtigeAntwort15", "--", false},
    {"***Frage14***", "richtigeAntwort15", "--", false},
    {"***Frage15***", "richtigeAntwort15", "--", false}
    };
    [/pwn][/expander]
    komm der Fehler:
    [/expander] [/expander]

    Spoiler anzeigen
    Code
    C:***fbiserver.pwn(87) : error 018: initialization data exceeds declared size
    C:***fbiserver.pwn(94) : error 010: invalid function or declaration

    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen

    Egal, wo ich die 3. Dimension hinstelle, es kommt immer ein Fehler.