Problemm mit Bank!

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 Forum,


    Ich habe ein Problemm mit meiner Bank auf meinen Server,
    Jedes mal wenn ich z.b in die Bank rein gehe und will sie ausrauben und bleib in der Bank kommt die message du hast die bank verlassen und beckommst keine kohle,
    doch sobald ich bankraub mache und ich aus der bank sofort rausgehe kommt die message du hast die bank überfallen du beckommst so und so viel kohle.


    Aber eig müsste es ja anders rum sein sobald man in der Bank drine bleibt beckommt man das geld, und nicht wenn man raus läuft...


    Würde mich freuen wenn mir jemand helfen würde und einen tipp geben kann wie ich diesen bug fixxen könnte...


    // >>>>>>>>>>>>>>>>> BANKÜBERFALL <<<<<<<<<<<<<<<<<
    if(strcmp(cmd, "/rob", true) == 0)
    {
    if(!IsPlayerInRangeOfPoint(playerid,8.0,2316.3018,-10.3223,26.7422))
    {
    SendClientMessage(playerid,0xAA3333AA,"Du bist nicht am Tresor in der Bank!");
    return 1;
    }
    if(rob)
    {
    SendClientMessage(playerid,0xAA3333AA,"Die Bank wurde gerade erst überfallen!");
    return 1;
    }
    //FreezePlayer(playerid);
    rob = 1;
    SetTimer("Rob_Reset",1800000,0); // Nach 30 Minuten erst wieder ausrauben
    SetTimerEx("Rob_UnFreeze",120000,0,"i",playerid); // Nach 2 minuten Bank überfallen
    OnPlayerCommandText(playerid,"/S Hände hoch das ist ein Überfall!!!");
    SendClientMessage(playerid,0xFF9933FF,"Du willst die Bank überfallen und musst warten bis das Geld eingepackt ist!");
    SendClientMessage(playerid,0xFF9933FF,"Verlasse vorher nicht die Bank!");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Achtung Alle Einheiten! Eine Meldung vom Bank Security System!");
    SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Verbrechen: Banküberfall, Gesuchter: Unbekannt");
    SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Begeben sie sich sofort zur Los Santos Bank!");
    }
    }
    }
    return 1;
    }
    public Rob_Reset()
    {
    rob = 0;
    return 1;
    }


    forward Rob_Cop(playerid);
    public Rob_Cop(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid,30.0,2316.6211,-9.9076,26.7422))
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    new sendername[MAX_PLAYER_NAME],string[123];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Achtung! Das Bank Security System Konnte den Täter identifizieren!");
    format(string,sizeof(string),"HQ: Der Täter heißt %s und befindet sich noch in der Bank!",sendername);
    SendClientMessage(i,TEAM_BLUE_COLOR,string);
    }
    }
    }
    }
    else if(!IsPlayerInRangeOfPoint(playerid,30.0,2316.6211,-9.9076,26.7422))
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    new sendername[MAX_PLAYER_NAME],string[123];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Achtung! Das Bank Security System Konnte den Täter identifizieren!");
    format(string,sizeof(string),"HQ: Der Täter heißt %s und befindet sich nichtmehr in der Bank!",sendername);
    SendClientMessage(i,TEAM_BLUE_COLOR,string);
    }
    }
    }
    }
    return 1;
    }


    public Rob_UnFreeze(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid,10.0,2316.3018,-10.3223,26.7422))
    {
    //UnFreezePlayer(playerid);
    new randmoney = 10000 + random(30000);
    GivePlayerMoney(playerid,randmoney);
    new string[128];
    format(string,sizeof(string),"Du hast $%d erbeutet! Nun verschwinde! Aber schnell!",randmoney);
    SendClientMessage(playerid,COLOR_GREEN,string);
    SetTimerEx("Rob_Cop",60000+random(90000),0,"i",playerid); // Nach 1 minute
    }
    else
    {
    SendClientMessage(playerid,0xAA3333AA," Du hast die Bank verlassen und bekommst keine Kohle!");
    return 1;
    }
    return 1;
    }


    public UnSetWeaps(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    WeapsTaken[playerid] = 0;
    }
    return 1;
    }

    Würde mich auf eine schnell antwort freuen.
    mfg: RaZ3r

  • public Rob_UnFreeze(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid,10.0,2316.3018,-10.3223,26.7422))
    {
    //UnFreezePlayer(playerid);
    new randmoney = 10000 + random(30000);
    GivePlayerMoney(playerid,randmoney);
    new string[128];
    format(string,sizeof(string),"Du hast $%d erbeutet! Nun verschwinde! Aber schnell!",randmoney);
    SendClientMessage(playerid,COLOR_GREEN,string);
    SetTimerEx("Rob_Cop",60000+random(90000),0,"i",playerid); // Nach 1 minute
    }
    else
    {
    SendClientMessage(playerid,0xAA3333AA," Du hast die Bank verlassen und bekommst keine Kohle!");
    return 1;
    }
    return 1;
    }


    Ich vermute mal das du an dieser Stelle abfragen willst ob er noch in der nähe des Punktes ist. Da du aber mit dem "!" vor dem IsPlayerInRangeOfPoint den Ausdruck negierst bekommt er das Geld wenn er NICHT in der nähe des Punktes ist. Du musst also einfach das "!" entfernen und es sollte so gehen wie du es willst. Ich hoffe ich hab dein Problem richtig verstanden :). Bin um die Uhrzeit etwas übermüdet.


    //Edit: Rechtschreibfehler
    //Edit2: Text überarbeitet

  • Ok, ich werde es mal testen jetzt sofort und gebe dir dann bescheid ob es funktioniert hat oder nicht...
    Aber danke schon mal für deine hilfe...
    :)


    /edit. Fehler behoben, danke für deine Hilfe...
    sehr sehr sehr vielen dank,
    kann /geclosed werden. danke nochmals.