Merkwürdiger Fehler oO

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
  • Hallo,


    bin mir jetzt nicht sicher, wie ich das Problem beschreibe, deswegen poste ich auch erstmal keine Codeschnipsel (außer auf Anfrage).
    Ich versuchs einfach mal zu erklären:


    Ich habe bei OnPlayerConnect eine Abfrage via mySQL, ob der connectende User bereits existiert oder nicht, falls nicht -> Registration.
    Der Spieler registriert sich, wird dann an einem von mir festgelegten Ort durch SetSpawnInfo + SpawnPlayer in LS gespawned, gefreezed und bekommt einen Dialog zu sehen. Sobald er den Dialog schließt, wird er unfreezed und sollte rumlaufen können wie er lustig ist.


    So weit so gut, scheinbar scheint das aber nur in 50% der Fälle zu funktionieren (wenn ich länger mit der Registrationseingabe warte oder so, keine Ahnung?)


    In den anderen 50% bekommt der Spieler zwar auch seinen Dialog vor die Nase gesetzt, wird aber, sobald er diesen schließt, nicht unfreezed und das Script scheint einfach nicht weiter zu gehen oO


    Da ich nicht wirklich ne Vorstellung habe, woran das liegen könnte, poste ich einfach mal nur den OnDialogResponse-Teil, falls mehr benötigt wird, bescheid sagen ;)



    if (dialogid == D_REG_1) {
    if (!response) return Kick(playerid);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 0);
    new query[256], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(query, sizeof(query), "INSERT INTO `samp_list_users` (`userName`, `userPass`, `userSkin`, `userLevel`, `userMoney`, `userBank`, `userBankMoney`) VALUES ('%s', '%s', '78', '1', '1000000', '0', '0')", pName, inputtext);
    mysql_query(query);
    SetPVarInt(playerid, "userLogged", 1);


    SetTimerEx("introStep", 5000, false, "dd", playerid, 1);

    }


    Der Dialog, der nach dem Freeze erscheint und geschlossen wird:



    else if (dialogid == D_QST_INF) {
    if (GetPVarInt(playerid, "questId") == 1 && GetPVarInt(playerid, "stepId") == 2) {
    TogglePlayerControllable(playerid, 1);
    if (GetPVarInt(playerid, "introGotMoney") != 1) {
    SetPVarInt(playerid, "userMoney", 1500000);
    GivePlayerMoney(playerid, 1500000);
    SetPVarInt(playerid, "introGotMoney", 1);
    }
    SetCameraBehindPlayer(playerid);
    introStep(playerid, 2);
    }
    }


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'