PayDay - Zeit abfragen,

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 eine Frage ich wollte mal fragen weil ich es schon öfters gesehen habe dass man mit
    "/payday" die PayDay Zeit oder so abfragen kann. Ich weiß jedoch nicht was ich gerade für einen Code posten könnte.
    Ich benutze das "WoS - Script (Bearbeitet)


    Kann mir da jemand vielleicht nen Codeschnipsel oder so geben?
    Gruß

  • Hey ich nehme an das das so definiert ist .. ich habs jetz mal die Daten aus einem gf script hier


    if(!strcmp(cmdtext, "/paydayzeit", true))
    {
    new string1[200];
    format(string1, sizeof string1, " Payday in %d Minuten!", 60-PlayerInfo[playerid][pPlayMinutes]);
    SendClientMessage(playerid, COLOR_BLUE, string1);
    return 1;
    }

  • if(strcmp("/paydayzeit",cmdtext,true) == 0)
    {
    new pdstring[125];
    format(pdstring, sizeof, pdstring, "Noch %d Minuten bis zum PayDay.", 60- PlayerInfo[playerid][pPlayMinutes]);
    SendClientMessage(playerid,COLOR_BLUE,pdstring);
    return 1 ;
    }


    Ich habs mir auch so ähnlich wie deins vorgestellt. Nur ich muss ja "pPlayMinutes" irgendwie definieren,
    damit es die Zeit abruft wie lange noch zu spielen ist.


    Da weiß ich nicht weiter


    Gruß

  • Du könntest global einen Array definieren, zB new PayDayRest[MAX_PLAYERS]; //Array definieren und PayDayRest[playerid] = gettime()+3600; //Am besten nach dem Login, 3600 könntest du auch durch gespeicherte Restzeit ersetzen
    3600 Sekunden wären 60 Minuten.
    Wenn du dann /paydayzeit eingibst, einfach wieder den Array abrufen: new rest = PayDayRest[playerid]-gettime();

    Greetz

  • Was ist daran falsch?
    new PayDayRest[MAX_PLAYERS];
    PayDayRest[playerid] = gettime()+3600;

    if(strcmp("/paydayzeit",cmdtext,true) == 0)
    {
    new pdstring[125];
    new rest = PayDayRest[playerid]-gettime(); //Error Zeile
    format(pdstring, sizeof, pdstring, "Noch %d Minuten bis zum PayDay.", rest);
    SendClientMessage(playerid,COLOR_BLUE,pdstring);
    return 1 ;
    }


    C:\Users\Hanne\Desktop\Southstate - Roleplay\WoS 3.0.3\gamemodes\Southstate-Roleplay.pwn(32067) : error 020: invalid symbol name ""
    C:\Users\Hanne\Desktop\Southstate - Roleplay\WoS 3.0.3\gamemodes\Southstate-Roleplay.pwn(32067) : warning 215: expression has no effect
    C:\Users\Hanne\Desktop\Southstate - Roleplay\WoS 3.0.3\gamemodes\Southstate-Roleplay.pwn(32067) : warning 215: expression has no effect
    C:\Users\Hanne\Desktop\Southstate - Roleplay\WoS 3.0.3\gamemodes\Southstate-Roleplay.pwn(32067) : warning 215: expression has no effect
    C:\Users\Hanne\Desktop\Southstate - Roleplay\WoS 3.0.3\gamemodes\Southstate-Roleplay.pwn(32067) : error 001: expected token: ";", but found ")"
    C:\Users\Hanne\Desktop\Southstate - Roleplay\WoS 3.0.3\gamemodes\Southstate-Roleplay.pwn(32067) : error 029: invalid expression, assumed zero
    C:\Users\Hanne\Desktop\Southstate - Roleplay\WoS 3.0.3\gamemodes\Southstate-Roleplay.pwn(32067) : fatal error 107: too many error messages on one lin

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Habe doch noch ein Problem und zwar wird meine PayDayZeit nach Relogg nicht gespeichert bzw fängt immer wieder von 60 an :/


    Kann mir jemand sagen warum?


    if(strcmp("/paydayzeit",cmdtext,true) == 0)
    {
    new pdstring[125];
    new rest = PayDayRest[playerid]-gettime();
    format(pdstring, sizeof(pdstring), "Noch %d Minuten bis zum PayDay.",rest/60);
    SendClientMessage(playerid,COLOR_LCN,pdstring);
    return 1 ;
    }

  • format(string,sizeof(string),"Noch %d Minuten bis zum Payday.",60-DeineDefinitionfürdiePaydayzeit);
    SendClientMessage(playerid,FARBE,string);



    So sollte es gehen, da das ganze eh in Minuten gespeichert wird (Paydayzeit) Und das müsstest du minus 60 rechnen, damit du die restliche Zeit rauskriegst



    MfG

  • So dann:?


    enum_pInfo:


    prest,

    OnPlayerConnect:
    prest = 60


    OnPlayerRegister
    format(var, 32, "prest=%d\n", rest); fwrite(hFile,var);


    PlayerUpdate


    format(var, 32, "prest=%d\n",prest);fwrite(hFile,var);


    OnPlayerLogin:
    if( strcmp( key , "prest" , true ) == 0 ) { val = ini_GetValue( Data ); rest = strval( val ); }

    if(strcmp("/paydayzeit",cmdtext,true) == 0)
    {
    new pdstring[125];
    new prest = PayDayRest[playerid]-gettime();
    format(pdstring, sizeof(pdstring), "Noch %d Minuten bis zum PayDay.",prest/60);
    SendClientMessage(playerid,COLOR_LCN,pdstring);
    return 1 ;
    }