rendered paste body#include <a_samp>new Float:DoorCoords[2][9] = {// 2 = Anzahl der Tore{1589.022, -1638.016, 14.950, 0.0, 0.0, -180.000, 1596.933, -1638.044, 14.924},{-1627.62, 688.59900, 7.8980, 0.0, 0.0, -180.000, -1619.68, 688.57900, 7.9010}// X Y Z RX RY RZ OpenX OpenY OpenZ};//------------------------------------------------------------------------------//=====FILTERSCRIPT=============================================================//------------------------------------------------------------------------------public OnFilterScriptInit(){ print("\n--------------------------------------"); print(" Door Example by Rafelder loaded"); print("--------------------------------------\n"); CreateObject(971, DoorCoords[0][0], DoorCoords[0][1], DoorCoords[0][2], DoorCoords[0][3], DoorCoords[0][4], DoorCoords[0][5]); CreateObject(971, DoorCoords[1][0], DoorCoords[1][1], DoorCoords[1][2], DoorCoords[1][3], DoorCoords[1][4], DoorCoords[1][5]); // Andere Objecte ( Nach den Toren !!! ) return 1;}public OnFilterScriptExit(){ print("\n--------------------------------------"); print(" Door Example by Rafelder un-loaded"); print("--------------------------------------\n"); return 1;}//------------------------------------------------------------------------------//=====COMMANDS=================================================================//------------------------------------------------------------------------------public OnPlayerCommandText(playerid, cmdtext[]){ if (strcmp("/open", cmdtext, true) == 0) { new gate = GetClosestGate(playerid); MoveObject(gate, DoorCoords[gate][6], DoorCoords[gate][7], DoorCoords[gate][8], 3.0); return 1; } if (strcmp("/close", cmdtext, true) == 0) { new gate = GetClosestGate(playerid); MoveObject(gate, DoorCoords[gate][0], DoorCoords[gate][1], DoorCoords[gate][2], 3.0); return 1; } return 0;}//------------------------------------------------------------------------------//=====STOCK====================================================================//------------------------------------------------------------------------------stock GetDistanceToPoint(playerid, Float:x2, Float:y2, Float:z2){ new Float:dis; new Float:x1,Float:y1,Float:z1; GetPlayerPos(playerid,x1,y1,z1); dis = floatsqroot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1)); return floatround(dis);}stock GetClosestGate(playerid){ if (!IsPlayerConnected(playerid)) return -1; new Float:prevdist = 100000.000; new nearobj, dist; for (new i=0; i < sizeof(DoorCoords); i++) { dist = GetDistanceToPoint(playerid, DoorCoords[i][0], DoorCoords[i][1], DoorCoords[i][2]); if (dist < prevdist) { prevdist=dist; nearobj=i; } } return nearobj;}