[BUG] Roubar Banco / Lotйrica
#1

Opa,

Eu de novo x.x
Tipo,vi um BUG no meu gamemode que й o seguinte,quando vocк digita "/roubarcofre" pra roubar o banco ou "/roubarlotйrica" pra roubar a loteria,inicia-se um tempo de 60 segundos pra concluir o assalto e aparece pro jogador que digitou o tempo que falta,exemplo: Tempo: 60,59,58,57,56.... mas o problema й que o tempo nгo tб aparecendo esse tempo pra quem digitou e sim pra outra pessoa que nгo tem nada a ver com o assalto,e a pessoa que tambйm nгo tem nada a ver й quem recebe a grana do assalto
sabem o que pode ser? Me ajudem ai por favor

Comandos do "/roubarcofre" e "/roubarlotйrica"

Код:
	if(strcmp(cmd,"/roubarcofre",true)==0)
	{
	if(IsPlayerConnected(playerid))
	{
	if(!PlayerToPoint(2.0,playerid, 1389.0435791016, -1197.3367919922, 202.44537353516))
	{
	SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб nos cofres do banco.");    //PlayerInfo[killerid][pMember]
	return 1;
	}
	if (robbed == 1)
	{
	SendClientMessage(playerid, COLOR_GREY, "Alguйm jб estб a tentar roubar o Banco.");
	return 1;
	}
	if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3)
	{
	SendClientMessage(playerid, COLOR_GREY, "Policiais nгo podem roubar o banco.");
	return 1;
	}
	if(PlayerInfo[playerid][pTeam] != 5)
	{
	SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб em uma gangue.");
	return 1;
	}
	if(robtime == 1)
	{
	format(string, sizeof(string), "Aguarde, o cofre estб vazio.", robtime);
	SendClientMessage(playerid,COLOR_LIGHTRED,string);
	return 1;
	}
	new sendername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, sendername, sizeof(sendername));
	format(string, sizeof(string), "O alarme do banco disparou! %s estб arrombando o cofre.", sendername);
	SetPlayerCriminal(playerid,255, "Assalto a banco");
	SendClientMessageToAll(COLOR_LIGHTBLUE, string);
	SendClientMessage(playerid,COLOR_WHITE,"Nгo se Mova! Vocк estб pegando o dinheiro! Caso queira desistir,corra!");
	ApplyAnimation(playerid,"CRIB","PED_Console_Loop",4.1,0,1,1,1,1);
	SetTimerEx("Robbank",60000,0, "d", sendername);
	Kils = SetTimerEx("roubar",4000,0, "d", sendername);
	CountDown();
	WantedLevel[playerid] += 4;
	WantedPoints[playerid] += 4;
	robbed = 1;
	SetTimerEx("poderobar",60000,0, "d", sendername);
	robtime = 1;
	}
	return 1;
	}


	if(strcmp(cmd, "/roubarlotйrica", true) == 0 || strcmp(cmd, "/roubarloterica", true) == 0)
	{
	if(IsPlayerConnected(playerid))
	{
 	if(!PlayerToPoint(2.0,playerid, 821.39141845703, 9.4306592941284, 1004.1950683594))
	{
	SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб na sala do cofre da lotйrica.");    //PlayerInfo[killerid][pMember]
	return 1;
	}
	if (robbed2 == 1)
	{
	SendClientMessage(playerid, COLOR_GREY, "Alguйm jб estб roubando a loterica.");
	return 1;
	}
	if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3)
	{
	SendClientMessage(playerid, COLOR_GREY, "Policiais nгo podem roubar a loterica.");
	return 1;
	}
	if(PlayerInfo[playerid][pTeam] != 5)
	{
	SendClientMessage(playerid, COLOR_GREY, "Vocк nгo estб em uma gangue.");
	return 1;
	}
	if(robtime2 == 1)
	{
	format(string, sizeof(string), "Aguarde, o cofre ainda esta vazio.", robtime2);
	SendClientMessage(playerid,COLOR_LIGHTRED,string);
	return 1;
	}
	new sendername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, sendername, sizeof(sendername));
	format(string, sizeof(string), "As cвmeras de seguranзa da lotйrica flagraram %s assaltando os cofres.", sendername);
	SendClientMessageToAll(COLOR_LIGHTBLUE, string);
	SetPlayerCriminal(playerid,255, "Assalto a lotйrica");
	SendClientMessage(playerid,COLOR_WHITE,"Nгo se Mova! Vocк estб pegando o dinheiro! Caso queira desistir,corra!");
	ApplyAnimation(playerid,"CRIB","PED_Console_Loop",4.1,0,1,1,1,1);
	SetTimerEx("Robbank2",60000,0, "d", sendername);
	Kils = SetTimerEx("roubar",4000,0, "d", sendername);
	CountDown();
	WantedLevel[playerid] += 4;
	WantedPoints[playerid] += 4;
	robbed2 = 1;
 	SetTimerEx("poderobar2",60000,0, "d", sendername);
	robtime2 = 1;
	}
	return 1;
	}
