Beiträge von Goldkiller

    params kannst in diesem Fall durch cmdtext[10] ersetzen ( wenn unter OnPlayerCommandText ).
    Warum 10 ?
    Angenommen du gibst "/makebizz 500 1 1 1" ein, dann müssen wir den Text bis nach dem ersten Leerzeichen hinter makebizz abschneiden. Einfach den index von cmdtext direkt ansprechen.
    "/makebizz " muss weg. Einfachen die Zeichen zählen, dann hast den korrekten index.

    Das ist normal und auch logisch. Hast wohl den Textdraw zentriert eingestellt.
    Du kannst es auch über format lösen:
    format(string,sizeof(string),"kills %2d", <var_kills>);
    Wird die Zahl immer über mindestens 2 Zeichen darstellen.
    Heisst jetzt Beispielsweise:
    kills 5
    kills 10


    Den Textdraw musst du jetzt aber etwas nach rechts schieben.

    _: entfernt nur das Tag.
    Beispiel:
    new Text:tdTextdraw;
    tdTextdraw = CreateTextDraw(...);
    if( _: tdTextdraw == 1000 ) // gibt kein tag mismatch
    // if ( tdTextdraw == 1000 ) // gibt ein tag mismatch
    enum ProblemEnum
    {
    ProblemID,
    NochMehr[5],
    ProblemText[255]
    }
    ProblemID,NochMehr und ProblemText haben hier nämlich das Tag ProblemEnum, also:
    new ProblemEnum:var = ProblemEnum:ProblemID; // macht kaum Sinn,funktioniert aber


    Zum Anderen,
    GetAnimationName(index, animlib[], len1, animname[], len2)
    prüfen ob animlib "SWIN" heisst.

    sizeof brauch man dafür gar nicht.
    printf("size ProblemText %d ", _:ProblemEnum - _:ProblemText);
    Das gilt dann aber auch nur für den letzten Eintrag ( ProblemText ) des enum's ProblemEnum .

    _v[MAX_VEHICLES][ 0 ] ;
    Index 0 wird nie belegt, liegt an der Vergabe deiner Zahlem hier:
    #define MOTOR 1
    #define LICHT 2
    #define ALARM 3
    #define TUREN 4
    #define MOTORHAUBE 5
    #define KOFFERRAUM 6
    #define OBJEKTIVE 7
    Fang lieber bei 0 an, dann ist die Größe des Arrays auch 7 ( so wie du es wohl sicherlich möchtest bzw dachtest ) und nicht 8.


    #define MOTOR 1
    #define LICHT 2
    #define ALARM 3
    #define TUREN 4
    #define MOTORHAUBE 5
    #define KOFFERRAUM 6
    #define OBJEKTIVE 50
    Kannst es ja mal so kompilieren und gucken ob sich was an der Größe der *.AMX verändert,dadurch dass aus OBJEKTIVE 7 -> OBJEKTIVE 50 wird.

    Gibt da auch einen Trick um es ausrechnen zu lassen. Einfache Mathemtik und bischen Verständnis für das Schlüsselwort "enum" brauch man dafür aber schon :p.
    Bin mir nicht mehr ganz sicher wie es ging,die hat die "größe" direkt erfasst. Es funktioniert aber auch Problemlos so:


    #include <a_samp>


    enum ProblemEnum
    {
    ProblemID,
    NochMehr[5],
    ProblemText[255],
    dummy // ohne den dummy wäre ProblemText nicht rechenbar

    }
    main() {
    printf("size ProblemText %d ", _:dummy - _:ProblemText ); // für größe von ProblemText
    printf("size NochMehr %d ", _:ProblemText - _:NochMehr ); // für größe von NochMehr
    printf("size ProblemID %d ", _:NochMehr - _:ProblemID ); // für größe von ProblemID
    }
    Wieso das funktioniert ? Hinter ProblemID,NochMehr,ProblemText und dummy stecken nur Zahlen.
    Es funktioniert auch ohne dummy, müsste man dann aber etwas schreiben .

    Lohnt sich eh nicht,das Callback OnPlayerPrivmsg existiert nicht mehr regulär in SA:MP.Früher wurde das Callback über /PM aufgerufen, gibt es aber schon bestimmt seit 0.3a nicht mehr.
    Kannst es also auch genau so gut löschen ( oder mit deiner eigenen /PM Funktion verknüpfen ).

    Fcar_get hast du nicht gepostet. Was wird dort zurückgegeben ? Überleg doch mal einen Schritt weiter, falls man dir helfen soll.
    Falls es ein String / Array sein sollte,dann ist folgendes falsch:
    new ServerCars[MAX_CARS][ServerVeh];
    for(new i;i<MAX_CARS;i++)
    {
    ServerCars[i][carID] = Fcar_Get(i,"carID"); // <- falsch,da kein Array
    ServerCars[i][carX] = Fcar_Get(i,"PosX");// <- falsch,da kein Array
    ServerCars[i][carY] = Fcar_Get(i,"PosY");// <- falsch,da kein Array
    ServerCars[i][carZ] = Fcar_Get(i,"PosZ");// <- falsch,da kein Array
    ServerCars[i][carA] = Fcar_Get(i,"PosA");// <- falsch,da kein Array
    ServerCars[i][Color1] = Fcar_Get(i,"C1");// <- falsch,da kein Array
    ServerCars[i][Color2] = Fcar_Get(i,"C2");// <- falsch,da kein Array
    ServerCars[i][Numplate] = Fcar_Get(i,"Numplate");// <- richtig,da Numplate ein Array ist.Jede bezweifel ich,dass Fcar_Get ein Array der größte 50 zurück gibt
    CreateVehicle(ServerCars[i][carID],ServerCars[i][carX],ServerCars[i][carY],ServerCars[i][carZ],ServerCars[i][carA],ServerCars[i][Color1],ServerCars[i][Color2],-1);
    }

    format(string,sizeof(string),"Die SkinID wurde erkannt\nGeben sie nun die WaffenID ein\Wenn ihr NPC keine Waffe haben soll drücken sie Keine");//Hier der error
    [..] WaffenID ein\Wenn ihr NPC[..] .
    Nach \ hast wohl das n vergessen,denn \ ist ein besonderes Zeichen. Da kann nicht jedes X-Beliebige Zeichen drauf folgen.

    Und Zeilen markieren war nicht möglich :-O?


    mysql_SetInt("accounts", "Level", "12", SpielerName(playerid)); // <- "12" ist kein Integer-Wert
    mysql_SetInt("accounts", "Geld", 300, SpielerName(playerid));
    mysql_SetInt("accounts", "Kills", 10, SpielerName(playerid));
    mysql_SetInt("accounts", "Tode", 5, 5, SpielerName(playerid)); // <-- Ehm , 5, 5, ? Wohl eher doppelt ;)
    mysql_SetFloat("accounts", "Health", , 10.0, SpielerName(playerid)); // , , - Da sind zwei Kommata, eines muss weg
    Übrigenes fehlt dort überall noch "Name" vor SpielerName() .


    //Edit:
    http://forum.sa-mp.de/san-andr…-login-register-beispiel/

    Zitat

    mysql_SetInt "Updatet" den Wert der an der Angegebenen Stelle in der Tabelle liegt, auf den neuen Wert den wir angegeben haben.


    Table[] - Die Tabelle in der der Wert verändert werden soll.
    Field[] - Das Feld (die Spalte) in der der Wert verändert werden soll.
    To - Der Wert der an der in das Angegebene feld eingetragen werden soll.
    Where[] - Das Feld (die Spalte) in der Nach der Bedingung gesucht wird.
    Where2[] - Die bedingung um die richtige Reihe zu finden.


    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);

    Nein.
    Ich hab alles im Post erwähnt.
    Du hast nichts von dem gemacht,was ich geschrieben habe. Ich seh nicht mal auf den ersten Blick, ob du überhaupt irgendwas geändert hast.


    new /* Text3D:ADuty[MAX_PLAYERS],adminduty[128] , */ string[128];
    ADuty und adminduty ( adminduty sollte immernoch MAX_PLAYERS als größe haben,nicht 128 ) sind immernoch nicht Global, da du sie in der Funktion deklarierst. Mit "static" würde es zwar funktionieren,aber das lassen wir lieber mal.
    Weisst du denn wenigstens wie du eine Variable Global deklarierst ? Du schreibst die Variable einfach nicht in irgendeine Funktion hinnein. Am besten in den Kopf deines Scriptes ( bevor irgendwas mit main() oder On<Irgendwas> kommt ) .