Punkt nur einmal einnehmen

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 ich möchte gerne hier noch einbauen das man diesen punkt nur einmal pro minute einnehmen kann im moment kann man einnehmen durhcgehen spammen ich möchte das gerne verhindern so einfach wie möglich denke mit 1minute sperre sollte es gehen hoffe jmd. kann mir helfen:


    if(strcmp(cmdtext,"/einnehmen",true) == 0)
    {
    if(PlayerToPoint(1.0,playerid,-804.4577,1519.2581,27.1172))
    {
    if(ImPickup[playerid] == false)
    {
    if(gTeam[playerid] == TEAM_Cops)
    {
    new striiiing[128], naaaaaame[MAX_PLAYER_NAME];
    GetPlayerName(playerid, naaaaaame, sizeof(naaaaaame));
    format(striiiing, sizeof(striiiing), "* Eingenommen !");
    SendClientMessageToAll(0x00FF14FF, striiiing);
    SendClientMessage(playerid, 0x828282FF, " jede Minute gibts 1 Punkt für dein Team ! ¢");
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    PPickupPos[playerid][X] = pos[0];
    PPickupPos[playerid][Y] = pos[1];
    PPickupPos[playerid][Z] = pos[2];
    PPickupPos[playerid][timer3] = SetTimerEx("Poscheck",3000,true,"i",playerid);
    PPickupPos[playerid][timer4] = SetTimerEx("ScoreTimer",43000,false,"i",playerid);
    ImPickup[playerid] = true;
    }
    }

  • Also ich würde dir raten erst denken dann schreiben, hast mal einfach wahrlos gepostet ? Naja egal


    Machs so:


    erstell eine Player Variable die beim command /einnehmen auf 1 gesetzt wird..


    dann soll er ein Timer starten wie da unten schon steht nur für spieler und in einer Minute also (60.000) sekunden losgehen. und die var auf 0 setzten


    so schwer :? oder muss man es dir vorschreiben.

  • Ok, schreibe dir mal kurz en code


    if(strcmp(cmdtext,"/einnehmen",true) == 0)
    {
    if(PlayerToPoint(1.0,playerid,-804.4577,1519.2581,27.1172))
    {
    if(ImPickup[playerid] == false)
    {
    if(gTeam[playerid] == TEAM_Cops)
    {
    if(GetPVarInt(playerid, "Einnehmen") == 0)
    {
    new striiiing[128], naaaaaame[MAX_PLAYER_NAME];
    GetPlayerName(playerid, naaaaaame, sizeof(naaaaaame));
    format(striiiing, sizeof(striiiing), "* Eingenommen !");
    SendClientMessageToAll(0x00FF14FF, striiiing);
    SendClientMessage(playerid, 0x828282FF, " jede Minute gibts 1 Punkt für dein Team ! ¢");
    new Float:pos[3];
    GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
    PPickupPos[playerid][X] = pos[0];
    PPickupPos[playerid][Y] = pos[1];
    PPickupPos[playerid][Z] = pos[2];
    PPickupPos[playerid][timer3] = SetTimerEx("Poscheck",3000,true,"i",playerid);
    PPickupPos[playerid][timer4] = SetTimerEx("ScoreTimer",43000,false,"i",playerid);
    ImPickup[playerid] = true;
    SetPVarInt(playerid, "Einnehmen", "1");
    SetTimerEx("unSetEinnehmen",60000,false,"i",playerid);
    }
    else
    {
    //deine nachricht wenn er nichtmehr einnehmen kann.
    }
    }
    }

    forward unSetEinnehmen(playerid);
    public unSetEinnehmen(playerid)
    {
    SetPVarInt(playerid, "Einnehmen", "0");
    }


    Info ungetestet :9 kurz und schnell geschrieben