Zoll Pass

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 Leute...


    ich habe einen Zoll... aber ich möchte das manche Leute einen Zoll Pass bekommen damit sie umsonst durchkommen
    also so läuft des ab...


    Der Spieler will einen Zoll Pass der kostet ca 1000$ den kann er von einem Admin bekommen...


    dafür kann er für 5 Tage kostenlos durch den Zoll
    kann mir sowas machen??


    niemand antwortet mir -.-


    MfG Taz

    Einmal editiert, zuletzt von Taz ()

  • Wow Taz, verspür ich da ein 20Sekunden trauer, weil du genau nach 20 Sekunden deinen Beitrag sofort editierst und schreibst "niemand antwortet mir"? ^^


    Zu deinem Thema haben wir eigentlich mehrere Varianten, aber ich bestehe nun irgendwie auf die neuen PVar´s seit 0.3, obwohl sie soviel auch nicht bringen, aber was sollst...


    new zollvalidtimer;


    forward ValidateZoll();


    stock GetName(playerid)
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, sizeof(SpielerName));
    return SpielerName;
    }


    public OnGameModeInit()
    {
    zollvalidtimer = SetTimer("ValidateZoll", 3600000, 1);
    return 1;
    }


    public OnGameModeExit()
    {
    KillTimer(zollvalidtimer);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    SetPVarInt(playerid, "Zollpass", 0);
    new rstring[MAX_PLAYER_NAME+6], File:zollfile, cache[8];
    format(rstring, sizeof(rstring), "%s.zoll", GetName(playerid));
    if(fexist(rstring))
    {
    zollfile = fopen(rstring, io_read);
    fread(zollfile, cache);
    SetPVarInt(playerid, "Zollpass", strval(cache));
    fclose();
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid)
    {
    if(GetPVarInt(playerid, "Zollpass") > 0)
    {
    new rstring[MAX_PLAYER_NAME+6], File:zollfile, cache[8];
    format(cache, sizeof(cache), GetPVarInt(playerid, "Zollpass"));
    format(rstring, sizeof(rstring), "%s.zoll", GetName(playerid));
    zollfile = fopen(rstring, io_write);
    fwrite(zollfile, cache);
    fclose();
    }
    DeletePVar(playerid, "Zollpass");
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[128];
    if(!strcmp(cmdtext, "/zollpass", false))
    {
    new zollwert = 1000; //Wieviel der Zollpass kostet.
    if(!IsPlayerConnected(playerid)) return 1;
    else if(GetPVarInt(playerid, "Zollpass") > 0) format(string, sizeof(string), "Du besitzt bereits einen Zollpass der noch für %dStunden gültig ist!", GetPVarInt(playerid, "Zollpass"));
    else if(!IsPlayerInRangeOfPoint(playerid, 2.5, X, Y, Z)) format(string, sizeof(string), "Du bist nicht an einer Verkaufstelle, wo man einen Zollpass bekommt!");
    else if(GetPlayerMoney(playerid) < zollwert) format(string, sizeof(string), "Du hast keine %d$ für einen Zollpass!", zollwert);
    else
    {
    SetPVarInt(playerid, "Zollpass", 120);
    GivePlayerMoney(playerid, -zollwert);
    format(string, sizeof(string), "Du hast einen Zollpass für %d$, welcher für %dStunden gültig ist, erworben!", zollwert GetPVarInt(playerid, "Zollpass"));
    }
    return SendClientMessage(playerid, 0xFFFFFF00, string);
    }
    return 1;
    }


    public ValidateZoll()
    {
    new playerid = 0;
    for(; playerid < MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid) && GetPVarInt(playerid, "Zollpass") > 0)
    {
    SetPVarInt(playerid, "Zollpass", GetPVarInt(playerid, "Zollpass")-1);
    }
    }
    }


    und zu deinem TorBefehl einfach abfragen ob er einen gültigen Zollpass hat ^^.


    Abfrage:
    if(GetPVarInt(playerid, "Zollpass") == 0) //Wenn Spieler keinen Zollpass hat


    Mfg Templer

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ma ne frage wo komt das alles rein also woe die news rein kommen weiss ich aber der andere krahm WO KOMMT DER REIN ß?

  • steht doch dran einmal hier


    public OnGameModeInit()
    public OnGameModeExit()
    public OnPlayerConnect(playerid)
    public OnPlayerDisconnect(playerid)
    public OnPlayerCommandText(playerid, cmdtext[])
    public ValidateZoll()


    jeweils unter eines der public(e)