Beiträge von Jeffry

    Was sagt der MySQL Log, wenn du den Parken-Befehl dann so ausführst?


    EDIT:
    format(query,sizeof(query)," `Perso`=%i WHERE `Id`='%i'",query,
    zu:
    format(query,sizeof(query)," %s`Perso`=%i WHERE `Id`='%i'",query,


    @DerHazeing

    Du hast es nicht richtig gemacht.



    Dort steht vor jeder (bis auf der ersten) Zeile ein "%s" und am Ende des Formats ein "string".


    Da du string schonmal irgendwo definiert hast, nenne es "str" oder "strx" oder wie auch immer du es nennen willst.

    Nutzt du einen anderen Compiler, oder einen anderen Editor?
    Mit dem Standard-Pawno+Compiler geht es bei mir ohne Probleme.


    Am Code sollte es daher nicht liegen.
    Probiere es bitte mal in einem leeren Filterscript auch so.



    #include <a_samp>


    #define MAX_DYNAMIC_ACTORS 10
    #define INVALID_ACTOR_ID -1
    #define ACTOR_STREAM_TICK_RATE 100


    enum e_DynamicActors
    {
    e_iSlotUsed,
    e_iActorModel,
    Float:e_fActorX,
    Float:e_fActorY,
    Float:e_fActorZ,
    Float:e_fActorA,
    e_iActorVirtual,
    e_iActorInterior,
    e_iActorTimer,
    e_iActorID,
    e_iActorName[128]
    };
    static s_DynamicActors[MAX_DYNAMIC_ACTORS][e_DynamicActors];



    public OnFilterScriptInit()
    {
    CreateDynamicActor(299,1201.5687,-901.2305,42.8438,308.4897,-1,-1);//Letzter Parameter nicht angegeben
    CreateDynamicActor(299,1201.5687,-901.2305,42.8438,308.4897,-1,-1,"Mike");//Mit Parameter
    return 1;
    }




    stock CreateDynamicActor(modelid, Float:x, Float:y, Float:z, Float:angle, worldid = -1, interiorid = -1, const actorname[] = "UNKNOWN_ACTOR_NAME")
    {
    for (new i = 0; i < MAX_DYNAMIC_ACTORS; i ++)
    {
    if (!s_DynamicActors[i][e_iSlotUsed])
    {
    s_DynamicActors[i][e_iSlotUsed] = 1;
    s_DynamicActors[i][e_iActorModel] = modelid;
    s_DynamicActors[i][e_fActorX] = x;
    s_DynamicActors[i][e_fActorY] = y;
    s_DynamicActors[i][e_fActorZ] = z;
    s_DynamicActors[i][e_fActorA] = angle;
    s_DynamicActors[i][e_iActorVirtual] = worldid;
    s_DynamicActors[i][e_iActorInterior] = interiorid;
    s_DynamicActors[i][e_iActorID] = INVALID_ACTOR_ID;
    format(s_DynamicActors[i][e_iActorName], MAX_PLAYER_NAME, actorname);
    s_DynamicActors[i][e_iActorTimer] = SetTimerEx("OnActorStreamUpdate", ACTOR_STREAM_TICK_RATE, true, "i", i);
    return i;
    }
    }
    return INVALID_ACTOR_ID;
    }

    Du nutzt viel zu viele Variablen dort.
    Entferne alle die Array-Deklarationen (AlleZeilen, Zeile1, ...) und schreibe vor der IsPlayerConnected Abfrage einmal ein new string[1500]; hin.
    Dann baue deine Zeilen so auf:

    format(string, sizeof(string), "\n{C9DCEF}Hier findest du alle Administrationsbefehle für den Admin-Rang '{FFFF00}Supporter{C9DCEF}':");
    format(string, sizeof(string), "%s\n{FFFFFF}/mute /kick /a /warn /goto /gethere /aduty /oaduty /checkwaffen /tban /tunban", string);
    format(string, sizeof(string), "%s\n{FFFFFF}/countdown /aw /cleartext (/ct) /checkwarns /freeze /unfreeze", string);
    //...

    Hast du zu dem Plugin eine mysql_static.so? Wenn ja, versuche diese.
    Wenn nein, dann setze dich mit deinem Host in Verbindung, der soll dir diese Datei installieren.

    Das installiert die verschiedenen Runtimes.
    Aus der Beschreibung:



    Du musst es also nur starten.


    Installiere es am besten über die "Manuelle Installation" (neben dem Download Button), dann kommt der Installer von Chip nicht mit.

    Wie XeroX schon gesagt hat, geht da so direkt nicht, da über Zahlen zugegriffen werden muss.
    Allerdings gibt es zwei Möglichkeiten, das etwas anders zu realisieren.


    1.)
    Wenn es sich um Spieler-Werte handelt, dann könnte man es über PVars regeln, sprich so:
    string = "aktien";
    SetPVarInt(playerid, string, 1);
    Das geht allerdings nur für Spieler die online sind, sprich man könnte das zum Setzen von Stats oder ähnlichem Nutzen.


    2.)
    Alternativ dazu könnte man es so realisieren, für alle Arrays, allerdings ist das natürlich nicht dynamisch.
    new cDaten:zugriff;
    if(!strcmp(string, "aktien", true)) zugriff = aktien;
    else if(!strcmp(string, "devisen", true)) zugriff = devisen;
    //...
    else { } //ggf. abfangen
    Config[zugriff] = 1;