Beiträge von Jeffry

    Wenn du das Debugging nicht hinbekommst, dann lade den ganzen Code hoch und erkläre Schritt für Schritt was du machst, wenn du dem Server beitrittst und ganz genau was passiert. Dann schaue ich mir den Code an und kann es so vielleicht nachvollziehen, warum du bei einem falschen Login gespawnt wirst. Der Fehler kann eigentlich überall sein, je nach dem wie komplex dein Code schon ist.

    Auf der Suche nach dem Problem habe ich das hier gefunden: Server Starten MySQL
    Irgendwie lustig, dass es genau der gleiche Code ist. ^^


    Was passiert eigentlich, wenn du den Code einfach so machst, ohne das ganze andere Zeug:
    stock Connect_To_Database()
    {
    mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
    }


    Hast du die Datenbank bei einem Host, oder liegt die bei dir auf dem Rechner? Falls der Server gehostet ist: Liegt die Datenbank auf dem selben Server? Hast du irgendwelche Zugangsdaten bekommen, von deinem Host?

    Ändere das auf jeden Fall mal zu:
    if(dialogid==DIALOG_LOGIN)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Gib bitte dein Passwort ein.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen auf Red-Game0v3r-Reallife,\n\n\n\n Bitte logge dich nun ein!\n\n\n","Login","Abbrechen");
    }
    }
    return 1;
    }


    Wenn es immer noch nicht geht solltest du den Code mal debuggen, das heißt mit prints zwischen den Zeilen bestücken, um den Verlauf des Codes zu wissen, dann findest du heraus, warum du deim Zivi Spawn raus kommst.
    Wie du das machst steht hier: [ SCRIPTING ] Debugnachrichten

    Kommt darauf an. Wenn es über ein Filesystem geht, welches auf einem Linux Server ist, dann ist es Case sensitive. Auf einem Windows Server nicht.
    MySQL ist allgemein nicht Case sensitive. Vielleicht gibt es eine Möglichkeit es so einzustellen, dass die Namen Case sensitive erkannt werden, da weiß ich aber nichts.


    Die allermeisten machen es deshalb nicht über den Name, sondern geben dem Spieler wenn er sich registriert eine eindeutige ID, und greifen über die ID auf die Stats zu, anstatt über den Namen.


    Übrigens, SAMP ist auch nicht Case sensitive. Wenn du in einen Server als JEFFRY gehst, und ich komme als Jeffry, komme ich auch nicht rein.

    Vergiss sscanf.
    Ganz einfach mit strtok.


    CMD:waren(playerid,params[]){
    if(!IsPlayerConnected(playerid)||gPlayerLogged[playerid] == 0)return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht eingeloggt.");
    if(PlayerInfo[playerid][pJob] != 14)return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Pilot!");
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 553)return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur mit einer Nevada Waren transportieren!");
    new aktion[20],string[128],string2[128],string3[128],menge,preis = menge*15,geld = Waren2Dabei[playerid] * 30+random(80),lohn = Waren3Verkauft[playerid] - 80, idx, tmp[20];
    if(!strlen(params)){
    SendClientMessage(playerid, COLOR_GOLD, "____________________________|Warenhilfe|____________________________");
    SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /waren [Aktion]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbare Funktionen: kaufen, tauschen, verkaufen, abrechnen");
    SendClientMessage(playerid, COLOR_WHITE, "*Kaufen [SF], Tauschen [LS], Verkaufen [LV], Abrechnen [SF]");
    SendClientMessage(playerid, COLOR_GOLD, "__________________________________________________________________");
    return 1;
    }
    aktion = strtok(params, idx);
    if(!strcmp(aktion,"kaufen",true))
    {
    print("Kaufen 1");
    if(!IsPlayerInRangeOfPoint(playerid, 90.0, -1233.6982,-88.1554,14.9228))return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht am Hangar am San Fiero Airport!");
    print("kaufen 2");
    if(WarenDabei[playerid] >= 75)return SendClientMessage(playerid, COLOR_GREY, "Du hast schon 75 Waren dabei!");
    print("kaufen 3");
    tmp = strtok(params, idx);
    if(!strlen(tmp))return SendClientMessage(playerid, COLOR_GREY, "Benutzung: /waren kaufen [Anzahl] | *Preis pro Ware: 15$, Maximale Waren: 75");
    menge = strval(tmp);
    print("kaufen 4");
    if(menge < 5 || menge > 75)return SendClientMessage(playerid, COLOR_GREY, "Du musst mindestens 5 Waren und maximal 75 Waren kaufen!");
    print("kaufen 5");
    if(preis > GetPlayerMoney(playerid))return SendClientMessage(playerid, COLOR_GREY, "Kannst du dir nicht leisten!");
    print("kaufen 6");
    WarenDabei[playerid] += menge;
    GivePlayerMoney(playerid, -preis);
    format(string, sizeof(string), "*Du hast dir %d Waren im Wert von %d$ gekauft", menge, preis);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Fliege jetzt zum LS Airport (Roter Marker)");
    SetPlayerCheckpoint(playerid, 1888.6704,-2638.9941,13.5469, 8.0);
    return 1;
    }
    //Tauschen, Verkaufen, Abrechnen funktioniert alles, da kein weiterer Parameter benötigt wird.
    return 1;
    }


    strtok: http://forum.sa-mp.de/gta-mult…eschnipsel-57#post1965719

    GivePlayerWeapon(playerid, fInfo[fID][f_waffe1]);
    GivePlayerWeapon(playerid, fInfo[fID][f_ammo1]);
    GivePlayerWeapon(playerid, fInfo[fID][f_waffe2]);
    GivePlayerWeapon(playerid, fInfo[fID][f_ammo2]);


    zu:
    GivePlayerWeapon(playerid, fInfo[fID][f_waffe1], fInfo[fID][f_ammo1]);
    GivePlayerWeapon(playerid, fInfo[fID][f_waffe2], fInfo[fID][f_ammo2]);

    Dann ist das der Grund. Du hast mehr Variablen in Gebrauch als dem Compiler lieb ist.


    Füge unter die Includes das ein:
    #pragma dynamic 100000


    Falls die Meldung nicht weg geht, erhöhe die Zahl etwas.


    Dann sollte es klappen.



    EDIT:
    XHSD: Freut mich, dass ich helfen konnte. :)