Bei einem Befehl ein Timer setzten aber wie?

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
  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • SetTimerEx("Callback",60000,true,"i",1,playerid);



    Jede Minute wird das Public "Callback" nun aufgerufen und playerid wird übergeben.

  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.

  • new wtimer[playerid];


    forward wtimerset(spielerid);
    public wtimerset(spielerid)
    {
    wtimer[playerid] = 1;
    }



    ocmd:disweapon(playerid,params[])
    {
    if(wtimer[playerid] = 0)return SendClientMessage(playerid,GRAU,"Warte 1 Minute!");
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,GRAU,"Du darfst nicht in einem Fahrzeug sitzen!");
    new f = MAX_WAFFENDROP+1,GunID = GetPlayerWeapon(playerid),GunAmmo = GetPlayerAmmo(playerid), string[128];
    new Float:X, Float:Y, Float:Z;
    if(GunID > 0 && GunAmmo != 0)
    {
    for(new a = 0; a < MAX_WAFFENDROP; a++)
    {
    if(dGunData[a][ObjPos][0] == 0.0)
    {
    f = a;
    break;
    }
    }
    if(GunID == 27)
    {
    RemovePlayerWeapon(playerid,GunID);
    SendClientMessage(playerid, -1, "{FE2E2E}Diese Waffe kann nicht fallen gelassen werden. Sie wurde aus deinem Inventar gelöscht!");
    return 1;
    }
    RemovePlayerWeapon(playerid,GunID);
    dGunData[f][ObjData][0] = GunID;
    dGunData[f][ObjData][1] = GunAmmo;
    GetPlayerPos(playerid,dGunData[f][ObjPos][0],dGunData[f][ObjPos][1],dGunData[f][ObjPos][2]);
    dGunData[f][ObjID] = CreateDynamicObject(GunObjects[GunID],dGunData[f][ObjPos][0],dGunData[f][ObjPos][1],dGunData[f][ObjPos][2]-1,93.7,120.0,120.0);
    format(string,sizeof(string),"** %s lässt etwas fallen! **",SpielerName(playerid));
    WaffenPickup = CreatePickup(1274, 2, Float:X, Float:Y, Float:Z, -1);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    SetTimerEx("wtimerset",60000,true,"i",1,playerid);
    wtimer[playerid] = 0;
    return 1;
    }
    return SendClientMessage(playerid,GRAU,"Du hast keine Waffe in der Hand!");
    }



    UNGETESTET

  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • forward wtimerset(spielerid);
    public wtimerset(spielerid)
    {
    wtimer[playerid] = 1;
    }


    zu


    forward wtimerset(playerid);
    public wtimerset(playerid)
    {
    wtimer[playerid] = 1;
    }

  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.

  • Zeile 88168 - 88169 - 88196 Bitte posten

  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Wozu einen Timer?
    Mach es so:


    ocmd:disweapon(playerid,params[])
    {
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,GRAU,"Du darfst nicht in einem Fahrzeug sitzen!");
    if(gettime() < SpielerInfo[playerid][pDropGun])return SendClientMessage(playerid,GRAU,"Du kannst deine Waffen nur jede Minute fallen lassen!");
    new f = MAX_WAFFENDROP+1,GunID = GetPlayerWeapon(playerid),GunAmmo = GetPlayerAmmo(playerid), string[128];
    new Float:X, Float:Y, Float:Z;
    if(GunID > 0 && GunAmmo != 0)
    {
    for(new a = 0; a < MAX_WAFFENDROP; a++)
    {
    if(dGunData[a][ObjPos][0] == 0.0)
    {
    f = a;
    break;
    }
    }
    if(GunID == 27)
    {
    RemovePlayerWeapon(playerid,GunID);
    SendClientMessage(playerid, -1, "{FE2E2E}Diese Waffe kann nicht fallen gelassen werden. Sie wurde aus deinem Inventar gelöscht!");
    return 1;
    }
    RemovePlayerWeapon(playerid,GunID);
    dGunData[f][ObjData][0] = GunID;
    dGunData[f][ObjData][1] = GunAmmo;
    GetPlayerPos(playerid,dGunData[f][ObjPos][0],dGunData[f][ObjPos][1],dGunData[f][ObjPos][2]);
    dGunData[f][ObjID] = CreateDynamicObject(GunObjects[GunID],dGunData[f][ObjPos][0],dGunData[f][ObjPos][1],dGunData[f][ObjPos][2]-1,93.7,120.0,120.0);
    format(string,sizeof(string),"** %s lässt etwas fallen! **",SpielerName(playerid));
    WaffenPickup = CreatePickup(1274, 2, Float:X, Float:Y, Float:Z, -1);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    SpielerInfo[playerid][pDropGun] = gettime() + (1*60);
    return 1;
    }
    return SendClientMessage(playerid,GRAU,"Du hast keine Waffe in der Hand!");
    }


    Oben bei deinen SpielerDaten halt noch pDropGun hinzufügen.

  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von Almaz ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • mach es einfach so:


    new pDropGun[MAX_PLAYERS];
    ocmd:disweapon(playerid,params[])
    {
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,GRAU,"Du darfst nicht in einem Fahrzeug sitzen!");
    if(gettime() < pDropGun[playerid])return SendClientMessage(playerid,GRAU,"Du kannst deine Waffen nur jede Minute fallen lassen!");
    new f = MAX_WAFFENDROP+1,GunID = GetPlayerWeapon(playerid),GunAmmo = GetPlayerAmmo(playerid), string[128];
    new Float:X, Float:Y, Float:Z;
    if(GunID > 0 && GunAmmo != 0)
    {
    for(new a = 0; a < MAX_WAFFENDROP; a++)
    {
    if(dGunData[a][ObjPos][0] == 0.0)
    {
    f = a;
    break;
    }
    }
    if(GunID == 27)
    {
    RemovePlayerWeapon(playerid,GunID);
    SendClientMessage(playerid, -1, "{FE2E2E}Diese Waffe kann nicht fallen gelassen werden. Sie wurde aus deinem Inventar gelöscht!");
    return 1;
    }
    RemovePlayerWeapon(playerid,GunID);
    dGunData[f][ObjData][0] = GunID;
    dGunData[f][ObjData][1] = GunAmmo;
    GetPlayerPos(playerid,dGunData[f][ObjPos][0],dGunData[f][ObjPos][1],dGunData[f][ObjPos][2]);
    dGunData[f][ObjID] = CreateDynamicObject(GunObjects[GunID],dGunData[f][ObjPos][0],dGunData[f][ObjPos][1],dGunData[f][ObjPos][2]-1,93.7,120.0,120.0);
    format(string,sizeof(string),"** %s lässt etwas fallen! **",SpielerName(playerid));
    WaffenPickup = CreatePickup(1274, 2, Float:X, Float:Y, Float:Z, -1);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    pDropGun[playerid] = gettime() + (1*60);
    return 1;
    }
    return SendClientMessage(playerid,GRAU,"Du hast keine Waffe in der Hand!");
    }

    Mit freundlichen Grüßen,
    Chriss aka. xDesertx