Public do RobBank (Banco) e RobBank2 (Lotйrica)

Код:
public Robbank(playerid)
{
for(new i=0; i<MAX_PLAYERS; i++)
   {
if (!IsPlayerInRangeOfPoint(i, 20, 1389.0435791, -1197.3367919, 202.44537353))
	{
	SendClientMessage(i, COLOR_GREY, "A tentativa de roubo nгo foi bem sucedida.");
	robbed = 0;
	return 1;
	} 	
if (IsPlayerInRangeOfPoint(i, 20, 1389.0435791, -1197.3367919, 202.44537353))
{
	if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3)
	{
	KillTimer(Kils);
	robbed = 0;
	return 1;
	}
robmoney[playerid] = random(20000);
new string[58];
format(string, 58, "Vocк roubou R$%d do cofre!", robmoney[playerid]);
SendClientMessage(i, COLOR_PURPLE, string); //aqui teria a MODIFICAЗГO!
KillTimer(Kils);
GivePlayerGP(i, robmoney[playerid]);
robbed = 0;
}
return 1;
}
return 1;
}


public Robbank2(playerid)
{
for(new i=0; i<MAX_PLAYERS; i++)
   {
if (!IsPlayerInRangeOfPoint(i, 30, 821.39141845, 9.4306592941, 1004.1950683))
	{
	SendClientMessage(i, COLOR_GREY, "A tentativa de roubo nгo foi bem sucedida.");
	robbed2 = 0;
	return 1;
	}
if (IsPlayerInRangeOfPoint(i, 30, 821.39141845, 9.4306592941, 1004.1950683))
{
	if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3)
	{
	KillTimer(Kils);
	robbed2 = 0;
	return 1;
 	}
robmoney[playerid] = random(30000);
new string[58];
format(string, 58, "Vocк roubou R$%d do cofre!", robmoney[playerid]);
SendClientMessage(i, COLOR_PURPLE, string); //aqui teria a MODIFICAЗГO!
KillTimer(Kils);
GivePlayerGP(i, robmoney[playerid]);
robbed2 = 0;
}
return 1;
}
return 1;
}
Public do PodeRobar (Banco) e PodeRobar2 (Lotйrica)

Код:
public poderobar(playerid)
{
robtime = 0;
}

public poderobar2(playerid)
{
robtime2 = 0;
}
Public do Roubar (Banco) e Roubar2 (Lotйrica)

Код:
public roubar(playerid)
{
    if(IsPlayerConnected(playerid))
	{
		TogglePlayerControllable(playerid,0);
	}
}

public roubar2(playerid)
{
    if(IsPlayerConnected(playerid))
	{
		TogglePlayerControllable(playerid,0);
	}
}
Reply
#2

Ninguem?
''/

й urgentasso
meu amigo pagou um dedicado pra mim
mas o GM ainda ta com uns bugs
precisava corrigir pro povo entrar
pra ele n perder dinheiro
T.T

mal o duple post
й realmente urgente
Reply
#3

Montei este cуdigo pra vocк, ele deve resolver o seu problema:


pawn Код:
public Robbank(playerid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if (!IsPlayerInRangeOfPoint(i, 20, 1389.0435791, -1197.3367919, 202.44537353) || PlayerInfo[i][pMember] == 1
        ||PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3)
        {
            SendClientMessage(i, COLOR_GREY, "A tentativa de roubo nгo foi bem sucedida.");
            KillTimer(Kils);
            robbed = 0;
            return 1;
        }
        else if (!IsPlayerInRangeOfPoint(i, 20, 1389.0435791, -1197.3367919, 202.44537353) && PlayerInfo[i][pMember] != 1
        && PlayerInfo[i][pMember] != 2 && PlayerInfo[i][pMember] != 3)
        {
            robmoney[playerid] = random(20000);
            new string[58];
            format(string, 58, "Vocк roubou R$%d do cofre!", robmoney[playerid]);
            SendClientMessage(i, COLOR_PURPLE, string); //aqui teria a MODIFICAЗГO!
            KillTimer(Kils);
            GivePlayerGP(i, robmoney[playerid]);
            robbed = 0;
        }
        return 1;
    }
    return 1;
}


