komme bei Prison Befehl nicht weiter

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 hab nen Prison befehl gemacht und weiß nich weiter ich möchte einen Timer setzen der in der Zeit ablüft wie eingegeben z.b. ich gebe /prison 12 5


    Das würde heißen die id 12 wird für 5 min ins Prison geschoben . Wie mache ich das?
    Wie mache ich das der Timer gesetzt wird wie ich das eingebe


    ocmd:prison(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du bist kein Admin!");
    new pID,time,String1[128],String2[128];
    if(sscanf(params,"i","s",pID,time))return SendClientMessage(playerid,Orange,"Benutzung: /prison [ID] [Zeit]");
    SetPlayerInterior(pID,18);
    SetPlayerPos(pID,1302.519897,-1.787510,1001.028259);
    format(String1,sizeof(String1),"Du hast den Spieler %s für %d min ins Prison gesteckt",SpielerName(pID),time);
    SendClientMessage(playerid,Gruen,String1);
    format(String2,sizeof(String2),"Du wurdest für %d min von %s ins Prison gesteckt!",time,SpielerName(playerid));
    SendClientMessage(playerid,Rot,String2);
    return 1;
    }




  • if(strcmp(cmd, "/prison", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /prison [Spieler ID / Name] [Zeit in Minuten]");
    return 1;
    }
    new playa;
    new money;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    money = strval(tmp);
    if(playa == playerid)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst nicht dich selber einsperren!");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] < PlayerInfo[playa][pAdmin])
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keinen höherrangigen Admin einsperren!");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playa))
    {
    if(playa != INVALID_PLAYER_ID)
    {
    GetPlayerName(playa, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du hast %s eingesperrt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTRED, string);
    format(string, sizeof(string), "* Du wurdest von Admin %s in den Knast gesteckt.", sendername);
    SendClientMessage(playa, COLOR_LIGHTRED, string);
    ResetPlayerWeapons(playa);
    WantedPoints[playa] = 0;
    PlayerInfo[playa][pJailed] = 1;
    PlayerInfo[playa][pJailTime] = money*60;
    SetPlayerInterior(playa, 3);
    SetPlayerPos(playa, 197.8290,161.8141,1003.0300);
    format(string, sizeof(string), "Du wurdest für %d Minuten eingesperrt. Kaution: Nein", money);
    SendClientMessage(playa, COLOR_LIGHTBLUE, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen!");
    }
    }
    return 1;
    }

    -----------------------------------------------------------------------------------------------------------------------------------------------------


    Hier ist der code

  • das ist doch ein gf code

  • Ausm Godfather kann jeder kopieren. Mensch leute hilft ihm doch bei seinem OCMD Code!!!!


    ocmd:prison(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du bist kein Admin!");
    new pID,time,String[128];
    if(sscanf(params,"ui",pID,time))return SendClientMessage(playerid,Orange,"Benutzung: /prison [ID] [Zeit]");
    SetPlayerInterior(pID,18);
    SetPlayerPos(pID,1302.519897,-1.787510,1001.028259);
    format(String,sizeof(String),"Du hast den Spieler %s für %d min ins Prison gesteckt",SpielerName(pID),time);
    SendClientMessage(playerid,Gruen,String);
    format(String,sizeof(String),"Du wurdest für %d min von %s ins Prison gesteckt!",time,SpielerName(playerid));
    SendClientMessage(playerid,Rot,String);
    return 1;
    }



    Versuch es mal so.


    //edit
    Fehler korrigiert.


    MfG
    Acer

  • ocmd:prison(playerid,params[])
    { if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du bist kein Admin!");
    new pID,time,String1[128];
    if(sscanf(params,"ui",pID,time))return SendClientMessage(playerid,Orange,"Benutzung: /prison [ID] [Zeit]");
    SetPlayerInterior(pID,18);
    SetPlayerPos(pID,1302.519897,-1.787510,1001.028259);
    format(String1,sizeof(String1),"Du hast den Spieler %s für %d min ins Prison gesteckt",SpielerName(pID),time);
    SendClientMessage(playerid,Gruen,String);
    format(String2,sizeof(String2),"Du wurdest für %d min von %s ins Prison gesteckt!",time,SpielerName(playerid));
    SendClientMessage(playerid,Rot,String);
    return 1;
    }



    und wie setzte ich den Timer nach der eingegebenen Zahl?

  • ocmd:prison(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du bist kein Admin!");
    new pID,time,String1[128];
    if(sscanf(params,"ui",pID,time))return SendClientMessage(playerid,Orange,"Benutzung: /prison [ID] [Zeit]");
    SetPlayerInterior(pID,18);
    SetPlayerPos(pID,1302.519897,-1.787510,1001.028259);
    format(String1,sizeof(String),"Du hast den Spieler %s für %d min ins Prison gesteckt",SpielerName(pID),time);
    SendClientMessage(playerid,Gruen,String);
    format(String2,sizeof(String),"Du wurdest für %d min von %s ins Prison gesteckt!",time,SpielerName(playerid));
    SendClientMessage(playerid,Rot,String);
    [color=#ff0000]SpielerInfo[pID][pKnastZeit] = time * 60;[/color]
    return 1;
    }


    Unter nen Timer:
    if(PlayerInfo[i][pKnastZeit] > 0)
    {
    PlayerInfo[i][pKnastZeit] -= 1;
    }
    if(PlayerInfo[i][pKnastZeit] <= 0){
    }
    //FREILASSUNG
    }


    Das Rote in deinen befehl hinzufügen.


    MfG
    Acer

  • da ist zwar nix rot aber ich weiß was du meinst ^^



    ocmd:prison(playerid,params[])
    { if(!IstSpielerAdmin(playerid,2))return SendClientMessage(playerid,Rot,"Du bist kein Admin!");
    new pID,time,String1[128],String2[128];
    if(sscanf(params,"ui",pID,time))return SendClientMessage(playerid,Orange,"Benutzung: /prison [ID] [Zeit]");
    SetPlayerInterior(pID,18);
    SetPlayerPos(pID,1302.519897,-1.787510,1001.028259);
    format(String1,sizeof(String1),"Du hast den Spieler %s für %d min ins Prison gesteckt",SpielerName(pID),time);
    SendClientMessage(playerid,Gruen,String1);
    format(String2,sizeof(String2),"Du wurdest für %d min von %s ins Prison gesteckt!",time,SpielerName(playerid));
    SendClientMessage(playerid,Rot,String2);
    SpielerInfo[pID][pKnastZeit] = time
    SetTimer(PrisonTime,time,false); //Zeile5051
    return 1;
    }


    Macht Errors
    C:\Users\Ralf\Desktop\Samp o.3x Server\gamemodes\neues_Script.pwn.pwn(5051) : error 017: undefined symbol "SpielerInfo"
    C:\Users\Ralf\Desktop\Samp o.3x Server\gamemodes\neues_Script.pwn.pwn(5051) : warning 215: expression has no effect
    C:\Users\Ralf\Desktop\Samp o.3x Server\gamemodes\neues_Script.pwn.pwn(5051) : error 001: expected token: ";", but found "]"
    C:\Users\Ralf\Desktop\Samp o.3x Server\gamemodes\neues_Script.pwn.pwn(5051) : error 029: invalid expression, assumed zero
    C:\Users\Ralf\Desktop\Samp o.3x Server\gamemodes\neues_Script.pwn.pwn(5051) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • SetTimer(PrisonTime,time,false); das ist falsch^^
    dies was unten steht, mach das in einen allgemein timer. Falsch du nicht weiß wie das geht, kannst du mich gerne
    anschreiben per Privat Nachricht, dann kann ich dir genauer helfen.


    MfG
    Acer