AutoMove (create automatic gates with ONE LINE!) -
Lokii - 15.09.2017
AutoMove
AutoMove creates any object and moves it when some player is in specific radius of that object.
you can make any object move with this not only gates.
The script i used in the video:
Code:
#include <a_samp>
#include <AutoMove>
#define FILTERSCRIPT
public OnFilterScriptInit()
{
CreateAutoObject(0, 971, 551.22101, 1659.31995, 9.59222, 0.00000, 0.00000, 304.77103, 75.0, 15.0, 557.70056, 1650.47827, 9.59222, 3);
CreateAutoObject(1, 971, 532.47937, 1688.40173, 10.33070, 0.00000, 0.00000, 26.49157, 95.0, 20.0, 532.47937, 1688.40173, 6.19246, 2);
return 1;
}
Functions:
CreateAutoObject(id, modelid, Float, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Floattream_distance, Float:move_distance, Float:tox, Float:toy, Float:toz, Float:move_speed)
DestroyAutoObject(id)
DestroyAllAutoObjects()
PASTEBIN: https://pastebin.com/tmBziB3a
VIDEO: https://www.youtube.com/watch?v=-p-aYxh31lw
Credits:
ME: for AutoMove
incognito: for streamer
y_less: for y_hooks
AutoMove V2:
1. Supports virtural worlds
2. Supports interiors
3. Added callback OnAutoObjectOpen(playerid, auto_objectid)
4. Added callback OnAutoObjectClose(playerid, auto_objectid)
5. Added function OpenAutoObject(id)
6. Added function CloseAutoObject(id)
7. Supports rotations
Now you can make the object move only when player is on foot, only in vehicle or both and a lot more stuff
Functions:
CreateAutoObject(id, modelid, Float, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, Floattream_distance, Float:move_distance, Float:tox, Float:toy, Float:toz, Float:torx, Float:tory, Float:torz, Float:move_speed)
OpenAutoObject(id)
CloseAutoObject(id)
DestroyAutoObject(id)
DestroyAllAutoObjects()
PASTEBIN: https://pastebin.com/SZMuHizQ
example:
Code:
#include <a_samp>
#include <AutoMove>
#define FILTERSCRIPT
public OnFilterScriptInit()
{
CreateAutoObject(0, 971, 551.22101, 1659.31995, 9.59222, 0.00000, 0.00000, 304.77103, -1, -1, 75.0, 15.0, 557.70056, 1650.47827, 9.59222, 0.00000, 0.00000, 304.77103, 3); //Cars only.
CreateAutoObject(1, 971, 532.47937, 1688.40173, 10.33070, 0.00000, 0.00000, 26.49157, -1, -1, 95.0, 20.0, 532.47937, 1688.40173, 6.19246, 0.00000, 0.00000, 26.49157, 2); //Players only.
CreateAutoObject(2, 971, -62.40447, 1341.03003, 9.79037, 0.00000, 0.00000, 0.00000, -1, -1, 100.5, 10.0, -59.96775, 1344.00391, 9.79037, 0.00000, 0.00000, 300.6515, 2.5); //Cars and Players.
return 1;
}
public OnAutoObjectOpen(playerid, auto_objectid)
{
switch(auto_objectid)
{
case 0: //object id 0, can enter only while in vehicle
{
if(IsPlayerInAnyVehicle(playerid)) //if player enter with vehicle open
{
SendClientMessage(playerid, 0xFFFF00FF, "Welcome");
}
else //if player enter on foot dont open
{
CloseAutoObject(0); //were using the close function because it automaticly opens, so if we want the object to stay and not move we have to use that function
SendClientMessage(playerid, 0xFF0000FF, "You have to be in a vehicle");
}
}
case 1:
{
if(!IsPlayerInAnyVehicle(playerid)) //opposite of id 0
{
SendClientMessage(playerid, 0xFFFF00FF, "Welcome");
}
else
{
CloseAutoObject(1);
SendClientMessage(playerid, 0xFF0000FF, "Vehicles are not allowed");
}
}
case 2: //opens not matter on foot or in vehicle
{
SendClientMessage(playerid, 0xFFFF00FF, "Welcome");
}
}
return 1;
}
V1 vs V2 compressions https://www.youtube.com/watch?v=JAUAM2vzulI
AutoMove V2.1
1. Supports NPC's now
PASTEBIN: https://pastebin.com/QTF1z2re
FOR THOSE WHO DONT TO USE THE Y_HOOKS VERSION:
AutoMove V2.2
1. y_hooks is not required anymore
AMX AVERAGE SIZE:
V1: 39.8 kb
V2: 45.9 kb
V2.1: 45.9 kb
V2.2: 22.4 kb
PASTEBIN: https://pastebin.com/RxUp8Bdr
Re: AutoMove (create automatic gates with ONE LINE!) -
X337 - 15.09.2017
Cool. A question, why do you use
Code:
I_AutoMove[id][am_areaid] = CreateDynamicSphere(0, 0, 0, 0, -2, -1, -1);
instead of deleting the area?
Re: AutoMove (create automatic gates with ONE LINE!) -
Meller - 15.09.2017
Useless.
1star ;d
Re: AutoMove (create automatic gates with ONE LINE!) -
Whatname - 15.09.2017
not bad, i was planning to make something like that
Re: AutoMove (create automatic gates with ONE LINE!) -
Eoussama - 15.09.2017
Cool consept.
Re: AutoMove (create automatic gates with ONE LINE!) -
Tort - 17.09.2017
good job
Re: AutoMove (create automatic gates with ONE LINE!) -
Deadpoop - 17.09.2017
nice
Re: AutoMove (create automatic gates with ONE LINE!) -
Pottus - 18.09.2017
You can use the extraid with the streamer to assign the array index in which your gate data is located so you don't have to do any looping.
Code:
hook OnPlayerEnterDynamicArea(playerid, areaid)
{
if(playerid != INVALID_PLAYER_ID && !IsPlayerNPC(playerid))
{
for(new j = 0; j < MAX_AUTO_OBJECTS;j++)
if(areaid == I_AutoMove[j][am_areaid])
Re: AutoMove (create automatic gates with ONE LINE!) -
DonaldDuck - 18.09.2017
Nice i was looking for this.