public Robbank2(playerid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if (!IsPlayerInRangeOfPoint(i, 30, 821.39141845, 9.4306592941, 1004.1950683) || PlayerInfo[i][pMember] == 1
        ||PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3)
        {
            SendClientMessage(i, COLOR_GREY, "A tentativa de roubo nгo foi bem sucedida.");
            KillTimer(Kils);
            robbed2 = 0;
            return 1;
        }
        else (IsPlayerInRangeOfPoint(i, 30, 821.39141845, 9.4306592941, 1004.1950683) && PlayerInfo[i][pMember] != 1
        && PlayerInfo[i][pMember] != 2 && PlayerInfo[i][pMember] != 3)
        {
            robmoney[playerid] = random(30000);
            new string[58];
            format(string, 58, "Vocк roubou R$%d do cofre!", robmoney[playerid]);
            SendClientMessage(i, COLOR_PURPLE, string); //aqui teria a MODIFICAЗГO!
            KillTimer(Kils);
            GivePlayerGP(i, robmoney[playerid]);
        }
        return 1;
    }
    return 1;
}

Espero ter ajudado
Reply
#4

Tipo
O Tempo agora foi sу pra mim
mas nгo recebo o dinheiro
e nem aparece mais "Vocк roubou R$...."

''/
Reply
#5

Pronto, isto deve resolver o seu problema:

pawn Код:
public Robbank(playerid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if (!IsPlayerInRangeOfPoint(i, 20, 1389.0435791, -1197.3367919, 202.44537353) || PlayerInfo[i][pMember] == 1
        || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 1
        || PlayerInfo[i][pLeader] == 2 || PlayerInfo[i][pLeader] == 3)
        {
            SendClientMessage(i, COLOR_GREY, "A tentativa de roubo nгo foi bem sucedida.");
            KillTimer(Kils);
            robbed = 0;
            return 1;
        }
        else if (IsPlayerInRangeOfPoint(i, 20, 1389.0435791, -1197.3367919, 202.44537353) && PlayerInfo[i][pMember] != 1
        && PlayerInfo[i][pMember] != 2 && PlayerInfo[i][pMember] != 3 && PlayerInfo[i][pLeader] != 1
        && PlayerInfo[i][pLeader] != 2 && PlayerInfo[i][pLeader] != 3)
        {
            robmoney[playerid] = random(20000);
            new string[58];
            format(string, 58, "Vocк roubou R$%d do cofre!", robmoney[playerid]);
            SendClientMessage(i, COLOR_PURPLE, string); //aqui teria a MODIFICAЗГO!
            KillTimer(Kils);
            GivePlayerGP(i, robmoney[playerid]);
            robbed = 0;
        }
        return 1;
    }
    return 1;
}


public Robbank2(playerid)
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if (!IsPlayerInRangeOfPoint(i, 30, 821.39141845, 9.4306592941, 1004.1950683) || PlayerInfo[i][pMember] == 1
        || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 1
        || PlayerInfo[i][pLeader] == 2 || PlayerInfo[i][pLeader] == 3)
        {
            SendClientMessage(i, COLOR_GREY, "A tentativa de roubo nгo foi bem sucedida.");
            KillTimer(Kils);
            robbed2 = 0;
            return 1;
        }
        else if (IsPlayerInRangeOfPoint(i, 30, 821.39141845, 9.4306592941, 1004.1950683) && PlayerInfo[i][pMember] != 1
        && PlayerInfo[i][pMember] != 2 && PlayerInfo[i][pMember] != 3 && PlayerInfo[i][pLeader] != 1
        && PlayerInfo[i][pLeader] != 2 && PlayerInfo[i][pLeader] != 3)
        {
            robmoney[playerid] = random(30000);
            new string[58];
            format(string, 58, "Vocк roubou R$%d do cofre!", robmoney[playerid]);
            SendClientMessage(i, COLOR_PURPLE, string); //aqui teria a MODIFICAЗГO!
            KillTimer(Kils);
            GivePlayerGP(i, robmoney[playerid]);
        }
        return 1;
    }
    return 1;
}

Espero ter ajudado
Reply
#6

Agora o "Tempo:" tб aparecendo pra outra pessoa e a outra pessoa recebe o dinheiro
de novo.

''/

@@EDIT

jб improvisei um sistema que funcionou
xD
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)