18.04.2012, 17:55
Boas pessoal jб alguns dias fiz um filterscript, eu achei muito interessante pois usei um plugin MapAndreas o que ele faz й muito simples, ele pega a coordenada Z dinamicamente usando um mapa com nнveis de altura, vocк deverб fazer o download AQUI.
Cуdigo:
Descriзгo: O que o filterscript faz й mandar bombas, ou seja, vocк pressiona a tecla ALT e ele vai largando bombas, quando vocк nгo tiver mais bombas vocк deverб carregar ele usando /ammo, digamos que o й um aviгo bombardeiro, este filterscript й muito util para servidores de guerra.
ChangeLog:
Cуdigo:
pawn Code:
/*
_____ _ _____ _____ _____ ___ ___ _____
| _ | | | | _ | | _ | | _ | | | | | | _ |
| |_| | | | | |_| | | |_| | | | | | | |_| | | |_| |
| _ | | | | _ \ | _ \ | | | | | _ _ | | _ \
| | | | | | | | | | | |_| | | |_| | | | | | | | | |_| |
|_| |_| |_| |_| |_| |_____| |_____| |_| |_| |_| |_____|
..-=====-...-=====-...-=====-...-=====-...-=====-...-=====-..
Todos os creditos reservados, deixe os creditos nos devidos locais, nгo necessita de colocar em /creditos
Basta deixar no main() ou OnFilterScriptInit...
Aviso: Este filterscript usa o plugin MapAndreas, vocк necessita de fazer o download do mesmo.
Autor do projeto: BlueX , Agradecimento: Kalcor & Mauzen pelo MapAndreas
*/
#define FILTERSCRIPT
#define FS_V "v1"
#define FS_C "BlueX"
#define FS_D "18/4/2012"
#define FS_SOLTS (500) //Info: Edite os solts do seu servidor como logico.
#define FS_AMMO (25) //Info: Edite o mбximo de misseis para cada aviгo
#include <a_samp>
#include <mapandreas>
#include <zcmd>
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
new bomb[FS_SOLTS];
new ammo[MAX_VEHICLES] = FS_AMMO;
public OnFilterScriptInit()
{
print("\n--------------------------------------");
printf(" AIR BOMB %s",FS_V);
printf(" CREDITOS: %s",FS_C);
printf(" SOLTS: %d",FS_SOLTS);
printf(" Lanзamento: %s",FS_D);
print("--------------------------------------\n");
MapAndreas_Init(MAP_ANDREAS_MODE_FULL);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_FIRE)){
cmd_fire(playerid);
}
return 1;
}
CMD:fire(playerid){
if(IsPlayerInAnyVehicle(playerid)){
new Float:X,Float:Y,Float:Z,Float:A, car = GetPlayerVehicleID(playerid),model = GetVehicleModel(car);
if(ammo[car] == 0) return SendClientMessage(playerid,-1,"sem muniзгo, use /ammo");
if(model != 553) return 1;
GetPlayerPos(playerid,X,Y,Z);
GetVehicleZAngle(GetPlayerVehicleID(playerid),A);
bomb[playerid] = CreateObject(345,X,Y,Z,A,0,0,0.0);
MapAndreas_FindZ_For2DCoord(X,Y,Z);
MoveObject(bomb[playerid],X,Y,Z,100.0,A,0.0,0.0);
CreateExplosion(X,Y,Z,10,20.0);
ammo[car] --;
DestroyObject(bomb[playerid]);
}
return 1;
}
//Info: Comando usado para largar bombas, vocк tanto pode usar a key FIRE(ALT) como pode usar o comando /fire
CMD:ammo(playerid){
new car = GetPlayerVehicleID(playerid);
//if(IsPlayerInRangeOfPoint(playerid,10.0,X,Y,Z)){ ammo[car] = FS_AMMO };
ammo[car] = 25;
return 1;
}
//Info: Vocк pode colocar o comando /ammo a funcionar em uma determinada area basta alterar o X, Y e o Z
//Lembrando que se vocк quiser usar IsPlayerInRangeOfPoint terб que eleminar o ammo[car] que estб aqui em baixo.
/*CMD:nevada(playerid){
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
CreateVehicle(553,X,Y,Z+1,0,1,2,10000);
return 1;
}*/
//Info: Este comando serve para criar um nevada que й o veiculo que lanзa as bombas...
ChangeLog:
- v1 - Versгo lanзada
- Este Filterscript foi feito na versгo 0.3eRC6 do sa-mp, mas eu penso que funcione...
- Nгo gravei video porque neste momento estive ocupado, mas tirei uma foto basta clicar AQUI
- Mantenha os crйditos no conteudo do script nгo custa nada, nгo necessita de colocar em comandos basta ser no cуdigo.
- Espero que tenha gostado.
- ~BlueX
- Autor do Projeto
- ~Kalcor
- Criador do MapAndreas
- ~Mauzen
- Criador da v1.1 do MapAndreas