Jump to content
  • 0

pomoc [HELP] Vykrádání banky


Storm391

Dotaz

Čaute,

Potřeboval bych pomoct s jedním kódem. Funguje normálně, ale vždycky tu banku vykrade hráč s ID 0, když jí vykrádá někdo jiný. Sorry za nějaké věci v kódu, které tam mám zbytečně a podobně, zatím to moc neupravuji do detailů..

Dík za pomoc.

public robtimer(playerid)
{
        new string[128];
		new cash = random(200000); // Částka max kráděže
		new mcelkem = 0;
		
		new count = 0;
		for(new i; i < MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
				count++;
			}
		}
		for(new i; i < MAX_PLAYERS; i++)
		{
			if(VarBanka[i]>0)
			{
                if(IsPlayerConnected(i))
				{
					if(playerid != i)
			    	{
			    	    if(VarBanka[i] >= (cash/(count-1)))
			    	    {
                            VarBanka[i] = VarBanka[i] - (cash/(count-1)); // -1 protože odečítáme hráče který vykrádá

							new str[128];
							format(str, sizeof(str), "[  Banka  ] Byl jsi okraden o %d $!", (cash/(count-1)));
			    			SendClientMessage(i, B_CERV, str);

							mcelkem += (cash/(count-1)); // součet
						}else{
						    new str[128];
							format(str, sizeof(str), "[  Banka  ] Byl jsi okraden o %d $!", VarBanka[i]);
						    mcelkem += VarBanka[i]; // kdyř nemá peníze
                            VarBanka[i] = 0;

			    			SendClientMessage(i, B_CERV, str);
						}
			    	}
    			}
			}
		}

        GivePlayerMoney(playerid, mcelkem);

        format(string, sizeof(string), "[  i  ] Úspěšně jsi ukradl %d $ z banky, uteč než tě chytnou!", mcelkem);
        SendClientMessage(playerid, B_ORAN, string);

		new str[128];
		format(str, sizeof(str), "[  CrimeNews  ] Hráč %s vykradl banku a ukradl %d $", Jmeno(playerid), mcelkem);
        SendClientMessageToAll(B_ORAN, str);
}
Link to comment
Share on other sites

7 odpovědí na tuto otázku

Recommended Posts

  • 0

 

 

public robtimer(playerid)
{
new string[128];
        new cash = random(200000); // Částka max kráděže
        new mcelkem = 0;
        
        
new count = 0;
        for(new i; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                count++;
            }
        }
        for(new i; i < MAX_PLAYERS; i++)
        {
            if(VarBanka[i]>0)
            {
if(IsPlayerConnected(i))
                {
                    if(playerid != i)
                 {
                  if(VarBanka[i] >= (cash/(count-1)))
                  {
VarBanka[i] = VarBanka[i] - (cash/(count-1)); // -1 protože odečítáme hráče který vykrádá

                            new str[128];
                            format(str, sizeof(str), "[ Banka ] Byl jsi okraden o %d $!", (cash/(count-1)));
                         SendClientMessage(i, B_CERV, str);

                            mcelkem += (cash/(count-1)); // součet
                        }else{
                         new str[128];
                            format(str, sizeof(str), "[ Banka ] Byl jsi okraden o %d $!", VarBanka[i]);
                         mcelkem += VarBanka[i]; // kdyř nemá peníze
VarBanka[i] = 0;

                         SendClientMessage(i, B_CERV, str);
                        }
                 }
            }
            }
        }

GivePlayerMoney(playerid, mcelkem);

format(string, sizeof(string), "[ i ] Úspěšně jsi ukradl %d $ z banky, uteč než tě chytnou!", mcelkem);
SendClientMessage(playerid, B_ORAN, string);

        new str[128];
        format(str, sizeof(str), "[ CrimeNews ] Hráč %s vykradl banku a ukradl %d $", Jmeno(i), mcelkem);
SendClientMessageToAll(B_ORAN, str);
}

Link to comment
Share on other sites

  • 0

 

 

public robtimer(playerid)

{

new string[128];

        new cash = random(200000); // Částka max kráděže

        new mcelkem = 0;

        

        new count = 0;

        for(new i; i < MAX_PLAYERS; i++)

        {

            if(IsPlayerConnected(i))

            {

                count++;

            }

        }

        for(new i; i < MAX_PLAYERS; i++)

        {

            if(VarBanka>0)

            {

if(IsPlayerConnected(i))

                {

                    if(playerid != i)

                 {

                  if(VarBanka >= (cash/(count-1)))

                  {

VarBanka = VarBanka - (cash/(count-1)); // -1 protože odečítáme hráče který vykrádá

 

                            new str[128];

                            format(str, sizeof(str), "[ Banka ] Byl jsi okraden o %d $!", (cash/(count-1)));

                         SendClientMessage(i, B_CERV, str);

 

                            mcelkem += (cash/(count-1)); // součet

                        }else{

                         new str[128];

                            format(str, sizeof(str), "[ Banka ] Byl jsi okraden o %d $!", VarBanka);

                         mcelkem += VarBanka; // kdyř nemá peníze

VarBanka = 0;

 

                         SendClientMessage(i, B_CERV, str);

                        }

                 }

            }

            }

        }

 

GivePlayerMoney(playerid, mcelkem);

 

format(string, sizeof(string), "[ i ] Úspěšně jsi ukradl %d $ z banky, uteč než tě chytnou!", mcelkem);

SendClientMessage(playerid, B_ORAN, string);

 

        new str[128];

        format(str, sizeof(str), "[ CrimeNews ] Hráč %s vykradl banku a ukradl %d $", Jmeno(i), mcelkem);

SendClientMessageToAll(B_ORAN, str);

}

 

 

Kde je chyba? 

Link to comment
Share on other sites

  • 0

"i" jsou hráči, kterým budou odebrány peníze z banky .. "Jmeno(playerid)" má být hráč který to vykrádá, ale ono to přidá peníze hráči s ID 0. Prostě vše se dělá jen pro ID 0, i když tam je "GivePlayerMoney(playerid, mcelkem);" atd..  :eh: 

Link to comment
Share on other sites

  • 0

Tohle je zbytek

if (strcmp("/robbank", cmdtext, true, 10) == 0)
	{
		if(robpossible == 1)
        {
        	if(IsPlayerInRangeOfPoint(playerid, 3.0, 2033.8226, 1328.0271, 10.8203))
         	{
          		robpossible = 0;
            	SetTimer("waittimer", 300000, false);

				SetTimer("robtimer", 60000, false);

				SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+15);

                if (VarPovolani[playerid]==1)
                {
					VarPovolani[playerid] = 0;
					SendClientMessage(playerid, B_CERV, "[  !  ] Byl jsi vyhozen z povolání!");
				}

    			SendClientMessage(playerid, B_CERV, "[  !  ] Spustil se bezpečnostní alarm, policie byla upozorněna!");
            	SendClientMessage(playerid, B_ORAN, "[  i  ] Vykrádáš banku, počkej 60s!");
      		}
        }else{
        	SendClientMessage(playerid, B_CERV, "[  !  ] Momentálně nemůžeš vykrást banku");
        }
		return 1;
	}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...