Frage zu /einspeeren

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 Abend.
    Ich arbeite Momentan an meinem Selfmade Jail-System.
    Ich habe es Auch Soweit fertig. Nun ist Jetzt meine Frage, wie Ich in meinem befehl Die Jail-Zeit Angeben kann.


    Mein Befehl:

    ocmd:einspeeren(playerid,params[])
    {
    new string2[128];
    new string[128];
    if(GetPVarInt(playerid,"Fraktion") != 1)
    {
    if(GetPVarInt(playerid,"Fraktion") == 0)return SendClientMessage(playerid,Rot,"Du bist nicht in der Fraktion");
    }
    else
    {
    format(string,sizeof(string),"[Benutzung:] /einspeeren [Playerid/ID]");
    return 1;
    }
    new pID;
    new name[MAX_PLAYER_NAME];
    new pname[MAX_PLAYER_NAME];
    {
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(pID,pname,sizeof(pname));
    format(string,sizeof(string),"[AdmCmd]%s hat %s ins Gefängniss gesteckt",name);
    SendClientMessage(pID,Rot,string);
    format(string2,sizeof(string2),"Du hast %s Ins Gefängniss gesteckt",pname);
    SetPlayerPos(playerid,2026.9773,-114.8198,1035.1719);
    SetPVarInt(playerid,"Knast",1);
    }
    return 1;
    }


    Hier der Public für Jailtime

    forward Jailtime();
    public Jailtime()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPVarInt(pID,"Knast") == 1)
    {
    if(GetPVarInt(i,"Jailtime") > 0)
    {
    GetPVarInt(i,"Jailtime");
    }
    else if(GetPVarInt(i,"Jailtime") == 0 && GetPVarInt(i,"Knast") == 1)
    {
    SetPVarInt(i,"Knast",0);
    SetPVarInt(i,"Wanteds",0);
    SetPlayerWantedLevel(i,0);
    SetPlayerPos(i,1546.4227,-1675.6207,13.5623);
    SetPlayerInterior(i, 0);
    SendClientMessage(i,Hellgrün,"Du wurdest aus dem Gefängnis entlassen");
    return 1;
    }
    }
    }
    return 1;
    }


    Leider habe Ich momentan Kein Ansatz punkt,wie Ich das mit der Zeit hinbekomme.


    Wäre es Eventuell so Möglich?:

    ocmd:einspeeren(playerid,params[])
    {
    new string2[128];
    new string[128];
    new zeit[128];
    if(GetPVarInt(playerid,"Fraktion") != 1)
    {
    if(GetPVarInt(playerid,"Fraktion") == 0)return SendClientMessage(playerid,Rot,"Du bist nicht in der Fraktion");
    }
    else
    {
    format(string,sizeof(string),"[Benutzung:] /einspeeren [Playerid/ID] [Zeit]");
    return 1;
    }
    new pID;
    new name[MAX_PLAYER_NAME];
    new pname[MAX_PLAYER_NAME];
    {
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(pID,pname,sizeof(pname));
    format(string,sizeof(string),"[AdmCmd]%s hat %s ins Gefängniss für %d gesteckt",name,zeit);
    SendClientMessage(pID,Rot,string);
    format(string2,sizeof(string2),"Du hast %s Ins Gefängniss für %d gesteckt",pname);
    SetPlayerPos(playerid,2026.9773,-114.8198,1035.1719);
    SetPVarInt(playerid,"Knast",1);
    SetPVarInt(playerid,"Jailtime",zeit);
    }
    return 1;
    }

    Bei dem Code bekomme ich Nur einen Fehler

    Code
    D:\server\bbla\gamemodes\t.pwn(2913) : error 035: argument type mismatch (argument 3)


    Wäre es Irgendwie Machbar, das er Diese zeit Absitzen muss & Danach Respawnt wird?


    MFG
    ShiNuX

  • SetTimer("Jailtime",interval, zeit);


    Schonmal so versucht? :D

  • Guten Abend,
    Dies habe Ich grade Versucht.
    Aber ich bekomme Dabei einen 2 Error:

    ocmd:einspeeren(playerid,params[])
    {
    new string2[128];
    new string[128];
    new zeit[128];
    if(GetPVarInt(playerid,"Fraktion") != 1)
    {
    if(GetPVarInt(playerid,"Fraktion") == 0)return SendClientMessage(playerid,Rot,"Du bist nicht in der Fraktion");
    }
    else
    {
    format(string,sizeof(string),"[Benutzung:] /einspeeren [Playerid/ID] [Zeit]");
    return 1;
    }
    new pID;
    new name[MAX_PLAYER_NAME];
    new pname[MAX_PLAYER_NAME];
    {
    GetPlayerName(pID,name,sizeof(name));
    GetPlayerName(pID,pname,sizeof(pname));
    format(string,sizeof(string),"[AdmCmd]%s hat %s ins Gefängniss für %d gesteckt",name,zeit);
    SendClientMessage(pID,Rot,string);
    format(string2,sizeof(string2),"Du hast %s Ins Gefängniss für %d gesteckt",pname);
    SetPlayerPos(playerid,2026.9773,-114.8198,1035.1719);
    SetPVarInt(playerid,"Knast",1);
    SetPVarInt(playerid,"Jailtime",zeit); --> 2913
    SetTimer("Jailtime",interval, zeit); --> 2914
    }
    return 1;
    }


    Hier die Fehler:

    D:\server\bbla\gamemodes\GtaLwSf.pwn(2913) : error 035: argument type mismatch (argument 3)
    D:\server\bbla\gamemodes\GtaLwSf.pwn(2914) : error 017: undefined symbol "interval"


    Gibt es Irgendwie eine Andere Variante um die Zeit mit Einzurechnen?


    MFG
    ShiNuX

  • was ist das für ein Befehl?
    Nutzt kein SSCANF klatscht da was rein was kein sinn macht.....
    Interval da ne 1 oder nen true eintragen

  • [quote]D:\server\bbla\gamemodes\GtaLwSf.pwn(2914) : error 017: undefined symbol "interval"[/qoute]



    SetTimer("Jailtime",60000, zeit); // Interval = Zeit in Millisekunden. -> 1000 = 1 Sek.


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Also erstens verstehe ich nicht, wieso das halbe Forum dieses seltsame ocmd nutzt, wobei es hundert andere und bessere System gibt für Befehle...


    Zweitens:
    ocmd:einspeeren(playerid,params[])
    Wozu hast du params, wenn du es nicht benutzt?