Bankraub system

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 Breadfish

    Ich möchte es so schreiben dass wenn man bei einem Bankraub stirbt das der Bankraub auch abgebrochen wird.
    Mein Bankraub habe ich so geschrieben das wenn man ausraubt in ganze San Andreas flüchten kann.
    Das einzinste was ich wissen will ist wie man es richtig schreibt. Ich habe es schon mal versucht aber ich habe etwas in dem Befehl /bankraub vergessen.
    Mein Bankraub system ist halt ein GF System aber ich habe es behalten und habe es bisschen verbessert aber bei onplayerdeath mache ich etwas falsch.

    [/u]
    [u]new rob;[/u]
    [u][/u]


    if(strcmp(cmd, "/bankraub", true) == 0 || strcmp(cmd, "/bankrob", true) == 0)
    {
    if(PlayerInfo[playerid][pTot] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Tote können keine Befehle nutzen!");
    return 1;
    }
    if(!IsPlayerInRangeOfPoint(playerid,2.0,2942.8362,-1769.3473,1178.4684))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht in der Bank!");
    return 1;
    }
    if(IsACop(playerid) || PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22 ||PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)return SendClientMessage(playerid, COLOR_RED, "Du bist in einer Staatlichen Fraktion!");
    new Cops = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1 || PlayerInfo[i][pLeader] == 2 || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pLeader] == 3 || PlayerInfo[i][pMember] == 3)
    {
    Cops += 3;
    }
    }
    }
    if(Cops < 0)// Anzahl von Polizisten die online sein müssen
    {
    SendClientMessage(playerid, rot, "Es sind nicht genug Polizisten online!");
    return 1;
    }
    if(rob == 1)
    {
    SendClientMessage(playerid,0xAA3333AA,"Die Bank wurde gerade erst überfallen!");
    return 1;
    }
    rob = 1;
    SetTimer("Rob_Reset",7200000,0); // Nach 120 Minuten erst wieder ausrauben
    SetTimerEx("Rob_UnFreeze",20000,0,"i",playerid); // Nach 10 Minuten Bank überfallen
    SetPlayerAttachedObject(playerid, 1, 1550, 1, 0.018999, -0.270000, -0.027000, 1.099999, 89.999992, 158.299942, 1.000000, 1.000000, 1.000000); // Skin 4


    OnPlayerCommandText(playerid,"/s Das ist ein Überfall alle auf dem Boden sofort!!!!");
    OnPlayerCommandText(playerid,"/s Hände weg von dem Knopf oder du verlierst dein Kopf!!!");
    //SendClientMessage(playerid,rot,"Verlasse die Bank nicht bevor das Geld eingepackt worden ist!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    SendClientMessage(i,COLOR_ORANGE,"HQ: Achtung Alle Einheiten! Eine Meldung vom Bank Security System!");
    SendClientMessage(i,COLOR_ORANGE,"HQ: Verbrechen: Banküberfall, Gesuchter: Unbekannt");
    SendClientMessage(i,COLOR_ORANGE,"HQ: Begeben sie sich sofort zur Los Santos Bank!");
    }
    }
    }
    return 1;
    }



    Function Rob_UnFreeze(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,35000000000000,2942.8362,-1769.3473,1178.4684))
    {
    new randmoney = 350000+ random(30000);
    GivePlayerMoney(playerid,randmoney);
    new string[128];
    format(string,sizeof(string),"{FFFFFF}Du hast {009933}%d$ {FFFFFF}ausgeraubt!",randmoney);
    SendClientMessage(playerid,COLOR_WHITE,string);
    if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
    SetTimerEx("Rob_Cop",30000+random(10000),0,"i",playerid); // Nach 1 minute
    }
    else
    {
    SendClientMessageToAll(ORANGE,"News: Der Bankraub wurde soeben von dem Räuber abgebrochen.");
    SendClientMessage(playerid,rot," Du hast die Bank Verlassen. Der Bankraub wurde abgebrochen"); //<--- Das hier ist sogar buggy es funkzuniert erst wenn die bank ausgeraubt wurde aber ich brauche es eh nicht da man flüchten kann
    if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
    return 1;
    }


    return 1;
    }




    Function Rob_Reset()
    {
    rob = 0;
    return 1;
    }


    //====================================================================== Wie habe ich es bei OnplayerDeath gemacht ============================================================//



    enum pInfo
    {
    pblablabla,
    pblablabla,
    pblablabla,
    pBanktod




    PlayerInfo[playerid][pTot] = 0;


    PlayerInfo[playerid][pJob] = 0;
    PlayerInfo[playerid][pBanktod] = 0;



    Function SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pTot] == 1


    if(PlayerInfo[playerid][pTot] == 1 && PlayerInfo[playerid][pBanktod] == 1)



    {



    if(IsAGang(playerid) || IsACop(playerid)) //if(IsAGang(playerid) || (IsPlayerInFrac(playerid, 1))


    return 1;
    }



    Function OnPlayerDeath(playerid, killerid, reason)
    {
    M_OnPlayerDeath(playerid,killerid,reason);
    GW_OnPlayerDeath(playerid, killerid, reason);
    SendDeathMessage(killerid, playerid, reason);
    if(GetPlayerScore(killerid) == 1)
    {
    new name[MAX_PLAYER_NAME], string[70];
    GetPlayerName(killerid, name, sizeof(name));format(string, sizeof(string), "%s wurde gekickt da er mit Level 1 eine Person getötet hat.",name);
    SendClientMessageToAll(rot, string);
    Kick(killerid);
    }


    if(PlayerInfo[playerid][pJailed] == 0 && PlayerInfo[playerid][pBanktod] == 0)
    {
    PlayerInfo[playerid][pTot] = 1;
    }



    So habe ich es geschrieben aber ich weiß dass ich noch etwas bei /bankraub einfügen muss aber ich weiß nicht was :hm:


    Mit freundlichen Grüßen