Beiträge von SyroX.

    Habe dir jetzt einen Timer erstellt und eingebaut. Musst du nur nochmal ausprobieren, da ich den Code blind geschrieben habe und daher kein Test stattgefunden hat.
    Den Code habe ich auf Pastebin hochgeladen: http://pastebin.com/T6kKztsB


    Das Problem mit der Car ID habe ich noch nicht ganz verstanden.
    Zu deinem Prison Problem: Ich habe dir oben einen Timer eingebaut, der einmal pro Sekunde aufgerufen wird. Darüber kannst du dann auch die Prisonzeit regeln. Schau dir mal an, wie ich das mit der Anmeldung gemacht habe.

    Ich meinte das mit der CarID, z.b. bin ich jetzt auf dem Game Server.
    Mein Auto hat die Car ID 407 nun logge ich mich aus, z.b. gehst du dann drauf mit ein Privat Fahrzeug und dann hat dein Car ID 407. Nun logge ich mich ein und mein Car hat die ID 408 aber dies hat sich nicht auf dem Kennzeichen geändert da dort noch steht 407.


    Da soll eigendlich immer die Aktuelle Car ID Stehen die das fahrzeug hat.

    Klar, natürlich.Kannst du den Code oben nochmal formatieren? Dann bastele ich dir mal was.


    case DIALOG_FPLAYAanmeldung:
    {
    if(response == 0)return 1;
    else
    {
    if(!strlen(inputtext) || strlen(inputtext) > 2)
    {
    ShowPlayerDialog(playerid,DIALOG_FPLAYAanmeldung,DIALOG_STYLE_INPUT,"Fahrzeuganmeldung","Gebe nun dein gewünschtes Kennzeichen ein.\nEs darf maximal 2 Zeichen haben!","Bestätigen","Abbrechen");
    return SendClientMessage(playerid,GRAU,"Du musst schon etwas eingeben.\nDu kannst nur maximal zwei Zeichen benutzen!");
    }
    else
    {
    new rSpawn = random(sizeof(Fahrzeuganmeldeamt));
    for(new slot=0;slot<MAX_PLAYER_VEHS;slot++)
    {
    if(!strcmp(Spieler[playerid][pName],Pfahrzeug[slot][playerid][Besitzer],true))
    {
    if(GetPlayerVehicleID(playerid) == Pfahrzeug[slot][playerid][Vehicle])
    {
    if((GetACMoney(playerid) - fsteuern[FMeldePreis]) < 0)return SendClientMessage(playerid,GRAU,"Nicht genug Geld!");
    ACMoney(playerid,-fsteuern[FMeldePreis]);
    fverwaltungen[16][Geld] += fsteuern[FMeldePreis];
    Pfahrzeug[slot][playerid][AnmeldeTime] = gettime() + (60*10);
    Pfahrzeug[slot][playerid][AnAnmeldung] = 1;
    format(Pfahrzeug[slot][playerid][Nummernschild],64,"%s %i",inputtext,GetPlayerVehicleID(playerid));
    SetVehicleNumberPlate(Pfahrzeug[slot][playerid][Vehicle],"----");
    GetVehicleHealth(Pfahrzeug[slot][playerid][Vehicle],Pfahrzeug[slot][playerid][HP]);
    VehicleSpawner(playerid,slot);
    new vID = GetPlayerVehicleID(playerid);
    new vehicle3Dtext[MAX_VEHICLES];
    RemovePlayerFromVehicle(playerid);
    SetTimerEx("anmeldesystem3DText", 600000, false, "i", Delete3DTextLabel);
    vehicle3Dtext[vID] = Create3DTextLabel("Das Fahrzeug wird Angemeldet, Bitte haben sie Geduld.", 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1);
    Attach3DTextLabelToVehicle( vehicle3Dtext[vID] ,vID, 0.0, 0.0, 1.0);
    SetVehiclePosEx(Pfahrzeug[slot][playerid][Vehicle],Fahrzeuganmeldeamt[rSpawn][0],Fahrzeuganmeldeamt[rSpawn][1],Fahrzeuganmeldeamt[rSpawn][2]);
    SetVehicleZAngleEx(Pfahrzeug[slot][playerid][Vehicle],Fahrzeuganmeldeamt[rSpawn][3]);
    SendClientMessage(playerid,BLAU,"Dein Fahrzeug wurde auf den Stellplatz gestellt!");
    SendClientMessage(playerid,BLAU,"Sobald die Anmeldung abgeschlossen ist kannst du dein Fahrzeug abholen.");
    SendClientMessage(playerid,GELB,"Info: Es dauert ungefähr 10 Minuten!");
    return 1;
    }
    }
    }
    }
    return 1;
    }
    }

    P.S. Könntest du mir noch zwei gefallen tuen.
    Auto bekommt ja die CarID zugewiesen, aber wenn man sich ausloggt und ein anderer geht auf dem Server hat er die CarID vom Spieler.
    Könnteste das evtl so machen das die CarId sich immer Welchseln tut, sagen wir mal so Ich habe jetzt 407 ich log mich aus und logge mich wieder ein. und dann habe ich die CarID 408 aber auf dem kennzeichen steht noch immer 407.
    Dies soll ersetzt werden.


    Zweite
    Könnteste mir bei mein Prison Problem helfen?

    Was war für eine Power setht Supporter und die Andere Gruppe?
    Poste sie mal bitte hier rein.

    Wenn ich dieses sehe, muss ich sagen Gut gemacht.
    Aber ich würde es nicht an einem Server geben den es erst seit ein paar Monaten Gibt, Weil wenn der mal Wirklich Offline gehen sollte.
    Haben die deine gemappten sachen. xD

    Wo liegt jetzt gerade das Problem? Bitte einmal ein Reassessment: was muss getan werden?

    Könntest du mal bitte einmal drüber gucken ob das so gehen würde.



    forward PrisonZeit(playerid);


    public PrisonZeit(playerid)
    {
    new pID;
    Variable[playerid] -= 1;
    if(Variable[playerid] <= 0)
    {
    Spieler[pID][pInPrison] = 0;
    return 1;
    }
    return 1;
    }


    COMMAND:prison(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    new pID,PrisonZeit1,string[356],reason[31];
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(sscanf(params,"uis[31]",pID,PrisonZeit1,reason))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund]");
    if(strlen(reason) > 30)return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund darf maximal 30 Zeichen beinhalten]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(GetPVarInt(pID,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,GRAU,"Das kannst du nicht!");
    if(playerid != pID)
    {
    if(Spieler[pID][pAdmin] > Spieler[playerid][pAdmin])return SendClientMessage(playerid,GRAU,"Du kannst keine Ranghöherern Admins in Prison stecken!");
    }
    SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund]");
    if(Spieler[pID][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Spieler ist bereits im Prison.");
    format(string,sizeof(string),"AdminBefehl: Der Admin %s hat den Spieler %s für %i Minuten ins Prison Teleportiert. Grund: %s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,PrisonZeit1,reason);
    SendClientMessageToAll(LEUCHTENDESROT,string);
    format(string,sizeof(string),"%s du wurdest für %i Minuten ins Prison gesteckt.\nDer Grund für das Prison von dem Admin %s war: %s.\nFalls du zu unrecht ins Prison gesteckt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\n"#SERVERFARBE""#SERVERNAME"{FFFFFF} Adminteam",Spieler[pID][pName],PrisonZeit1,Spieler[playerid][pName],reason);
    ShowPlayerDialog(pID,DIALOG_4ALL_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Prison",string,"Verlassen","");
    SetTimerEx("PrisonZeit",1000,1,playerid);
    Variable[playerid] = -1;
    Spieler[pID][pInPrison] = 1;
    Spieler[pID][pHandystate] = 0;
    PlayerTextDrawHide(pID,HandyInfodraw[pID]);
    KillTimer(AkkuTimer[pID]);
    if(Spieler[pID][pCallHim] == 1)
    {
    new pID2 = Spieler[pID][pCall];
    Spieler[pID][pCallHim] = 0;
    Spieler[pID2][pCallHim] = 0;
    Spieler[pID2][pCall] = -1;
    Spieler[pID][pCall] = -1;
    SetPlayerSpecialAction(pID,SPECIAL_ACTION_STOPUSECELLPHONE);
    SetPlayerSpecialAction(pID2,SPECIAL_ACTION_STOPUSECELLPHONE);
    SendClientMessage(pID2,GELB,"Der Gesprächspartner hat aufgelegt.");
    PlayerTextDrawHide(pID,HandyCalldraw[pID]);
    PlayerTextDrawHide(pID2,HandyCalldraw[pID2]);
    PlayerPlaySound(pID,1077,0.0,0.0,0.0);
    PlayerPlaySound(pID2,1077,0.0,0.0,0.0);
    RemovePlayerAttachedObject(pID,8);
    RemovePlayerAttachedObject(pID2,8);
    }
    SpawnPlayerEx(pID);
    GameTextForPlayer(pID,"~w~Im ~r~Prison",1500,3);
    format(string,sizeof(string),"Admin %s * Zielperson: %s * Prisonzeit: %i * Grund: %s",Spieler[playerid][pName],Spieler[pID][pName],PrisonZeit1,reason);
    Log("Prisonsqllog",string);
    return 1;
    }

    Hey Fronix_,
    kannst du den Code bitte einmal so formatieren, dass man da was erkennen kann? So können wir dir schwer helfen.


    Nein, nicht ganz.
    1.) Der Timer muss in deinem Command (/prison) rein.
    2.) Der Timer muss so aussehen: SetTimerEx("PrisonZeit",1000,1,playerid);
    3.)

    Arbeite das erst einmal ab. ;)

    für Prison rausholen hab ich schon einen befehl


    @_Marvin



    COMMAND:prison(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    new pID,PrisonZeit,string[356],reason[31];
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(sscanf(params,"uis[31]",pID,PrisonZeit,reason))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund]");
    if(strlen(reason) > 30)return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund darf maximal 30 Zeichen beinhalten]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(GetPVarInt(pID,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,GRAU,"Das kannst du nicht!");
    if(playerid != pID)
    {
    if(Spieler[pID][pAdmin] > Spieler[playerid][pAdmin])return SendClientMessage(playerid,GRAU,"Du kannst keine Ranghöherern Admins in Prison stecken!");
    }
    SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund]");
    if(Spieler[pID][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Spieler ist bereits im Prison.");
    format(string,sizeof(string),"AdminBefehl: Der Admin %s hat den Spieler %s für %i Minuten ins Prison Teleportiert. Grund: %s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,PrisonZeit,reason);
    SendClientMessageToAll(LEUCHTENDESROT,string);
    format(string,sizeof(string),"%s du wurdest für %i Minuten ins Prison gesteckt.\nDer Grund für das Prison von dem Admin %s war: %s.\nFalls du zu unrecht ins Prison gesteckt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\n"#SERVERFARBE""#SERVERNAME"{FFFFFF} Adminteam",Spieler[pID][pName],PrisonZeit,Spieler[playerid][pName],reason);
    ShowPlayerDialog(pID,DIALOG_4ALL_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Prison",string,"Verlassen","");
    SetTimerEx("PrisonZeit",1000,1,playerid);
    Variable[playerid] = -1;
    Spieler[pID][pInPrison] = 1;
    Spieler[pID][pHandystate] = 0;
    PlayerTextDrawHide(pID,HandyInfodraw[pID]);
    KillTimer(AkkuTimer[pID]);
    if(Spieler[pID][pCallHim] == 1)
    {
    new pID2 = Spieler[pID][pCall];
    Spieler[pID][pCallHim] = 0;
    Spieler[pID2][pCallHim] = 0;
    Spieler[pID2][pCall] = -1;
    Spieler[pID][pCall] = -1;
    SetPlayerSpecialAction(pID,SPECIAL_ACTION_STOPUSECELLPHONE);
    SetPlayerSpecialAction(pID2,SPECIAL_ACTION_STOPUSECELLPHONE);
    SendClientMessage(pID2,GELB,"Der Gesprächspartner hat aufgelegt.");
    PlayerTextDrawHide(pID,HandyCalldraw[pID]);
    PlayerTextDrawHide(pID2,HandyCalldraw[pID2]);
    PlayerPlaySound(pID,1077,0.0,0.0,0.0);
    PlayerPlaySound(pID2,1077,0.0,0.0,0.0);
    RemovePlayerAttachedObject(pID,8);
    RemovePlayerAttachedObject(pID2,8);
    }
    SpawnPlayerEx(pID);
    GameTextForPlayer(pID,"~w~Im ~r~Prison",1500,3);
    format(string,sizeof(string),"Admin %s * Zielperson: %s * PrisonZeit %i * Grund: %s",Spieler[playerid][pName],Spieler[pID][pName],PrisonZeit,reason);
    Log("Prisonsqllog",string);
    return 1;
    }


    @shoxinat0r könntest du dir das mal angucken.

    Guten Tag,


    Ich suche neue Mitspieler mit denen ich GTA V Online spielen kann.
    Mein Name auf der Playstation 4 ist Fronix_


    Meine Besitz GTA V Online


    Level 256 (glaube kann auch 250 sein)
    121 Mio


    Schreibt mir einfach eine PN hier im Forum.


    Mit freundlichen Grüßen,
    Fronix_


    @shoxinat0r

    Denn Timer unter OnGameModeInit() setzen.
    forward PrisonZeit(playerid);
    SetTimerEx("PrisonZeit",99999,0,i,playerid);



    forward PrisonZeit(playerid);
    SetTimerEx("PrisonZeit",99999,0,i,playerid);


    public PrisonZeit(playerid)
    {
    Variable = 99999;
    return 1;
    }



    COMMAND:prison(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    new pID,cps,string[356],reason[31];
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(sscanf(params,"uis[31]",pID,cps,reason))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund]");
    if(strlen(reason) > 30)return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund darf maximal 30 Zeichen beinhalten]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(GetPVarInt(pID,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,GRAU,"Das kannst du nicht!");
    if(playerid != pID)
    {
    if(Spieler[pID][pAdmin] > Spieler[playerid][pAdmin])return SendClientMessage(playerid,GRAU,"Du kannst keine Ranghöherern Admins in Prison stecken!");
    }
    SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Time][Grund]");
    if(Spieler[pID][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Spieler ist bereits im Prison.");
    format(string,sizeof(string),"AdminBefehl: Der Admin %s hat den Spieler %s für %i Minuten ins Prison Teleportiert. Grund: %s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,PrisonZeit,reason);
    SendClientMessageToAll(LEUCHTENDESROT,string);
    format(string,sizeof(string),"%s du wurdest für %i Minuten ins Prison gesteckt.\nDer Grund für das Prison von dem Admin %s war: %s.\nFalls du zu unrecht ins Prison gesteckt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\n"#SERVERFARBE""#SERVERNAME"{FFFFFF} Adminteam",Spieler[pID][pName],PrisonZeit,Spieler[playerid][pName],reason);
    ShowPlayerDialog(pID,DIALOG_4ALL_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Prison",string,"Verlassen","");
    Spieler[pID][pPrisonCPsgegeben] = PrisonZeit;
    Spieler[pID][pInPrison] = 1;
    Spieler[pID][pHandystate] = 0;
    PlayerTextDrawHide(pID,HandyInfodraw[pID]);
    KillTimer(AkkuTimer[pID]);
    if(Spieler[pID][pCallHim] == 1)
    {
    new pID2 = Spieler[pID][pCall];
    Spieler[pID][pCallHim] = 0;
    Spieler[pID2][pCallHim] = 0;
    Spieler[pID2][pCall] = -1;
    Spieler[pID][pCall] = -1;
    SetPlayerSpecialAction(pID,SPECIAL_ACTION_STOPUSECELLPHONE);
    SetPlayerSpecialAction(pID2,SPECIAL_ACTION_STOPUSECELLPHONE);
    SendClientMessage(pID2,GELB,"Der Gesprächspartner hat aufgelegt.");
    PlayerTextDrawHide(pID,HandyCalldraw[pID]);
    PlayerTextDrawHide(pID2,HandyCalldraw[pID2]);
    PlayerPlaySound(pID,1077,0.0,0.0,0.0);
    PlayerPlaySound(pID2,1077,0.0,0.0,0.0);
    RemovePlayerAttachedObject(pID,8);
    RemovePlayerAttachedObject(pID2,8);
    }
    SpawnPlayerEx(pID);
    GameTextForPlayer(pID,"~w~Im ~r~Prison",1500,3);
    format(string,sizeof(string),"Admin %s * Zielperson: %s * PrisonZeit %i * Grund: %s",Spieler[playerid][pName],Spieler[pID][pName],cps,reason);
    Log("Prisonsqllog",string);
    return 1;
    }


    So?

    Ja genau, siehst du richtig. Es reicht, einfach die Stellen, an denen die CPs gesetzt und gespeichert werden, zu löschen und einen Timer zu setzen.Kriegst du das hin?

    Ich wollte dies jetzt mal so Probieren.



    Spieler[pID][pPrisonCPsgegeben] = cps
    Spieler[pID][pPrisonCPsgelaufen] = cps;

    Diese " cps " durch Zeit ersetzen und wo die cps defininiert sind einfach noch eine neue hin machen mit der Zeit.
    Und diese pPrisonCPsgegeben / pPrisonCPsgelaufen durch die Zeit ersetzen.

    Hey Fronix_,
    kannst du den Code bitte einmal so formatieren, dass man da was erkennen kann? So können wir dir schwer helfen.

    COMMAND:prison(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    new pID,cps,string[356],reason[31];
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(sscanf(params,"uis[31]",pID,cps,reason))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Checkpoints][Grund]");
    if(strlen(reason) > 30)return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Checkpoints][Grund darf maximal 30 Zeichen beinhalten]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(GetPVarInt(pID,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,GRAU,"Das kannst du nicht!");
    if(playerid != pID)
    {
    if(Spieler[pID][pAdmin] > Spieler[playerid][pAdmin])return SendClientMessage(playerid,GRAU,"Du kannst keine Ranghöherern Admins in Prison stecken!");
    }
    if(cps<1||cps>3000)return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Checkpoints 1-3000][Grund]");
    if(Spieler[pID][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Spieler ist bereits im Prison.");
    format(string,sizeof(string),"AdminBefehl: Der Admin %s hat den Spieler %s für %i CP´s ins Prison geschickt. Grund: %s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,cps,reason);
    SendClientMessageToAll(LEUCHTENDESROT,string);
    format(string,sizeof(string),"%s du wurdest für %i CP´s ins Prison gesteckt.\nDer Grund für das Prison von dem Admin %s war: %s.\nFalls du zu unrecht ins Prison gesteckt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\n"#SERVERFARBE""#SERVERNAME"{FFFFFF} Adminteam",Spieler[pID][pName],cps,Spieler[playerid][pName],reason);
    ShowPlayerDialog(pID,DIALOG_4ALL_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Prison",string,"Verlassen","");
    Spieler[pID][pPrisonCPsgegeben] = cps;
    Spieler[pID][pPrisonCPsgelaufen] = cps;
    Spieler[pID][pInPrison] = 1;
    Spieler[pID][pHandystate] = 0;
    PlayerTextDrawHide(pID,HandyInfodraw[pID]);
    KillTimer(AkkuTimer[pID]);
    if(Spieler[pID][pCallHim] == 1)
    {
    new pID2 = Spieler[pID][pCall];
    Spieler[pID][pCallHim] = 0;
    Spieler[pID2][pCallHim] = 0;
    Spieler[pID2][pCall] = -1;
    Spieler[pID][pCall] = -1;
    SetPlayerSpecialAction(pID,SPECIAL_ACTION_STOPUSECELLPHONE);
    SetPlayerSpecialAction(pID2,SPECIAL_ACTION_STOPUSECELLPHONE);
    SendClientMessage(pID2,GELB,"Der Gesprächspartner hat aufgelegt.");
    PlayerTextDrawHide(pID,HandyCalldraw[pID]);
    PlayerTextDrawHide(pID2,HandyCalldraw[pID2]);
    PlayerPlaySound(pID,1077,0.0,0.0,0.0);
    PlayerPlaySound(pID2,1077,0.0,0.0,0.0);
    RemovePlayerAttachedObject(pID,8);
    RemovePlayerAttachedObject(pID2,8);
    }
    SpawnPlayerEx(pID);
    GameTextForPlayer(pID,"~w~Im ~r~Prison",1500,3);
    format(string,sizeof(string),"Admin %s * Zielperson: %s * Checkpoints: %i * Grund: %s",Spieler[playerid][pName],Spieler[pID][pName],cps,reason);
    Log("Prisonsqllog",string);
    return 1;
    }


    Kann mans jetzt erkennen.
    Wie ich das in diesem Code sehe muss man doch eigendlich nur die cps durch die Zeit ersetzen, Also anders defineren.

    Guten Tag,


    Ich möchte mein Checkpoint Prison zu Prison zeit umänderen.


    hier mal mein CP Prison, Wie soll ich dieses Prison System umbauen zu einem Zeit Prison?



    COMMAND:prison(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    new pID,cps,string[356],reason[31];
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,GRAU,"Du bist kein "#SERVERTAG" Teammitglied./Du hast nicht den jeweiligen Adminrang.");
    if(sscanf(params,"uis[31]",pID,cps,reason))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Checkpoints][Grund]");
    if(strlen(reason) > 30)return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Checkpoints][Grund darf maximal 30 Zeichen beinhalten]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(GetPVarInt(pID,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Der angegebene Spieler ist nicht eingeloggt!");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,GRAU,"Das kannst du nicht!");
    if(playerid != pID)
    {
    if(Spieler[pID][pAdmin] > Spieler[playerid][pAdmin])return SendClientMessage(playerid,GRAU,"Du kannst keine Ranghöherern Admins in Prison stecken!");
    }
    if(cps<1||cps>3000)return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /prison [playerid/Name][Checkpoints 1-3000][Grund]");
    if(Spieler[pID][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Spieler ist bereits im Prison.");
    format(string,sizeof(string),"AdminBefehl: Der Admin %s hat den Spieler %s für %i CP´s ins Prison geschickt. Grund: %s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,cps,reason);
    SendClientMessageToAll(LEUCHTENDESROT,string);
    format(string,sizeof(string),"%s du wurdest für %i CP´s ins Prison gesteckt.\nDer Grund für das Prison von dem Admin %s war: %s.\nFalls du zu unrecht ins Prison gesteckt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\n"#SERVERFARBE""#SERVERNAME"{FFFFFF} Adminteam",Spieler[pID][pName],cps,Spieler[playerid][pName],reason);
    ShowPlayerDialog(pID,DIALOG_4ALL_SONSTIGES,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Prison",string,"Verlassen","");
    Spieler[pID][pPrisonCPsgegeben] = cps;
    Spieler[pID][pPrisonCPsgelaufen] = cps;
    Spieler[pID][pInPrison] = 1;
    Spieler[pID][pHandystate] = 0;
    PlayerTextDrawHide(pID,HandyInfodraw[pID]);
    KillTimer(AkkuTimer[pID]);
    if(Spieler[pID][pCallHim] == 1)
    {
    new pID2 = Spieler[pID][pCall];
    Spieler[pID][pCallHim] = 0;
    Spieler[pID2][pCallHim] = 0;
    Spieler[pID2][pCall] = -1;
    Spieler[pID][pCall] = -1;
    SetPlayerSpecialAction(pID,SPECIAL_ACTION_STOPUSECELLPHONE);
    SetPlayerSpecialAction(pID2,SPECIAL_ACTION_STOPUSECELLPHONE);
    SendClientMessage(pID2,GELB,"Der Gesprächspartner hat aufgelegt.");
    PlayerTextDrawHide(pID,HandyCalldraw[pID]);
    PlayerTextDrawHide(pID2,HandyCalldraw[pID2]);
    PlayerPlaySound(pID,1077,0.0,0.0,0.0);
    PlayerPlaySound(pID2,1077,0.0,0.0,0.0);
    RemovePlayerAttachedObject(pID,8);
    RemovePlayerAttachedObject(pID2,8);
    }
    SpawnPlayerEx(pID);
    GameTextForPlayer(pID,"~w~Im ~r~Prison",1500,3);
    format(string,sizeof(string),"Admin %s * Zielperson: %s * Checkpoints: %i * Grund: %s",Spieler[playerid][pName],Spieler[pID][pName],cps,reason);
    Log("Prisonsqllog",string);
    return 1;
    }


    Kann man dies ihr geht wie umbauen...


    Mit freundlichen Grüßen,
    Fronix_


    @shoxinat0r

    Nein, guck dir die Syntax von SetTimerEx bitte noch einmal an. Die Funktion Delete3DTextLabel verwendest du nicht als Parameter, sondern später im public, den du durch den Timer aufrufst.
    Im Wiki ist dazu ein gutes Beispiel. Du startest den Timer dort, wo du das Label erstellst. Und alles was nach 10 Minuten passieren soll, schreibst du in den erstellten public.

    D:\SAMP Server\Mein Selfmade\gamemodes\Selfmade.pwn(8961) : error 017: undefined symbol "vehicle3Dtext"D:\SAMP Server\Mein Selfmade\gamemodes\Selfmade.pwn(8961) : error 017: undefined symbol "vID"D:\SAMP Server\Mein Selfmade\gamemodes\Selfmade.pwn(8961) : error 029: invalid expression, assumed zeroD:\SAMP Server\Mein Selfmade\gamemodes\Selfmade.pwn(8961) : fatal error 107: too many error messages on one line


    case DIALOG_FPLAYAanmeldung: { if(response == 0)return 1; else { if(!strlen(inputtext) || strlen(inputtext) > 2) { ShowPlayerDialog(playerid,DIALOG_FPLAYAanmeldung,DIALOG_STYLE_INPUT,"Fahrzeuganmeldung","Gebe nun dein gewünschtes Kennzeichen ein.\nEs darf maximal 2 Zeichen haben!","Bestätigen","Abbrechen"); return SendClientMessage(playerid,GRAU,"Du musst schon etwas eingeben.\nDu kannst nur maximal zwei Zeichen benutzen!"); } else { new rSpawn = random(sizeof(Fahrzeuganmeldeamt)); for(new slot=0;slot<MAX_PLAYER_VEHS;slot++) { if(!strcmp(Spieler[playerid][pName],Pfahrzeug[slot][playerid][Besitzer],true)) { if(GetPlayerVehicleID(playerid) == Pfahrzeug[slot][playerid][Vehicle]) { if((GetACMoney(playerid) - fsteuern[FMeldePreis]) < 0)return SendClientMessage(playerid,GRAU,"Nicht genug Geld!"); ACMoney(playerid,-fsteuern[FMeldePreis]); fverwaltungen[16][Geld] += fsteuern[FMeldePreis]; Pfahrzeug[slot][playerid][AnmeldeTime] = gettime() + (60*10); SetTimerEx("anmeldesystem3DText", 600000, false, "i", playerid); Pfahrzeug[slot][playerid][AnAnmeldung] = 1; format(Pfahrzeug[slot][playerid][Nummernschild],64,"%s %i",inputtext,GetPlayerVehicleID(playerid)); SetVehicleNumberPlate(Pfahrzeug[slot][playerid][Vehicle],"----"); GetVehicleHealth(Pfahrzeug[slot][playerid][Vehicle],Pfahrzeug[slot][playerid][HP]); VehicleSpawner(playerid,slot); new vID = GetPlayerVehicleID(playerid); new vehicle3Dtext[MAX_VEHICLES]; RemovePlayerFromVehicle(playerid); vehicle3Dtext[vID] = Create3DTextLabel("Das Fahrzeug wird Angemeldet, Bitte haben sie Geduld.", 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1); Attach3DTextLabelToVehicle( vehicle3Dtext[vID] ,vID, 0.0, 0.0, 1.0); SetVehiclePosEx(Pfahrzeug[slot][playerid][Vehicle],Fahrzeuganmeldeamt[rSpawn][0],Fahrzeuganmeldeamt[rSpawn][1],Fahrzeuganmeldeamt[rSpawn][2]); SetVehicleZAngleEx(Pfahrzeug[slot][playerid][Vehicle],Fahrzeuganmeldeamt[rSpawn][3]); SendClientMessage(playerid,BLAU,"Dein Fahrzeug wurde auf den Stellplatz gestellt!"); SendClientMessage(playerid,BLAU,"Sobald die Anmeldung abgeschlossen ist kannst du dein Fahrzeug abholen."); SendClientMessage(playerid,GELB,"Info: Es dauert ungefähr 10 Minuten!"); return 1; } } } } return 1; } }


    /e Text Edit @shoxinat0r
    /e @shoxinat0r können sie mir bitte sagen, was ich änderen muss ?
    @shoxinat0r Push.



    forward anmeldesystem3DText(playerid);public anmeldesystem3DText{Delete3DTextLabel(vehicle3Dtext[vID];return 1;}

    Nein, du musst einen richtigen Timer starten. Ich habe gerade gesehen, dass du auch noch gar keinen integriert hast.
    Starte mit der Funktion SetTimerEx einen Timer. Damit kannst du deine 10 Minuten einstellen und dann alles gewünschte abwickeln.
    Ich möchte dir ganz bewusst noch keine fertige Lösung präsentieren - versuch es erstmal selbst. Das Wiki zur Funktion bietet eine gute Basis. ;)

    Ok, Aber es würde so klappen oder?


    Delete3DTextLabel(vehicle3Dtext[vID] = gettime() + (60*10));

    Dazu nutzt du dann den Timer, den du ja sowieso brauchst. In dem löschst du dann direkt das Textlabel mit.

    Also z.b. so.



    vehicle3Dtext[vID] = Create3DTextLabel("Das Fahrzeug wird Angemeldet, Bitte haben sie Geduld.", 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1);
    Attach3DTextLabelToVehicle( vehicle3Dtext[vID] ,vID, 0.0, 0.0, 1.0);
    Delete3DTextLabel(vehicle3Dtext[vID] = gettime() + (60*10);