| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- #include <a_samp>
- #define COLOR_WHITE 0xFFFFFFAA
- new ufo1, ufo2;
- new control[MAX_PLAYERS];
- public OnFilterScriptExit()
- {
- DestroyObject(ufo1);
- DestroyObject(ufo2);
- }
- public OnFilterScriptInit()
- {
- ufo1 = CreateObject(13607, -1460.199829, -943.961182, 219.348648, 0.0000, 0.0000, 0.0000);
- ufo2 = CreateObject(13607, -1460.167114, -944.012512, 206.879150, 179.6226, 0.0000, 0.0000);
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp(cmdtext, "/control", true)==0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(control[playerid] == 1)
- {
- control[playerid] = 0;
- SendClientMessage(playerid, COLOR_WHITE, "You are no longer controlling the UFO");
- }
- else
- {
- control[playerid] = 1;
- SendClientMessage(playerid, COLOR_WHITE, "You are now controlling the UFO");
- }
- }
- }
-
- if(strcmp(cmdtext, "/ufo", true) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- new Float:X,Float:Y,Float:Z;
- GetObjectPos(ufo1,X,Y,Z);
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z);
- SetPlayerInterior(playerid,0);
- LinkVehicleToInterior(GetPlayerVehicleID(playerid),0);
- }
- else
- {
- SetPlayerPos(playerid,X,Y,Z);
- SetPlayerInterior(playerid,0);
- }
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerUpdate(playerid)
- {
- if(control[playerid] == 1)
- {
- new Keys,ud,lr;
- GetPlayerKeys(playerid,Keys,ud,lr);
- if(ud > 0)
- {
- new Float:X, Float:Y, Float:Z, Float:XB, Float:YB, Float:ZB;
- GetObjectPos(ufo1, X, Y, Z);
- GetObjectPos(ufo2, XB, YB, ZB);
- MoveObject(ufo1, X, Y - 20, Z, 20);
- MoveObject(ufo2, XB, YB - 20, ZB, 20);
- }
- else if(ud < 0)
- {
- new Float:X, Float:Y, Float:Z, Float:XB, Float:YB, Float:ZB;
- GetObjectPos(ufo1, X, Y, Z);
- GetObjectPos(ufo2, XB, YB, ZB);
- MoveObject(ufo1, X, Y + 20, Z, 20);
- MoveObject(ufo2, XB, YB + 20, ZB, 20);
- }
- if(lr > 0)
- {
- new Float:X, Float:Y, Float:Z, Float:XB, Float:YB, Float:ZB;
- GetObjectPos(ufo1, X, Y, Z);
- GetObjectPos(ufo2, XB, YB, ZB);
- MoveObject(ufo1, X + 20, Y, Z, 20);
- MoveObject(ufo2, XB + 20, YB, ZB, 20);
- }
- else if(lr < 0)
- {
- new Float:X, Float:Y, Float:Z, Float:XB, Float:YB, Float:ZB;
- GetObjectPos(ufo1, X, Y, Z);
- GetObjectPos(ufo2, XB, YB, ZB);
- MoveObject(ufo1, X - 20, Y, Z, 20);
- MoveObject(ufo2, XB - 20, YB, ZB, 20);
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(control[playerid] == 1)
- {
- if (newkeys & KEY_SPRINT)
- {
- new Float:X, Float:Y, Float:Z, Float:XB, Float:YB, Float:ZB;
- GetObjectPos(ufo1, X, Y, Z);
- GetObjectPos(ufo2, XB, YB, ZB);
- MoveObject(ufo1, X, Y, Z, 20);
- MoveObject(ufo2, XB, YB, ZB, 20);
- SendClientMessage(playerid, COLOR_WHITE, "Stopping Movement");
- }
- if (newkeys & KEY_JUMP)
- {
- new Float:X, Float:Y, Float:Z, Float:XB, Float:YB, Float:ZB;
- GetObjectPos(ufo1, X, Y, Z);
- GetObjectPos(ufo2, XB, YB, ZB);
- MoveObject(ufo1, X, Y, Z + 10, 20);
- MoveObject(ufo2, XB, YB, ZB + 10, 20);
- }
- if (newkeys & KEY_CROUCH)
- {
- new Float:X, Float:Y, Float:Z, Float:XB, Float:YB, Float:ZB;
- GetObjectPos(ufo1, X, Y, Z);
- GetObjectPos(ufo2, XB, YB, ZB);
- MoveObject(ufo1, X, Y, Z - 10, 20);
- MoveObject(ufo2, XB, YB, ZB - 10, 20);
- }
- }
- }
|