23.02.2012, 17:55
Olha Ver se Assim dar Certo
!

Topo do GameMode !
pawn Код:
forward UsarNovamente(playerid);
new UsouComando[MAX_PLAYERS] = 0;
new giveplayerid, moneys, idx;
forward ProxDetectorS(Float:radi, playerid, targetid);
Comando /assaltar
pawn Код:
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 Final do Gamemode
pawn Код:
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;
}