23.02.2012, 17:46
[AJUDA] Como criar comando /assaltar? Para um gangster assaltar um player. Se vocкs tiverem o comando feito, pode me mostrar? Ou podem me ajudar a criar?
Desde jб, agradeзo.
Desde jб, agradeзo.
forward UsarNovamente(playerid);
new UsouComando[MAX_PLAYERS] = 0;
new giveplayerid, moneys, idx;
forward ProxDetectorS(Float:radi, playerid, targetid);
if(strcmp(cmd,"/assaltar",true)==0)
{
if(IsPlayerConnected(playerid))
{
new money = strval(tmp);
if(money < 1000 || money > 50000)
{
MSGPLAYER(playerid, COLOR_GREY, " O Preзo Tem que ser entre R$ 1000 e R$ 50000!");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (ProxDetectorS(5.0, playerid, giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Vocк estб assaltando $%d de %s.", money, giveplayer);
MSGPLAYER(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s: Isso й um assalto,pague $%d! nгo seja Ant-RPG.", sendername, money);
MSGPLAYER(giveplayerid, COLOR_LIGHTBLUE, string);
MSGPLAYER(giveplayerid, COLOR_LIGHTBLUE, "/aceitar assalto para aceitar");
format(string, sizeof(string), "*%s estб assaltando %s!", sendername,giveplayer);
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
OfAssalto[giveplayerid] = playerid;
precoassalto[giveplayerid] = money;
SetPlayerCriminal(playerid,255, "Tentativa de Assalto");
UsouComando[playerid] = 1;
SetTimerEx("UsarNovamente",300000,0,"d",playerid);
}
else
{
MSGPLAYER(playerid, COLOR_GREY, "Esse jogador nгo estб perto de vocк!");
}
}
else
{
MSGPLAYER(playerid, COLOR_GREY, " ID/Nome Invalido !");
return 1;
}
}
}
return 1;
}
public UsarNovamente(playerid)
{
UsouComando[playerid] = 0;
}
public ProxDetectorS(Float:radi, playerid, targetid)
{
if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
//radi = 2.0; //Trigger Radius
GetPlayerPos(targetid, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}
if(strcmp(cmdtext, "/assaltar", true) == 0)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 3, X, Y, Z)
{
new string[128], Nome[MAX_PLAYER_NAME], Name[MAX_PLAYER_NAME], rand = random(4500)+500;
GetPlayerName(i, Nome, sizeof(Nome));
GetPlayerName(playerid, Name, sizeof(Name));
format(string, sizeof(string), "Vocк assaltou o jogador %s e roubou R$ %d,00 dele!", Nome, rand);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "Vocк foi assaltado pelo jogador %s e ele te roubou %d!", Name, rand);
SendClientMessage(i, -1, string);
GivePlayerMoney(playerid, rand);
GivePlayerMoney(i, -rand);
}
}
return 1;
}