#include <a_samp> //=====[Defines]====== #define SLOT 1 #define FILTERSCRIPT //=======[Cores]====== #define Amarelo 0xFFFF00AA #define Azul 0x2641FEAA #define Vermelho 0xA10000AA //=====[FORWARDS]===== forward Tontura(playerid); forward IsABike(vehicleid); //======[News's]====== new CintoStatus[MAX_PLAYERS]; new CapaceteStatus[MAX_PLAYERS]; //=====[Defines]====== #if defined FILTERSCRIPT public OnFilterScriptInit() { print("\n---------------------------------------------------------------"); print(" Cinto de Segurança e Capacete Filterscript criado por SlinghShot"); print("-----------------------------------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } public OnVehicleDamageStatusUpdate(vehicleid, playerid) { if(CintoStatus[playerid] == 0) { new Float:VIDA; GetPlayerHealth(playerid, VIDA); SetPlayerHealth(playerid, VIDA-20.0); SetTimer("Tontura",20000,0); SetPlayerDrunkLevel(playerid, 500000); } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/capacete", cmdtext, true) == 0) { if(IsPlayerInAnyVehicle(playerid)) { if(IsABike(GetPlayerVehicleID(playerid))) { if(CapaceteStatus[playerid] == 0) { SendClientMessage(playerid, Azul,"Clocas-te o Capacete."); CapaceteStatus[playerid] = 1; switch(GetPlayerSkin(playerid)) { #define SPAO{%0,%1,%2,%3,%4,%5} SetPlayerAttachedObject(playerid, SLOT, 18645, 2, (%0), (%1), (%2), (%3), (%4), (%5)); case 0, 65, 74, 149, 208, 273: SPAO{0.070000, 0.000000, 0.000000, 88.000000, 75.000000, 0.000000} case 1..6, 8, 14, 16, 22, 27, 29, 33, 41..49, 82..84, 86, 87, 119, 289: SPAO{0.070000, 0.000000, 0.000000, 88.000000, 77.000000, 0.000000} case 7, 10: SPAO{0.090000, 0.019999, 0.000000, 88.000000, 90.000000, 0.000000} case 9: SPAO{0.059999, 0.019999, 0.000000, 88.000000, 90.000000, 0.000000} case 11..13: SPAO{0.070000, 0.019999, 0.000000, 88.000000, 90.000000, 0.000000} case 15: SPAO{0.059999, 0.000000, 0.000000, 88.000000, 82.000000, 0.000000} case 17..21: SPAO{0.059999, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000} case 23..26, 28, 30..32, 34..39, 57, 58, 98, 99, 104..118, 120..131: SPAO{0.079999, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000} case 40: SPAO{0.050000, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000} case 50, 100..103, 148, 150..189, 222: SPAO{0.070000, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000} case 51..54: SPAO{0.100000, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000} case 55, 56, 63, 64, 66..73, 75, 76, 78..81, 133..143, 147, 190..207, 209..219, 221, 247..272, 274..288, 290..293: SPAO{0.070000, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000} case 59..62: SPAO{0.079999, 0.029999, 0.000000, 88.000000, 82.000000, 0.000000} case 77: SPAO{0.059999, 0.019999, 0.000000, 87.000000, 82.000000, 0.000000} case 85, 88, 89: SPAO{0.070000, 0.039999, 0.000000, 88.000000, 82.000000, 0.000000} case 90..97: SPAO{0.050000, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000} case 132: SPAO{0.000000, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000} case 144..146: SPAO{0.090000, 0.000000, 0.000000, 88.000000, 82.000000, 0.000000} case 220: SPAO{0.029999, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000} case 223, 246: SPAO{0.070000, 0.050000, 0.000000, 88.000000, 82.000000, 0.000000} case 224..245: SPAO{0.070000, 0.029999, 0.000000, 88.000000, 82.000000, 0.000000} case 294: SPAO{0.070000, 0.019999, 0.000000, 91.000000, 84.000000, 0.000000} case 295: SPAO{0.050000, 0.019998, 0.000000, 86.000000, 82.000000, 0.000000} case 296..298: SPAO{0.064999, 0.009999, 0.000000, 88.000000, 82.000000, 0.000000} case 299: SPAO{0.064998, 0.019999, 0.000000, 88.000000, 82.000000, 0.000000} } } else if(CapaceteStatus[playerid] == 1) { SendClientMessage(playerid,Azul,"Retiras-te o Capacete."); CapaceteStatus[playerid] = 0; RemovePlayerAttachedObject(playerid, SLOT); } } } else { SendClientMessage(playerid,Amarelo,"[CW-RP:] Não estás numa mota!"); } return 1; } if (strcmp("/cinto", cmdtext, true) == 0) { if(IsPlayerInAnyVehicle(playerid)) { if(IsABike(GetPlayerVehicleID(playerid))) { SendClientMessage(playerid,Amarelo, "[CW-RP:] Não podes por o cinto numa mota. (Digita /capacete)"); return 1; } if(CintoStatus[playerid] == 0) { SendClientMessage(playerid,Azul,"Clocas-te o Cinto de Segurança."); CintoStatus[playerid] = 1; } else if(CintoStatus[playerid] == 1) { SendClientMessage(playerid,Azul,"Retiras-te o Cinto de Segurança."); CintoStatus[playerid] = 0; } } else { SendClientMessage(playerid,Amarelo,"[CW-RP:] Não estás num carro!"); } return 1; } return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { if(CintoStatus[playerid] == 1) { SendClientMessage(playerid,Azul,"Retiras-te o Cinto de Segurança."); CintoStatus[playerid] = 0; } if(CapaceteStatus[playerid] == 1) { SendClientMessage(playerid,Azul,"Retiras-te o Capacete."); CapaceteStatus[playerid] = 0; RemovePlayerAttachedObject(playerid, SLOT); } return 1; } public IsABike(vehicleid) { new model = GetVehicleModel(vehicleid); if(model == 581 || model == 509 || model == 481 || model == 462 || model == 521 || model == 463 || model == 510 || model == 522 || model == 461 || model == 448 || model == 471 || model == 468 || model == 586) { return 1; } return 0; } #endif //Fim do meu primeiro FilterScript :D
Créditos: SlinghShoot