[Ajuda] Roubo a banco com minimo 3 players. -
Jotapaulo - 02.01.2011
Boa noite a todos.
Antes de iniciar gostaria de dizer que eu
procurei no forum do samp e em outros blogs relacionados antes de vir aqui pedir ajuda.
Tenho um sistema de roubo com base no Raven's
(para deixar claro)
Preciso que o assalto ao banco comece com no minimo 3 players
pawn Код:
if(strcmp(cmd, "/roubarbanco", true) == 0)
{
//new success = random(2);
new success = 1;
if(gTeam[playerid] == 2 || IsACop(playerid))
{
return 1;
}
if(BankRobbedRecently == 1)
{
SendClientMessage(playerid, COLOR_GREY, "O Banco de Los Santos foi roubado recentemente, tente novamente mais tarde.");
return 1;
}
if(PlayerInfo[playerid][pRobTime] >= 1)
{
SendClientMessage(playerid, COLOR_GREY, "Voce ja roubou recentemente, tente novamente mais tarde.");
return 1;
}
if(IsPlayerInRangeOfPoint(playerid, 2, 2306.9514,-4.7727,26.7422))
{
if(GetPlayerWeapon(playerid) >= 24 && GetPlayerWeapon(playerid) <= 40)
{
/*if(PlayerInfo[playerid][pDuty] == 0) // Remover
{*/
if(success == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "O assalto ao Banco de Los Santos foi anunciado, permaneca ao lado do cofre.");
GetPlayerPos(playerid, xp[playerid], yp[playerid], zp[playerid]);
ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
Bomba[playerid] = CreateObject(1654, xp[playerid], yp[playerid], zp[playerid] - 0.8,270,0,0);
SetTimerEx("DestruirCofre",10000,0,"i",playerid); // Explodir o cofre (10000 = 10 segundos)
RobbingTime[playerid] = 300000; // Roubar o dinheiro do cofre (300000 = 5 minutos)
RobBankTimer = SetTimerEx("RobBank",1000,true,"i",playerid); // (analizar)
WantedPoints[playerid] = 5;
SetPlayerCriminal(playerid,255, "Tentativa de Roubo a Banco");
//PlayerInfo[playerid][pRobTime] = 900; original
PlayerInfo[playerid][pRobTime] = 0;
BankRobbedRecently = 1;
SetTimer("UnsetBankRob",3600000,false); // Reformar o cofre 120s (3600000 = 1 hora)
//OnePlayAnim(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0); // Rob Lookout
}
/*else
{
SendClientMessage(playerid, COLOR_WHITE, "O alarme do cofre foi ativado, voce nao obteve sucesso ao roubo do Banco de Los Santos.");
WantedPoints[playerid] = 2;
SetPlayerCriminal(playerid,255, "Tentativa de Roubo a Banco");
//PlayerInfo[playerid][pRobTime] = 500; original
PlayerInfo[playerid][pRobTime] = 0;
}*/
}
/*else
{
SendClientMessage(playerid, COLOR_GREY, "Bata cartao do seu emprego antes de cometer atos ilicitos."); // Remover
return 1;
}*/
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Voce precisa estar armado(a) para assaltar o Banco.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Voce nao esta no cofre do Banco de Los Santos.");
return 1;
}
return 1;
}
OBS: O sistema nгo estб todo ai, postei apenas o que й preciso.
Confesso que o sistema estб ficando realmente bom, bem realistico, talvez depois publicarei em forma de FS para outros players terem acesso.
Obrigado.
Re: [Ajuda] Roubo a banco com minimo 3 players. -
Jotapaulo - 02.01.2011
Ninguйm?
Re: [Ajuda] Roubo a banco com minimo 3 players. -
cacauagiar - 09.01.2011
posta tudo kra T_T sou noobzaoo hehehehehehe
pelo visto parece ser bem da hora mesmo kra quero muito usar lo
Re: [Ajuda] Roubo a banco com minimo 3 players. -
blackwave - 09.01.2011
Vc tenque usar uma array para contar os players:
pawn Код:
new count = 0;
new string[128];
count++; // Cada player que usar o comando serб como +1 player ao assaulto
format(string,sizeof(string)," Agora o assaulto do banco comeзarб com mais %d players", count);
SendClientMessageToAll(COR, string);
Agora pra 3:
pawn Код:
if(count < 3) return SendClientMessage(playerid, COR, " Para o assault comeзar, o numero de players necessarios й 3");
else return true; // Caso tenha 3 ou +, o assaulto continuarб a valer.
Re: [Ajuda] Roubo a banco com minimo 3 players. -
zSuYaNw - 09.01.2011
tou cansado destas pessoas nгo usarem search!
https://sampforum.blast.hk/showthread.php?tid=198691
Re: [Ajuda] Roubo a banco com minimo 3 players. -
CyNiC - 09.01.2011
Uma funзгo que retorna a quantidade de jogadores perto de um certo jogador, sу um exemplo, vocк vai precisar analisar se eles sгo gangsters tambйm.
pawn Код:
//Exemplo de uso:
if(JogadoresAoRedor(playerid, 4.0) < 3) return SendClientMessage(playerid, 0xFF4040AA, "[ERRO] Vocк precisa de mais 3 gangsters!");
stock JogadoresAoRedor(demin, Float: TamanhoDoCirculo)
{
new Float: Pos[3], count;
GetPlayerPos(demin, Pos[0], Pos[1], Pos[2]);
for(new i = 0; i < MAX_PLAYERS; ++i)
{
if(IsPlayerInRangeOfPoint(i, TamanhoDoCirculo,Pos[0], Pos[1], Pos[2])
{
count++;
}
}
return count;
}