Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Sistema de Direccionales by ForTrezZ (www.fortrezz.tk)
- // Respeten creditos porfavor
- //la funcion encode_lights la saque de wiki.sa-mp.com
- /*
- Explicacion para que entiendan el uso de encode_light
- encode_lights(0,0,0,0)
- encode_lights(izquierda, izquierda, derecha, derecha)
- 0 Apagado 1 Prendido
- Por mi entendimiento las dos primeras significan las Luces de adelante y las de atras pero alfinal no
- fue asi, por este motivo libero este code ya que solo funcionan las luces de adelante.
- */
- #include <a_samp>
- #define function%0(%1) forward %0(%1); public %0(%1)
- new bool:precionado[MAX_PLAYERS] = false;
- new ppanels[MAX_PLAYERS],pdoors[MAX_PLAYERS],plights[MAX_PLAYERS], pplights[MAX_PLAYERS],ptires[MAX_PLAYERS];
- new pTimerLuz[MAX_PLAYERS];
- new DireccionalVar[MAX_PLAYERS] = true;
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Direccionales by ForTrezZ Design (www.fortrezz.tk)");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_LOOK_RIGHT)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(vehicleid != INVALID_VEHICLE_ID && IsPlayerInVehicle(playerid, vehicleid))
- {
- new enginem, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicleid, enginem, lights, alarm, doors, bonnet, boot, objective);
- if(lights == VEHICLE_PARAMS_OFF) return SendClientMessage(playerid, -1, "* Las luces del vehiculo no estan encendidas");
- if(!precionado[playerid])
- {
- GetVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], pplights[playerid], ptires[playerid]);
- precionado[playerid] = true;
- pTimerLuz[playerid] = SetTimerEx("DireccionalesDerecha", 500, true, "dd", playerid, vehicleid);
- } else {
- UpdateVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], pplights[playerid], ptires[playerid]);
- KillTimer(pTimerLuz[playerid]);
- precionado[playerid] = false;
- }
- }
- }
- if(newkeys & KEY_LOOK_LEFT)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(vehicleid != INVALID_VEHICLE_ID && IsPlayerInVehicle(playerid, vehicleid))
- {
- new enginem, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicleid, enginem, lights, alarm, doors, bonnet, boot, objective);
- if(lights == VEHICLE_PARAMS_OFF) return SendClientMessage(playerid, -1, "* Las luces del vehiculo no estan encendidas");
- if(!precionado[playerid])
- {
- GetVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], pplights[playerid], ptires[playerid]);
- precionado[playerid] = true;
- pTimerLuz[playerid] = SetTimerEx("DireccionalesIzquierda", 500, true, "dd", playerid, vehicleid);
- } else {
- UpdateVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], pplights[playerid], ptires[playerid]);
- KillTimer(pTimerLuz[playerid]);
- precionado[playerid] = false;
- }
- }
- }
- return 1;
- }
- encode_lights(light1, light2, light3, light4)
- {
- return light1 | (light2 << 1) | (light3 << 2) | (light4 << 3);
- }
- function DireccionalesDerecha(playerid, vehicleid)
- {
- if(DireccionalVar[playerid])
- {
- GetVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], plights[playerid], ptires[playerid]);
- UpdateVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], encode_lights(0,0,1,1), ptires[playerid]);
- DireccionalVar[playerid] = false;
- } else {
- GetVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], plights[playerid], ptires[playerid]);
- UpdateVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], encode_lights(0,0,0,0), ptires[playerid]);
- DireccionalVar[playerid] = true;
- }
- }
- function DireccionalesIzquierda(playerid, vehicleid)
- {
- if(DireccionalVar[playerid])
- {
- GetVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], plights[playerid], ptires[playerid]);
- UpdateVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], encode_lights(1,1,0,0), ptires[playerid]);
- DireccionalVar[playerid] = false;
- } else {
- GetVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], plights[playerid], ptires[playerid]);
- UpdateVehicleDamageStatus(vehicleid, ppanels[playerid], pdoors[playerid], encode_lights(0,0,0,0), ptires[playerid]);
- DireccionalVar[playerid] = true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement