1 Frage und ein Script Wunsch.

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
  • Guten Arbend leute, ich habe da mal eine frage und zwar wen ich Sterbe kommt das ich skin wider aus wählen kann. Was abber nicht soll.



    Hir mein OnPlayerDeath:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SetPlayerHealth(playerid, 100.0);
    SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
    SetPlayerPos(playerid, 1190.8490,-1308.2883,13.9596);
    PlayerInfo[playerid][pHausX] = 1190.8490;
    PlayerInfo[playerid][pHausY] = -1308.2883;
    PlayerInfo[playerid][pHausZ] = 13.9596;
    GivePlayerMoney(playerid, -300);
    SendClientMessage(playerid, COLOR_YELLOW, "Der Krankenhausaufenthalt kostet dich 300 $!");
    new kassengeld;
    new buffer[32];
    new File: pFile = fopen("staat.txt", io_read);
    fread(pFile, buffer);
    kassengeld = strval(buffer);
    fclose(pFile);
    kassengeld+=250;
    new File: hFile = fopen("staat.txt", io_write);
    format(buffer, sizeof(buffer), "%d", kassengeld);
    fwrite(hFile, buffer);
    fclose(hFile);
    //Freezed[playerid] = false;*/
    return 1;
    }


    So Meine 2 Frage ist. Könnte mir jemand ein TimeOut System machen das heißt wenn ich an stelle a eine Timeout bekomme das ich da wider Spawne wo ich einen TimeOut bekommen habe?


    Viele Dank in voraus :thumbup:

  • Uff, ein timeout system? da hab ich stunden dran gesessen.
    Das is eig nit so schwer, aber iwie war es das schon.
    Du musst halt alle paar sekunden die pos saven. Un wenn der spieler n to hatte, dann wird der auf die pos gesetzt. Wenn der keinen hatte, wird das auf 0 gesetzt un er spawnt wieder ganz normal


    MFG, Rob

  • Mach unter
    public OnPlayerDisconnect(playerid, reason)
    ne Abfrage.
    if(reason == 0) also wenns ein Timeout ist, dann machste in deinem Userfile halt irgendwie
    Timeout=1 oder wie du deine Daten da handhabst und machst
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    und sicherst die 3 Koordinaten auch wieder im Userfile.


    Spoiler anzeigen
    Dann unter
    public OnPlayerConnect(playerid)
    if(Timeout[playerid] == 1)
    und dann wenn diese Abfrage zutrifft, wird halt die PlayerPos wieder auf die gespeicherten Werte gesetzt.

    Spoiler anzeigen
    /e.T.: Schwachsinn.... Wenn man das Spiel leaved, bekommt man zu 80% bei reconnect ne neue playerid !


    Sind jetzt nur Schnipsel, also kein Copy&Paste... Sind nur Denkanstöße!



    Einmal editiert, zuletzt von Trooper[Y] ()

  • Ich verstehe das nicht. xD Kannst mir komplet machen?



    Ps:


    Es ist kein godfather