Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- // Interior del camion de los perritos By Deinol / Krroza.
- // No se olviden los creditos si lo distribuyen.
- //
- //
- // HotDogs truck's interior by Deinol / Krroza.
- // Dont forget the credits.
- forward Timer();
- forward SetPlayerPosWithObjects(playerid,Float:x,Float:y,Float:z);
- new InHotDog[MAX_PLAYERS];
- public OnPlayerConnect(playerid)
- {
- InHotDog[playerid]=0;
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if (GetVehicleModel(vehicleid) == 588 && ispassenger == 1)
- {
- SetPlayerInterior(playerid,15);
- SetPlayerFacingAngle(playerid,0.0);
- SetPlayerPos(playerid, 1476.6495, -1435.6868, 14.3984);
- SetCameraBehindPlayer(playerid);
- InHotDog[playerid]=vehicleid;
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (newkeys & 16 && InHotDog[playerid] > 0)
- {
- new Float:X,Float:Y,Float:Z,Float:A;
- GetVehiclePos(InHotDog[playerid],X,Y,Z);
- GetVehicleZAngle(InHotDog[playerid],A);
- X+=(5*floatsin(-floatsub(A,45.0),degrees)),
- Y+=(5*floatcos(-floatsub(A,45.0),degrees));
- SetPlayerInterior(playerid,0);
- SetPlayerPos(playerid,X,Y,floatsub(Z,0.94));
- SetPlayerFacingAngle(playerid,A);
- SetCameraBehindPlayer(playerid);
- InHotDog[playerid]=0;
- }
- return 1;
- }
- enum object_info
- {
- modelid,
- Float:ox,
- Float:oy,
- Float:oz,
- Float:orx,
- Float:ory,
- Float:orz,
- Float:viewdist
- }
- new Objects[][object_info] = {
- {3881, 1476.6495, -1435.6868, 14.3984, 0.0000, 0.0000, 0.0000, 500.0},
- {936, 1475.0850, -1437.4669, 13.1216, 0.0000, 0.0000, 90.0000, 500.0},
- {937, 1475.0568, -1435.4692, 13.1216, 0.0000, 0.0000, 270.0000, 500.0},
- {1959, 1475.0399, -1437.9623, 13.5957, 0.0000, 0.0000, 90.0000, 500.0},
- {2500, 1474.6616, -1434.9496, 13.5946, 0.0000, 0.0000, 90.0000, 500.0},
- {2541, 1474.9764, -1435.9662, 13.6014, 0.0000, 0.0000, 90.0000, 500.0},
- {2542, 1475.4663, -1438.1422, 13.5946, 0.0000, 0.0000, 180.0002, 500.0},
- {2543, 1474.6903, -1434.8959, 13.6387, 0.0000, 0.0000, 90.0000, 500.0},
- {2589, 1475.4150, -1433.2513, 17.9290, 0.0000, 0.0000, 0.0000, 500.0},
- {2601, 1475.1350, -1435.1896, 13.7793, 0.0000, 0.0000, 0.0000, 500.0},
- {2804, 1475.5050, -1435.7753, 13.7554, 0.0000, 0.0000, 0.0000, 500.0},
- {2414, 1478.9999, -1437.1278, 12.6411, 0.0000, 0.0000, 270.0000, 500.0},
- {2414, 1478.7667, -1435.1379, 13.0976, 0.0000, 0.0000, 270.0000, 500.0},
- {2414, 1478.7850, -1435.0863, 12.6411, 0.0000, 0.0000, 270.0000, 500.0},
- {2414, 1478.7906, -1433.1378, 12.6411, 0.0000, 0.0000, 270.0000, 500.0},
- {2414, 1478.7909, -1431.8584, 12.6411, 0.0000, 0.0000, 270.0000, 500.0},
- {2557, 1478.2776, -1435.0341, 12.6469, 0.0000, 0.0000, 270.0000, 500.0},
- {2557, 1478.2549, -1435.9938, 12.6469, 0.0000, 0.0000, 270.0000, 500.0},
- {2804, 1478.5315, -1432.6281, 13.8536, 0.0000, 0.0000, 247.5000, 500.0},
- {2803, 1475.3384, -1434.0157, 13.3036, 0.0000, 0.0000, 0.0000, 500.0},
- {2806, 1478.4901, -1433.7827, 13.9151, 0.0000, 0.0000, 11.2500, 500.0},
- {2871, 1478.5090, -1437.9728, 13.5746, 0.0000, 0.0000, 270.0000, 500.0},
- {2871, 1478.5090, -1437.1484, 13.5837, 0.0000, 0.0000, 270.0000, 500.0},
- {1513, 1474.9342, -1436.6986, 13.8738, 0.0000, 0.0000, 360.0000, 500.0},
- {1518, 1474.5245, -1437.2278, 14.7626, 0.0000, 0.0000, 90.0000, 500.0},
- {2344, 1475.4017, -1436.6493, 13.6072, 0.0000, 0.0000, 270.0000, 500.0},
- {2417, 1477.8164, -1432.1445, 12.6442, 0.0000, 0.0000, 0.0000, 500.0},
- {2632, 1476.6541, -1435.7738, 12.6932, 0.0000, 0.0000, 270.0000, 500.0},
- {14527, 1476.9280, -1435.9486, 13.4152, 0.0000, 0.0000, 0.0000, 500.0},
- {1651, 1474.2395, -1437.8748, 13.4732, 0.0000, 0.0000, 0.0000, 500.0},
- {1553, 1474.4269, -1437.2815, 13.5767, 0.0000, 0.0000, 270.0000, 500.0},
- {1716, 1476.4191, -1436.7744, 12.7468, 0.0000, 0.0000, 0.0000, 500.0},
- {1510, 1475.4889, -1436.2865, 13.6089, 0.0000, 0.0000, 0.0000, 500.0},
- {1485, 1475.3800, -1436.3567, 13.5864, 0.0000, 0.0000, 33.7499, 500.0},
- {1546, 1475.5022, -1437.5734, 13.6863, 0.0000, 0.0000, 0.0000, 500.0},
- {1665, 1475.5070, -1436.3196, 13.6589, 0.0000, 0.0000, 0.0000, 500.0},
- {1455, 1475.1350, -1435.0344, 13.7761, 0.0000, 0.0000, 0.0000, 500.0},
- {1898, 1474.5533, -1436.9283, 14.0673, 0.0000, 0.0000, 0.0000, 500.0},
- {1965, 1477.2278, -1438.7129, 13.8807, 0.0000, 0.0000, 90.0000, 500.0},
- {1814, 1477.8198, -1435.0029, 12.6358, 0.0000, 0.0000, 270.0000, 500.0},
- {2007, 1476.5740, -1438.4814, 12.6425, 0.0000, 0.0000, 180.0000, 500.0},
- {2007, 1476.5745, -1438.4840, 13.9674, 0.0000, 0.0000, 180.0000, 500.0},
- {1562, 1476.6025, -1432.3632, 13.3021, 0.0000, 0.0000, 0.0000, 500.0},
- {1563, 1476.5896, -1431.9851, 13.8272, 0.0000, 0.0000, 0.0000, 500.0},
- {3515, 1477.8840, -1435.6686, 18.0321, 0.0000, 0.0000, 0.0000, 500.0},
- {1574, 1477.8783, -1434.2631, 12.6850, 0.0000, 0.0000, 0.0000, 500.0},
- {2222, 1474.9329, -1437.2195, 13.6655, 0.0000, 0.0000, 0.0000, 500.0},
- {3280, 1475.3812, -1432.5619, 12.6469, 0.0000, 0.0000, 0.0000, 500.0},
- {2690, 1478.7773, -1435.6411, 14.5112, 0.0000, 0.0000, 258.7500, 500.0},
- {2709, 1477.2467, -1432.2721, 12.7865, 0.0000, 0.0000, 236.2501, 500.0},
- {1210, 1477.1710, -1432.3081, 12.7953, 0.0000, 0.0000, 270.0000, 500.0},
- {1247, 1479.3058, -1434.2609, 15.1638, 0.0000, 0.0000, 270.0000, 500.0},
- {2194, 1474.9445, -1431.9647, 12.9778, 0.0000, 0.0000, 0.0000, 500.0}
- };
- enum player_info
- {
- objid[sizeof(Objects)],
- bool:view[sizeof(Objects)]
- }
- new Player[MAX_PLAYERS][player_info];
- //------------------------------------------------------------------------------
- bool:IsInReach(Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:z2,Float:dist)
- {
- x = (x > x2) ? x - x2 : x2 - x;
- if(x > dist) return false;
- y = (y > y2) ? y - y2 : y2 - y;
- if(y > dist) return false;
- z = (z > z2) ? z - z2 : z2 - z;
- if(z > dist) return false;
- return true;
- }
- //------------------------------------------------------------------------------
- new timer;
- public OnFilterScriptInit()
- {
- print("---\nLoaded xObjects by Deinol / Krroza\n---");
- timer = SetTimer("Timer",500,1);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- for(new o = 0; o < sizeof(Objects); o++)
- {
- if(Player[i][view][o])
- {
- Player[i][view][o] = false;
- DestroyPlayerObject(i,Player[i][objid][o]);
- }
- }
- }
- KillTimer(timer);
- }
- //------------------------------------------------------------------------------
- public OnPlayerDisconnect(playerid)
- {
- for(new i = 0; i < sizeof(Objects); i++)
- {
- if(Player[playerid][view][i])
- {
- Player[playerid][view][i] = false;
- DestroyPlayerObject(playerid,Player[playerid][objid][i]);
- }
- }
- }
- //------------------------------------------------------------------------------
- public Timer()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i))
- PlayerObjectUpdate(i);
- }
- PlayerObjectUpdate(playerid)
- {
- new Float:pos[3];
- GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
- for(new i = 0; i < sizeof(Objects); i++)
- {
- if(!Player[playerid][view][i])
- {
- if(IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
- {
- Player[playerid][view][i] = true;
- Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]);
- }
- } else if(!IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
- {
- Player[playerid][view][i] = false;
- DestroyPlayerObject(playerid,Player[playerid][objid][i]);
- }
- }
- }
- public SetPlayerPosWithObjects(playerid,Float:x,Float:y,Float:z)
- {
- for(new i = 0; i < sizeof(Objects); i++)
- {
- if(!Player[playerid][view][i])
- {
- if(IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
- {
- Player[playerid][view][i] = true;
- Player[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelid],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]);
- }
- } else if(!IsInReach(x,y,z,Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
- {
- Player[playerid][view][i] = false;
- DestroyPlayerObject(playerid,Player[playerid][objid][i]);
- }
- }
- SetPlayerPos(playerid,Float:x,Float:y,Float:z);
- }
- public OnPlayerSpawn(playerid)
- PlayerObjectUpdate(playerid);
Advertisement
Add Comment
Please, Sign In to add comment