rendered paste body#include <a_samp>
#define dcmd(%1,%2) if ((strcmp(cmdtext, "/%1", true, %2 + 1) == 0) && (((cmdtext[%2 + 1] == 0) && (dcmd_%1(playerid, ""))) || ((cmdtext[%2 + 1] == 32) && (dcmd_%1(playerid, cmdtext[%2 + 2]))))) return 1
//#define FILTERSCRIPT
#define X_POS(%1) (float(%1) * 50.0) - 2500.0
new gInSel[MAX_PLAYERS];
new curobj[MAX_PLAYERS];
forward SelLoop();
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n====================================");
print("| |");
print("| Blank Filter Script! |");
print("| ---------------------- |");
print("| |");
print("| By Alex \"Y_Less\" Cole - (c) 2006 |");
print("| |");
print("====================================\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n====================================");
print("| |");
print("| Blank Gamemode Script! |");
print("| ------------------------ |");
print("| |");
print("| By Alex \"Y_Less\" Cole - (c) 2006 |");
print("| |");
print("====================================\n");
}
#endif
public OnGameModeInit()
{
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
SetTimer("SelLoop", 200, 1);
return 1;
}
public SelLoop()
{
static lastcall[MAX_PLAYERS];
static dir2[MAX_PLAYERS];
static playerobj[MAX_PLAYERS];
for (new i = 0; i < MAX_PLAYERS; i++)
{
if (gInSel[i] && IsPlayerConnected(i))
{
new key = GetPlayerKeys(i);
new dir; // = dir2[i];
//new pause = 0;
switch (key)
{
case KEY_CROUCH:
{
dir = -1;
}
case KEY_JUMP:
{
dir = 1;
}
case KEY_ACTION:
{
// Exit
TogglePlayerControllable(i, 1);
gInSel[i] = 0;
SetCameraBehindPlayer(i);
}
case KEY_FIRE:
{
// Make the object
dir = 0;
}
/*case KEY_SPRINT:
{
pause = 1;
}*/
default:
{
dir = dir2[i];
}
}
//if (!pause)
//{
if (GetTickCount() - lastcall[i] < 1000) return;
//}
lastcall[i] = GetTickCount();
if (dir)
{
new obj = curobj[i];
do
{
obj += dir;
if (obj >= 19000) obj = 0;
if (obj <= -1) obj = 19000;
}
while (!IsValidModel(obj));
if (IsValidObject(playerobj[i]))
{
DestroyObject(playerobj[i]);
playerobj[i] = 0;
}
playerobj[i] = CreateObject(obj, X_POS(i), 0.0, 5000.0, 0.0, 0.0, 0.0);
new str[16];
format(str, sizeof (str), "Modelid: %d", obj);
GameTextForPlayer(i, str, 20001, 3);
curobj[i] = obj;
dir2[i] = dir;
}
}
}
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
gInSel[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(entersel, 8);
dcmd(setobj, 6);
dcmd(zoom, 4);
return 0;
}
dcmd_zoom(playerid, text[])
{
#pragma unused text
if (gInSel[playerid])
{
SetPlayerCameraPos(playerid, X_POS(playerid), -5.0, 5000.0);
SetPlayerCameraLookAt(playerid, X_POS(playerid), 0.0, 5000.0);
}
else
{
SendClientMessage(playerid, 0xFF0000AA, "You must be in object selection mode to use this");
}
return 1;
}
dcmd_setobj(playerid, text[])
{
curobj[playerid] = strval(text);
return 1;
}
dcmd_entersel(playerid, text[])
{
#pragma unused text
//TogglePlayerControllable(playerid, 0);
gInSel[playerid] = 1;
SetPlayerCameraPos(playerid, X_POS(playerid), 0.0, 5050.0);
SetPlayerCameraLookAt(playerid, X_POS(playerid), 0.0, 5000.0);
return 1;
}
IsValidModel(modelid)
{
static modeldat[] =
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128,
-515899393, -134217729, -1, -1, 33554431, -1, -1, -1, -14337, -1, -33,
127, 0, 0, 0, 0, 0, -8388608, -1, -1, -1, -16385, -1, -1, -1, -1, -1,
-1, -1, -33, -1, -771751937, -1, -9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 33554431, -25, -1, -1, -1, -1, -1, -1,
-1073676289, -2147483648, 34079999, 2113536, -4825600, -5, -1, -3145729,
-1, -16777217, -63, -1, -1, -1, -1, -201326593, -1, -1, -1, -1, -1,
-257, -1, 1073741823, -133122, -1, -1, -65, -1, -1, -1, -1, -1, -1,
-2146435073, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1073741823, -64, -1,
-1, -1, -1, -2635777, 134086663, 0, -64, -1, -1, -1, -1, -1, -1, -1,
-536870927, -131069, -1, -1, -1, -1, -1, -1, -1, -1, -16384, -1,
-33554433, -1, -1, -1, -1, -1, -1610612737, 524285, -128, -1,
2080309247, -1, -1, -1114113, -1, -1, -1, 66977343, -524288, -1, -1, -1,
-1, -2031617, -1, 114687, -256, -1, -4097, -1, -4097, -1, -1,
1010827263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32768, -1, -1, -1, -1, -1,
2147483647, -33554434, -1, -1, -49153, -1148191169, 2147483647,
-100781080, -262145, -57, 134217727, -8388608, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1048577, -1, -449, -1017, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1835009, -2049, -1, -1, -1, -1, -1, -1,
-8193, -1, -536870913, -1, -1, -1, -1, -1, -87041, -1, -1, -1, -1, -1,
-1, -209860, -1023, -8388609, -2096897, -1, -1048577, -1, -1, -1, -1,
-1, -1, -897, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1610612737,
-3073, -28673, -1, -1, -1, -1537, -1, -1, -13, -1, -1, -1, -1, -1985,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1056964609, -1, -1, -1,
-1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-236716037, -1, -1, -1, -1, -1, -1, -1, -536870913, 3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -2097153, -2109441, -1, 201326591, -4194304, -1, -1,
-241, -1, -1, -1, -1, -1, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, -32768, -1, -1, -1, -2, -671096835, -1, -8388609, -66323585, -13,
-1793, -32257, -247809, -1, -1, -513, 16252911, 0, 0, 0, -131072,
33554383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8356095, 0, 0, 0, 0, 0,
0, -256, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-268435449, -1, -1, -2049, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
92274627, -65536, -2097153, -268435457, 591191935, 1, 0, -16777216, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 127
};
if ((modelid >= 0) && ((modelid / 32) < sizeof (modeldat)) && (modeldat[modelid / 32] & (1 << (modelid % 32))))
{
return 1;
}
return 0;
}