03.06.2010, 16:06
Como fasso para que quando o player pass certa velocidade mande uma mensagem?
if(GetSpeedKM(playerid) >100)
{
SendClientMessage(playerid,CORPORRA,"Vocк Esta Acima de 100 Noob");
}
stock
GetSpeedKM(playerid)
{
new
Float:PosX,
Float:PosY,
Float:PosZ,
Float:PlayerSpeedDistance;
GetVehicleVelocity(GetPlayerVehicleID(playerid), PosX, PosY, PosZ);
PlayerSpeedDistance = floatmul(floatsqroot(floatadd(floatadd(floatpower(PosX, 2), floatpower(PosY, 2)), floatpower(PosZ, 2))), 170.0);
new
spe = floatround(PlayerSpeedDistance * 1);
return spe;
}
Originally Posted by andmeida10
n sei bem... mas ja algures que, por exemplo:
a Float:Raio, se for dividida por 4 = 1 metro.. Exemplo: IsPlayerInRangeOfPoint(playerid,12.0,CordX, CordY, CordZ) basicamente: 12/4 = 3 Ou seja, isto verifica se estб a 4 metros de distвncia... Sem certeza... eu li isto algures, nгo sei se й ou nгo verdade |
if(GetSpeedKM(playerid) >100){
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PoliciaLevel(i) >=1){//VARIAVEL DA POLICIA
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s esta acima de 100 por Hora, Corre Corre Pegar Ele.",name);
SendClientMessage(i,0xFFFF00AA, string);
}
}
}
stock
GetSpeedKM(playerid)
{
new
Float:PosX,
Float:PosY,
Float:PosZ,
Float:PlayerSpeedDistance;
GetVehicleVelocity(GetPlayerVehicleID(playerid), PosX, PosY, PosZ);
PlayerSpeedDistance = floatmul(floatsqroot(floatadd(floatadd(floatpower(PosX, 2), floatpower(PosY, 2)), floatpower(PosZ, 2))), 170.0);
new
spe = floatround(PlayerSpeedDistance * 1);
return spe;
}
manda-se uma mensagem para os policias perto dele num raio de 20 por exemplo |
if(GetSpeedKM(playerid) >100){
for(new i = 0; i < MAX_PLAYERS; i++)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
if(IsPlayerInRangeOfPoint(i,25.0,X,Y,Z)){
if(PoliciaLevel(i) >=1){//VARIAVEL DA POLICIA
new name[MAX_PLAYER_NAME], string[44];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s esta acima de 100 por Hora, Corre Corre Pegar Ele.",name);
SendClientMessage(i,0xFFFF00AA, string);
}
}
}
}
stock
GetSpeedKM(playerid)
{
new
Float:PosX,
Float:PosY,
Float:PosZ,
Float:PlayerSpeedDistance;
GetVehicleVelocity(GetPlayerVehicleID(playerid), PosX, PosY, PosZ);
PlayerSpeedDistance = floatmul(floatsqroot(floatadd(floatadd(floatpower(PosX, 2), floatpower(PosY, 2)), floatpower(PosZ, 2))), 170.0);
new
spe = floatround(PlayerSpeedDistance * 1);
return spe;
}
if(IsPlayerInRangeOfPoint(i,25.0,X,Y,Z)){
Originally Posted by tshadow
foi a ъnica coisa que encontrei https://sampwiki.blast.hk/wiki/Loop
|
for(new i = 0; i < GetMaxPlayers(); i++) // Comeзamos um loop que percorra todos os slots do servidor (GetMaxPlayers й para indicar que o loop sу percorrerб os slots que o servidor tem).
{
if(!IsPlayerConnected(i)) continue; // Aqui diz basicamente se o jogador nгo estб conectado para continuar.
GivePlayerMoney(i, 5000); // Se o jogador estiver conectado receberб 5000$ (todos os jogadores). (Agora aqui o "i" tomou valor de todos os jogadores conectados).
}