rendered paste body#include <a_samp>#define Type_Object 1#define Type_Pickup 2#define Type_Vehicle 3forward Timer();new Menu:StartMenu, Menu:ObjectMenu, Menu:PickupMenu, Menu:VehicleMenu;new counter;new type, menu_type, dobject;enum PosInfo{ Float:posx, Float:posy, Float:posz}new pos[PosInfo];enum RotInfo{ Float:rotx, Float:roty, Float:rotz}new rot[RotInfo];new Objects_Roads[] ={ 1320, 1321, 1322, 1323, 1324, 1422, 1423, 1424, 1427, 1434, 1435};new Timers[MAX_PLAYERS];public OnFilterScriptInit(){ print("\n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------\n"); StartMenu = CreateMenu("rObject", 1, 250.0, 8.0, 70.0, 50.0); if (IsValidMenu(StartMenu)) { SetMenuColumnHeader(StartMenu, 0, "Options"); AddMenuItem(StartMenu, 0, "Objects"); AddMenuItem(StartMenu, 0, "Pickups"); AddMenuItem(StartMenu, 0, "Vehicles"); AddMenuItem(StartMenu, 0, "Test Session"); } ObjectMenu = CreateMenu("rObject", 1, 250.0, 8.0, 70.0, 50.0); if (IsValidMenu(ObjectMenu)) { SetMenuColumnHeader(ObjectMenu, 0, "Object Mapping"); AddMenuItem(ObjectMenu, 0, "Roads"); AddMenuItem(ObjectMenu, 0, "Ramps"); AddMenuItem(ObjectMenu, 0, "Trees"); AddMenuItem(ObjectMenu, 0, "Buildings"); AddMenuItem(ObjectMenu, 0, "Misc"); AddMenuItem(ObjectMenu, 0, "Your own ID"); } PickupMenu = CreateMenu("rObject", 1, 250.0, 8.0, 70.0, 50.0); if (IsValidMenu(PickupMenu)) { SetMenuColumnHeader(PickupMenu, 0, "Pickup Mapping"); AddMenuItem(PickupMenu, 0, "Commonly Used"); AddMenuItem(PickupMenu, 0, "Your own ID"); } VehicleMenu = CreateMenu("rObject", 1, 250.0, 8.0, 70.0, 50.0); if (IsValidMenu(VehicleMenu)) { SetMenuColumnHeader(VehicleMenu, 0, "Vehicle Mapping"); AddMenuItem(VehicleMenu, 0, "Cars"); AddMenuItem(VehicleMenu, 0, "Your own ID"); } return 1;}public OnFilterScriptExit(){ return 1;}public OnPlayerRequestClass(playerid, classid){ SpawnPlayer(playerid); return 1;}public OnPlayerRequestSpawn(playerid){ return 1;}public OnPlayerConnect(playerid){ if (IsValidMenu(StartMenu)) ShowMenuForPlayer(StartMenu, playerid); return 1;}public OnPlayerDisconnect(playerid, reason){ return 1;}public OnPlayerSpawn(playerid){ return 1;}public OnPlayerDeath(playerid, killerid, reason){ return 1;}public OnVehicleSpawn(vehicleid){ return 1;}public OnVehicleDeath(vehicleid, killerid){ return 1;}public OnPlayerText(playerid, text[]){ return 1;}public OnPlayerPrivmsg(playerid, recieverid, text[]){ return 1;}public OnPlayerCommandText(playerid, cmdtext[]){ if (strcmp("/ostart", cmdtext, true, 10) == 0) { // Do something here return 1; } return 0;}public OnPlayerInfoChange(playerid){ return 1;}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ return 1;}public OnPlayerExitVehicle(playerid, vehicleid){ return 1;}public OnPlayerStateChange(playerid, newstate, oldstate){ return 1;}public OnPlayerEnterCheckpoint(playerid){ return 1;}public OnPlayerLeaveCheckpoint(playerid){ return 1;}public OnPlayerEnterRaceCheckpoint(playerid){ return 1;}public OnPlayerLeaveRaceCheckpoint(playerid){ return 1;}public OnRconCommand(cmd[]){ return 1;}public OnObjectMoved(objectid){ return 1;}public OnPlayerObjectMoved(playerid, objectid){ return 1;}public OnPlayerPickUpPickup(playerid, pickupid){ return 1;}public OnPlayerSelectedMenuRow(playerid, row){ new Menu:Current = GetPlayerMenu(playerid); if(Current == StartMenu) { switch(row) { case 0: if (IsValidMenu(ObjectMenu)) ShowMenuForPlayer(ObjectMenu, playerid); case 1: if (IsValidMenu(PickupMenu)) ShowMenuForPlayer(PickupMenu, playerid); case 2: if (IsValidMenu(VehicleMenu)) ShowMenuForPlayer(VehicleMenu, playerid); } } if(Current == ObjectMenu) { switch(row) { case 0: { HideMenuForPlayer(ObjectMenu, playerid); Timers[playerid] = SetTimer("Timer", 300, true); type = Type_Object, menu_type = row; DestroyObject(dobject); dobject = CreateObject(Objects_Roads[counter], pos[posx], pos[posy], pos[posz], rot[rotx], rot[roty], rot[rotz]); counter++; ChangeView(playerid, dobject); } } } return true;}public OnPlayerExitedMenu(playerid){ return 1;}public Timer(){ for(new i; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; new keys, updown, leftright; GetPlayerKeys(i, keys, updown, leftright); switch(keys) { case KEY_FIRE: { switch(type) { case Type_Object: { switch(menu_type) { case 0: { DestroyObject(dobject); dobject = CreateObject(Objects_Roads[counter], pos[posx], pos[posy], pos[posz], rot[rotx], rot[roty], rot[rotz]); counter++; ChangeView(i, dobject); } } } } } case KEY_LOOK_LEFT: { pos[posz] += 7.5; SetObjectPos(dobject, pos[posx], pos[posy], pos[posz]); ChangeView(i, dobject); } case KEY_LOOK_RIGHT: { pos[posz] -= 7.5; SetObjectPos(dobject, pos[posx], pos[posy], pos[posz]); ChangeView(i, dobject); } } if(leftright == KEY_LEFT) { pos[posx] -= 7.5; SetObjectPos(dobject, pos[posx], pos[posy], pos[posz]); ChangeView(i, dobject); } if(leftright == KEY_RIGHT) { pos[posx] += 7.5; SetObjectPos(dobject, pos[posx], pos[posy], pos[posz]); ChangeView(i, dobject); } if(updown == KEY_UP) { pos[posy] += 7.5; SetObjectPos(dobject, pos[posx], pos[posy], pos[posz]); ChangeView(i, dobject); } if(updown == KEY_DOWN) { pos[posy] -= 7.5; SetObjectPos(dobject, pos[posx], pos[posy], pos[posz]); ChangeView(i, dobject); } }}GetXYBehindObject(objectid, &Float:x, &Float:y, Float:distance){ new Float:a, Float:r[2]; GetObjectPos(objectid, x, y, a); GetObjectRot(objectid, a, r[0], r[1]); x -= (distance * floatsin(-a, degrees)); y -= (distance * floatcos(-a, degrees));}ChangeView(playerid,objectid){ new Float:opos[2]; GetXYBehindObject(objectid, opos[0], opos[1], 5.0); SetPlayerCameraPos(playerid, opos[0], opos[1], pos[posz] + 3.0); SetPlayerCameraLookAt(playerid, pos[posx], pos[posy], pos[posz]); TogglePlayerControllable(playerid, false); SetPlayerPos(playerid, pos[posx], pos[posy], pos[posz] + 25.0);}