G Bug

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
  • Hey Leute,


    wie kann ich machen das wenn man im Knast ist nur im Knast nicht Alcatraz,


    das man jede 40 Sekunden gespawnt wird.


    Da ich nicht will das man den GBUG ausnutzt.


    Hoffe mir kann wer weiterhelfen


    Mfg


    Strato.

  • Einfach einen Timer einbauen ungefähr so:


    //in den /arrest befehl und halt auf die giveplayerid ausrichten
    SetTimerEx("Knasti", 1000*40, 1, "i", playerid);


    //unten im Script
    forward Knasti(playerid);
    public Knasti(playerid)
    {
    SetPlayerInterior(playerid, 6);
    SetPlayerPos(playerid, X, Y, Z);//hier halt die Knast Koordinaten rein
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mache ja ein Knast und wenn die Person das gebiet verlässt soll er eins der Zellen rein geportet werden.


    Wie kann man das überhaupt machen?


  • Mache ja ein Knast und wenn die Person das gebiet verlässt soll er eins der Zellen rein geportet werden.


    Wie kann man das überhaupt machen?


    So: SetPlayerWorldBounds


    Der Spieler kann dieses Feld dann nicht verlassen und sobald er es versucht, fliegt er wieder in dieses Feld !


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • SetPlayerWorldBounds(playerid, 20.0, 0.0, 20.0, 0.0);


    Wie funktioniert das so richtig?


    //Edit


    wo einfügen und wie weiss das teil wo es den spieler wieder hinbringen soll?

    Einmal editiert, zuletzt von S_T_R_A_T_O ()

  • Wo füg ich das ein?
    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid) || PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist nicht im Dienst!");
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,6.0, -1588.5958,710.0782,-5.2422))
    {// Jail spot
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
    SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 1 || moneys > 9999999) { SendClientMessage(playerid, COLOR_GREY, " Das Bußgeld muss zwischen 1 und 99999$ betragen!"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
    SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    return 1;
    }
    new time = strval(tmp);
    if(time < 1 || time > 150) { SendClientMessage(playerid, COLOR_GREY, " Die Minuten der Haftzeit dürfen nicht unter 1 oder über 60 liegen !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
    SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    return 1;
    }
    new bail = strval(tmp);
    if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, " Die Möglichkeit einer Kaution kann entweder mit 0 abgelehnt-, oder mit 1 erlaubt werden !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]");
    SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    return 1;
    }
    new bailprice = strval(tmp);
    if(bailprice < 0 || bailprice > 3000000) { SendClientMessage(playerid, COLOR_GREY, " Der Kautionspreis darf nicht unter $1 oder über $3000000 liegen !"); return 1; }
    new suspect = GetClosestPlayer(playerid);
    if(IsACop(suspect))
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du kannst keinen Beamten einsperren!");
    return 1;
    }
    if(IsPlayerConnected(suspect))
    {
    if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
    {
    GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(WantedLevel[suspect] < 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht gesucht!");
    return 1;
    }
    new string2[256];
    GivePlayerMoney(playerid, moneys/2);
    FraktionsKasse[0] += moneys/2;
    format(string, sizeof(string), "* Du hast %s eingesperrt für $%d!", giveplayer,moneys);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string2, sizeof(string2), " << Gesuchter: %s wurde von %s Eingespert >>",giveplayer,sendername);
    SendClientMessageToAll(COLOR_RED,string2);
    GivePlayerMoney(suspect, -moneys);
    format(string, sizeof(string), "Eingesperrt von %s ~n~ fuer $%d", sendername, moneys);
    PlayerCuffed[giveplayerid] = 0;
    GameTextForPlayer(suspect, string, 5000, 5);
    ResetPlayerWeapons(suspect);
    /*
    if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1)
    {
    format(string, sizeof(string), "<< LS Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(COLOR_LIGHTRED, string);
    }
    else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
    {
    format(string, sizeof(string), "<< SF Officer %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(COLOR_LIGHTRED, string);
    }
    else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
    {
    format(string, sizeof(string), "<< Soldat %s hat den Verdächtigen %s eingesperrt >>", sendername, giveplayer);
    OOCNews(COLOR_LIGHTRED, string);
    }
    */
    if(LSPDZellen == 0)//zelle1
    {
    SetPlayerInterior(suspect, 3);
    SetPlayerPos(suspect,197.8290,161.8141,1003.0300);
    LSPDZellen += 1;
    UnFreeze(playerid);
    PlayerCuffed[giveplayerid] = 0;
    }
    if(LSPDZellen == 1)//zelle2
    {
    SetPlayerInterior(suspect, 3);
    SetPlayerPos(suspect,197.8312,174.6445,1003.0234);
    LSPDZellen += 1;
    UnFreeze(playerid);
    PlayerCuffed[giveplayerid] = 0;
    }
    if(LSPDZellen == 2)//zelle3
    {
    SetPlayerInterior(suspect, 3);
    SetPlayerPos(suspect,193.4911,174.3988,1003.0234);
    LSPDZellen = 0;
    UnFreeze(playerid);
    PlayerCuffed[giveplayerid] = 0;
    }
    /*if(LSPDZellen == 0)//zelle4
    {
    SetPlayerPos(suspect,197.8290,161.8141,1003.0300);
    LSPDZellen += 1;
    }
    if(LSPDZellen == 0)//zelle5
    {
    SetPlayerPos(suspect,197.8290,161.8141,1003.0300);
    LSPDZellen += 1;
    }
    if(LSPDZellen == 0)//zelle6
    {
    SetPlayerPos(suspect,197.8290,161.8141,1003.0300);
    LSPDZellen += 1;
    }*/
    PlayerInfo[suspect][pJailTime] = time * 60;
    if(bail == 1)
    {
    JailPrice[suspect] = bailprice;
    format(string, sizeof(string), "Du bist für %d Sekunden eingesperrt. Kaution: $%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]);
    SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
    PlayerCuffed[giveplayerid] = 0;
    }
    else
    {
    JailPrice[suspect] = 0;
    format(string, sizeof(string), "Du bist für %d Sekunden eingesperrt. Kaution: nicht möglich", PlayerInfo[suspect][pJailTime]);
    SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
    PlayerCuffed[giveplayerid] = 0;
    }
    PlayerInfo[suspect][pJailed] = 1;
    PlayerInfo[suspect][pArrested] += 1;
    SetPlayerInterior(suspect, 6);
    SetPlayerFree(suspect,playerid, "Verhaftet");
    WantedPoints[suspect] = 0;
    WantedLevel[suspect] = 0;
    SetPlayerWantedLevel(suspect,0);
    }//distance
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Niemand zum Verhaften in deiner Nähe.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Beamter !");
    return 1;
    }
    }//not connected
    return 1;
    }


    if(KnastTime[playerid] > 0)
    {
    SetPlayerToKnast(playerid,Knast[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTRED, " Flüchten bringt nichts, zurück in die Zelle!");
    SetPlayerInterior(playerid,3);
    return 1;
    }
    if(PlayerInfo[playerid][pJailed] == 1)
    {
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,197.8290,161.8141,1003.0300);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid, COLOR_LIGHTRED, "Flüchten bringt nichts, zurück in die Zelle!");
    return 1;
    }

  • Wo einfügen wie will das teil wissen wo er dan hinkommt???

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen