Public feed #888109

Untitled

public text v1 · immutable
Raw Edit
·published 2008-02-01 21:27 UTC
rendered paste body
/*
===================================================================
  If you uncomment the following line YSI will be compiled with
  filterscript options, this is VERY important if you do use it as
  one, otherwise certain features may not work
===================================================================
*/

//#define FILTERSCRIPT

/*
===================================================================
  If you uncomment one of the following lines YSI will not include,
  those files in compiling.
  So if you E.G. dont use objects in your script,
  you could uncomment the line #define YSI_NO_OBJECTS,
  and it would leave the Object files out.
  
  Note: Not every combination has been tested (there are currently
  131072 combinations, if you find one which doesn't compile due to
  cross-file dependencies please say.
  
  Also note that excluding either checkpoints or areas will exclude
  properties instantly.  You can also exclude all unwritten new
  libraries for future compatability using:

  #define YSI_VERSION <version>
  
  Where version is the version you are compiling against, current
  ids are:
  
  2 - YSI 0.2 or earlier
  3 - YSI 0.3
===================================================================
*/

#define YSI_NO_USERS
//#define YSI_NO_TEXT
//#define YSI_NO_COMMANDS
//#define YSI_NO_MODULES
//#define YSI_NO_OBJECTS
//#define YSI_NO_CHECKPOINTS
//#define YSI_NO_AREAS
//#define YSI_NO_SYSTEM
//#define YSI_NO_RACES
//#define YSI_NO_ZONES
//#define YSI_NO_TRACKING
//#define YSI_NO_CALLBACKS
#define YSI_NO_MASTER
//#define YSI_NO_CLASSES
//#define YSI_NO_PICKUPS
//#define YSI_NO_GROUPS
//#define YSI_NO_PROPERTIES
//#define YSI_NO_STANDARD
//#define YSI_NO_LOADER

#include <YSI>
//#include <xadmin/XtremeAdmin.inc>

forward ReadTeleport_category(playerid, identifier[], text[]);
forward ReadTeleport_teleport(playerid, identifier[], text[]);
forward ReadRace_global(identifier[], text[]);
forward ReadTeleportXML_category(playerid);
forward ReadTeleportXML_teleport(playerid);
forward ReadRace_user(playerid, identifier[], text[]);
forward Timer_StartRace(raceid);

new
	Float:teleport_x[32],
	Float:teleport_y[32],
	Float:teleport_z[32],
	Float:teleport_a[32],
	bool:teleport_done[32],
	chk1_id,
	race1_id,
	race1area,
	raceids[32],
	raceareas[32],
	racechks[32][32],
	racemoneys[32],
	racenames[32][256],
	racecoords[32][256],
	raceteles[32][256],
	inrace[32] = -1,
	rrace,
	inrrace[32] = -1,
	racetypes[32],
	bool:racetimer[32] = false;


main()
{
	print("\n--------------------------------");
	print(" dotbas.net game mode of uberness ");
	print("--------------------------------\n");
}

Text_RegisterTag(tag_with_MY_KILL_HELP);
Text_RegisterTag(join_messages);

forward ycmd_kill(playerid, params[], help);
public ycmd_kill(playerid, params[], help)
{
	if (help) Text_Send(playerid, "MY_KILL_HELP");
	else SetPlayerHealth(playerid, 0.0);
	return 1;
}

Script_OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	#if !defined FILTERSCRIPT
		SetGameModeText("drive&walk&shoot");
		/*AddStaticVehicleEx(487, 2040.0568, 1343.4222, 10.6719, 0.0, 0, 0, 20);
		AddStaticVehicleEx(435, 2040.0568, 1354.4222, 10.6719, 0.0, 0, 0, 20); // long trailer - 1
		AddStaticVehicleEx(515, 2040.0568, 1365.4222, 10.6719, 0.0, 0, 0, 20); // roadtrain*/
		Class_Add(287, 380.2110, 2537.7800, 16.5390, 180.144900, 0, 0, 0, 0, 0, 0);
		Class_Add(105, 2490.8242,-1686.4448,13.5115,336.6955, 0, 0, 0, 0, 0, 0);
		
		ycmd(kill);
		ycmd("mycommand");
		ycmd("join");
		Langs_AddLanguage("EN", "English");
		Langs_AddFile("core", "YSI");
		Langs_AddFile("ons", "YSI");
		
	AddStaticVehicle(401,2497.1003,-1680.7183,13.1310,13.6480,52,52); // grove kogel
	AddStaticVehicle(401,2501.0657,-1679.3571,13.1468,30.9119,74,74); // groove kogeltje
	AddStaticVehicle(401,2504.2368,-1676.6273,13.1499,45.3661,91,91); // hugo
	AddStaticVehicle(541,2505.8491,-1673.6685,12.9945,62.6800,13,8); // gkgjghjhkjfs
	AddStaticVehicle(401,2507.1990,-1670.2736,13.1569,86.9792,41,41); // fdos
	AddStaticVehicle(401,2506.6328,-1666.5868,13.1677,110.3215,52,52); // poppupupppupupu
	AddStaticVehicle(401,2505.6252,-1663.1409,13.1799,123.9137,74,74); // tttttttttttttttttt
	AddStaticVehicle(401,2502.8933,-1661.2855,13.1693,151.9534,91,91); // ghfjdllllllllllllk
	AddStaticVehicle(522,2496.6604,-1656.5496,12.9452,163.8024,3,8); // de grove moter
	AddStaticVehicle(522,2495.3494,-1656.4653,12.9320,164.4875,6,25); // gjh
	AddStaticVehicle(522,2494.2300,-1656.6781,12.9245,162.8361,7,79); // moter
	AddStaticVehicle(522,2493.2253,-1656.4930,12.9394,154.3358,8,82); // moh
	AddStaticVehicle(522,2497.9822,-1656.2952,12.9311,175.3533,36,105); // moters
	AddStaticVehicle(541,413.1923,2505.4507,16.1094,87.9514,60,1); // temp bullet - verdant
	AddStaticVehicle(522,1544.2839,-1349.6510,329.0564,272.8220,36,105); // lsw motor 1
	AddStaticVehicle(522,1548.1707,-1350.3246,329.0409,268.2199,6,25); // lsw motor 2
	AddStaticVehicle(522,1544.5780,-1356.9700,329.0456,262.4000,39,106); // lsw motor 3
	AddStaticVehicle(522,1540.4432,-1356.8123,329.0456,98.8530,8,82); // lsw motor 4
	AddStaticVehicle(522,-1993.0729,703.1144,44.9999,185.1253,7,79); // nrg 1
	AddStaticVehicle(522,-1994.3813,703.0639,45.0099,170.3963,8,82); // nrg 2
	AddStaticVehicle(522,-1992.6554,698.2300,45.0072,178.2475,36,105); // nrg 3
	// MTA editor map - ban.map - verdant meadows 3 ramp hangar stunt
	CreateDynamicObject(1632, 90.614510, 2503.529541, 16.784487, 0.0000, 0.0000, 90.0000);
	// CreateDynamicObject(1632, 87.490181, 2503.601563, 20.168983, 26.6425, 0.0000, 88.2811); // maybe 90.0000?
	CreateDynamicObject(1632, 87.490181, 2503.601563, 20.168983, 26.6425, 0.0000, 90.0000);
	CreateDynamicObject(1632, 85.837112, 2503.588379, 24.450691, 47.2690, 0.0000, 90.0000);
	CreateDynamicObject(16409, 72.287506, 2503.013184, 15.481729, 0.0000, 0.0000, 0.0000);
	// race - verdante meduwes stunt ^
//	chk1_id = CreateCheckpoint(354.5163, 2503.9058, 16.4844, 30);
/*	race1area = Area_AddBox(341.9820,2495.0444, 373.8308,2518.4214);
	race1_id = Race_Create(.laps = 0, .exitTime = 1000, .restart = true);
	Race_AddStart(race1_id, 354.5163,2503.9058,16.4844,90.0000);
	Race_AddCheckpoint(race1_id, 356.6641,2506.8628,16.1159);
	Race_AddCheckpoint(race1_id,313.0037,2507.0623,16.1168); // rmp-chk2
	Race_AddCheckpoint(race1_id,257.5923,2504.3242,16.1090); // rmp-chk3
	Race_AddCheckpoint(race1_id,194.1096,2503.8203,16.1089); // rmp-chk4
	Race_AddCheckpoint(race1_id,138.8831,2503.4329,16.1094); // rmp-chk5
	Race_AddCheckpoint(race1_id,87.2906,2503.8606,24.1212); // rmp-chk5
	Race_AddCheckpoint(race1_id,52.6758,2498.5151,16.1092); // rmp-fnsh
	Race_SetPrize(race1_id, 0, 3000);*/
	LoadRaces();
	#endif
	return 1;
}

LoadRaces() {
    INI_ParseFile("races.ini", "ReadRace_global", false, false, 0, true);
}

public ReadRace_global(identifier[], text[]) {
//  new dbgh[255];
//	valstr(dbgh, rrace);
//    print(dbgh);

	if (!strcmp(identifier, "areacoord", true)) {
		new tmp[40], idx, banana[255];
		new Float:MinX, Float:MinY, Float:MaxX, Float:MaxY;
		tmp = strtokd(text, idx);
		print(tmp);
		MinX = floatstr(tmp);
		tmp = strtokd(text, idx);
		print(tmp);
		format(banana, 255, "%f", MinX);
		print(banana);
		MinY = floatstr(tmp);
		tmp = strtokd(text, idx);
		print(tmp);
		MaxX = floatstr(tmp);
		tmp = strtokd(text, idx);
		print(tmp);
		MaxY = floatstr(tmp);
		raceareas[rrace] = Area_AddBox(MinX, MinY, MaxX, MaxY);
	} else if (!strcmp(identifier, "laps", true)) {
	    raceids[rrace] = Race_Create(.laps = strval(text), .exitTime = 1000, .restart = true);
	} else if (!strcmp(identifier, "start", true)) {
		new tmp[40], idx;
		new Float:X, Float:Y, Float:Z, Float:A;
		tmp = strtokd(text, idx);
		X = floatstr(tmp);
		tmp = strtokd(text, idx);
		Y = floatstr(tmp);
		tmp = strtokd(text, idx);
		Z = floatstr(tmp);
		tmp = strtokd(text, idx);
		A = floatstr(tmp);

//		strcpy(racecoords[rrace], text, 255);
		
		Race_AddStart(raceids[rrace], X, Y, Z, A);
	} else if (!strcmp(identifier, "coords", true)) {
		strcpy(racecoords[rrace], text, 255);
	} else if (!strcmp(identifier, "chkpoint", true)) {
		new tmp[40], idx;
		new Float:X, Float:Y, Float:Z;
		tmp = strtokd(text, idx);
		X = floatstr(tmp);
		tmp = strtokd(text, idx);
		Y = floatstr(tmp);
		tmp = strtokd(text, idx);
		Z = floatstr(tmp);

		Race_AddCheckpoint(raceids[rrace], X, Y, Z);
	} else if (!strcmp(identifier, "type", true)) {
	    racetypes[rrace] = strval(text);
	} else if (!strcmp(identifier, "money", true)) {
	    racemoneys[rrace] = strval(text);
       	Race_SetPrize(raceids[rrace], 0, 3000);
	} else if (!strcmp(identifier, "name", true)) {
	    strcpy(racenames[rrace], text, 255);
//	    racenames[rrace] = text;
	} else if (!strcmp(identifier, "tele", true)) {
	    strcpy(raceteles[rrace], text, 255);
//	    racenames[rrace] = text;
	} else if (!strcmp(identifier, "race", true)) {
		rrace++;
	}
	
	return 1;
}

public ReadRace_user(playerid, identifier[], text[]) {
	print(identifier);

	if (!strcmp(identifier, "marker", true)) {
	    new dbgh[255];
		valstr(dbgh, rrace);
		print(racecoords[rrace]);
	    print(dbgh);
		new tmp[40], idx;
		new Float:X, Float:Y, Float:Z;
		tmp = strtokd(racecoords[rrace], idx);
		X = floatstr(tmp);
		tmp = strtokd(racecoords[rrace], idx);
		Y = floatstr(tmp);
		tmp = strtokd(racecoords[rrace], idx);
		Z = floatstr(tmp);
        SetPlayerMapIcon( playerid, rrace, X, Y, Z, strval(text), 0 );
	} else if (!strcmp(identifier, "race", true)) {
	    racechks[rrace][playerid] = 99999;
		rrace++;
	}

	return 1;
}

Command_(mycommand)
{
	// Your code here
	return 1;
}

Command_(join)
{
	if (inrace[playerid] != -1) {
    	SendClientMessage(playerid, 0xFFFF82FF, "welcome to the race ;-)");
   	    Race_PlayerJoin(playerid, inrace[playerid]);
   	    if (racetypes[inrrace[playerid]] == 1) {
			Race_Start(inrace[playerid]);
		} else {
			if (!racetimer[inrrace[playerid]]) {
			    new message[255];
			    format(message, 255, "Race %s starts at //%s in 30 seconds", racenames[inrrace[playerid]], raceteles[inrace[playerid]]);
				SendClientMessageToAll(0xFFFF82FF, message);
				racetimer[inrrace[playerid]] = true;
			    SetTimerEx("Timer_StartRace", 30000, false, "i", inrrace[playerid]);
			}
		}
	} else {
		SendClientMessage(playerid, 0xFFFF82FF, "go to the race ;-)");
	}
	return 1;
}

public Timer_StartRace(raceid) {
	racetimer[raceid] = false;
	Race_Start(raceid);
}

Script_OnGameModeExit()
{
	return 1;
}

Script_OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1503.5924,-2459.6384,13.5547);
	SetPlayerCameraPos(playerid, 1510.8149,-2459.2192,13.5547);
	SetPlayerCameraLookAt(playerid, 1503.5924,-2459.6384,13.5547);
	return 1;
}

Script_OnPlayerRequestSpawnEx(playerid, classid)
{
	return 1;
}

Script_OnPlayerConnect(playerid)
{
	Text_Send(playerid, "WELCOME_MESSAGE");
//    SetPlayerMapIcon( playerid, 12, 354.5163, 2503.9058, 16.4844, 38, 0 );
	rrace = 0;
	INI_ParseFile("races.ini", "ReadRace_user", false, true, playerid, true);
	return 1;
}

Script_OnPlayerDisconnect(playerid, reason)
{
	#pragma unused playerid, reason
	return 1;
}

Script_OnPlayerSpawn(playerid)
{
	return 1;
}

Script_OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

Script_OnVehicleSpawn(vehicleid)
{
	return 1;
}

Script_OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

Script_OnPlayerText(playerid, text[])
{
	return 1;
}

Script_OnPlayerPrivmsg(playerid, recieverid, text[])
{
	return 1;
}

Script_OnPlayerCommandText(playerid, cmdtext[])
{
    if(strfind(cmdtext, "//", true) == 0)
	{
	    strdel(cmdtext, 0, 2);
	    if (fexist(cmdtext)) {
	//	        ReadTeleport_category(playerid, "banana", "express");
	//	 	    INI_ParseFile(cmdtext, "ReadTeleport_category", .bExtra = true, .extra = playerid, .bLocal = true);
		    if (INI_ParseFile(cmdtext, "ReadTeleport_%s", false, true, playerid, true)) {
		        print("INI gelukt");
		        print("\n");
		    } else {
		        print("INI niet gelukt :/");
		        print("\n");
		    }
	//			CallLocalFunction("ReadTeleport_category", "iss", playerid, "banana", "express");
/*			new
				XML:xRules = XML_New();
			// Check it created
			if (xRules != NO_XML_FILE)
			{
				// Add a function to handle the <object> tag
				XML_AddHandler(xRules, "category", "ReadTeleportXML_category", playerid);
				XML_AddHandler(xRules, "teleport", "ReadTeleportXML_teleport", playerid);
				XML_Parse(xRules, cmdtext);
			}*/
	    } else {
//			Text_Send(playerid, "WELCOME_MESSAGE");
		}
		return 1;
	}
	Text_SendFormat(playerid, "SHOW_COMMAND", cmdtext);
	return 0;
}

public ReadTeleportXML_category(playerid)
{
	static key[MAX_XML_ENTRY_NAME], val[MAX_XML_ENTRY_TEXT];
	while (XML_GetKeyValue(key, val))
	{
		Text_SendFormat(playerid, "TELEPORT", key, val);
	}
	return 1;
}

public ReadTeleportXML_teleport(playerid)
{
	static
		identifier[MAX_XML_ENTRY_NAME],
		text[MAX_XML_ENTRY_TEXT];
	while (XML_GetKeyValue(identifier, text))
	{
		if (!strcmp(identifier, "xcoord", true)) {
		    teleport_x[playerid] = floatstr(text);
		} else if (!strcmp(identifier, "ycoord", true)) {
		    teleport_y[playerid] = floatstr(text);
		} else if (!strcmp(identifier, "zcoord", true)) {
		    teleport_z[playerid] = floatstr(text);
		} else if (!strcmp(identifier, "acoord", true)) {
		    teleport_a[playerid] = floatstr(text);
			SetPlayerPos(playerid, teleport_x[playerid], teleport_y[playerid], teleport_z[playerid]);
			SetPlayerFacingAngle(playerid, teleport_a[playerid]);
		}
	}
	return 1;
}

public ReadTeleport_category(playerid, identifier[], text[])
{
	print("wakwakwakwak\n");
	print(identifier);
	print("\n");
	new banana[255];
//	valstr(banana, playerid);
//	print(banana);
//	print("\n");
	format(banana, 255, "//%s - %s", identifier, text);
//	Text_SendFormat(playerid, "TELEPORT", identifier, text);
//	Text_Send(playerid, "WELCOME_MESSAGE");
	SendClientMessage(playerid, 0xFFFF82FF, banana);
	return 1;
}

public ReadTeleport_teleport(playerid, identifier[], text[])
{
	print("WAKZORZDITWERKTDUSOOK?!");
	if (!strcmp(identifier, "xcoord", true)) {
	    print("Xyz");
	    teleport_x[playerid] = floatstr(text);
	} else if (!strcmp(identifier, "ycoord", true)) {
	    print("xYz");
	    teleport_y[playerid] = floatstr(text);
	} else if (!strcmp(identifier, "zcoord", true)) {
	    print("xyZ");
	    teleport_z[playerid] = floatstr(text);
	} else if (!strcmp(identifier, "acoord", true)) {
	    print("AAAAA");
	    teleport_a[playerid] = floatstr(text);
	} else if (!strcmp(identifier, "go", true)) {
	    print("jeej");
		SetPlayerPos(playerid, teleport_x[playerid], teleport_y[playerid], teleport_z[playerid]);
		SetPlayerFacingAngle(playerid, teleport_a[playerid]);
	}
	return 1;
}

Script_OnPlayerInfoChange(playerid)
{
	return 1;
}

Script_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

Script_OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

Script_OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

Script_OnPlayerEnterCheckpointEx(playerid, cpid)
{
/*	if (cpid == chk1_id) {
	    // join race1
	    Race_PlayerJoin(playerid, race1_id);
		Race_Start(race1_id);
	}*/
	new banana[255];
	for (new i = 0; i < rrace; i++) {
	    print("STARTOUTPUT");
		valstr(banana, rrace);
		print(banana);
		valstr(banana, cpid);
		print(banana);
		print("Checkpoint ID:");
		valstr(banana, racechks[i][playerid]);
		print(banana);
//	    print("gogogo-1");
//	   	SendClientMessage(playerid, 0x00FF82FF, racenames[i]);
		print("FOUNDRACE");
	    if (cpid == racechks[i][playerid]) {
// 		    print("gogogo-6");
		    inrace[playerid] = raceids[i];
		    inrrace[playerid] = i;
			valstr(banana, i);
			print(banana);
			valstr(banana, raceids[i]);
			print(banana);
			print(racenames[i]);
// 		    print("gogogo-7");
		    new temp[40];
//   		    print("gogogo-8");
		    valstr(temp, racemoneys[i]);
//   		    print("gogogo-9");
//	       	SendClientMessage(playerid, 0xAFFF82FF, racenames[i]);
	    	Text_SendFormat(playerid, "RACE_SPAM", racenames[i], temp);
	    	break;
//		    print("gogogo-10");
	    }
	}
	return 1;
}

Script_OnPlayerLeaveCheckpointEx(playerid, cpid)
{
    inrace[playerid] = -1;
	return 1;
}

Script_OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

Script_OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

Script_OnRconCommand(cmd[])
{
	return 1;
}

Script_OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

Script_OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

Script_OnPlayerExitedMenu(playerid)
{
	return 1;
}

Script_OnVehicleMod(vehicleid, componentid)
{
	return 1;
}

Script_OnVehiclePaintjob(vehicleid, paintjobid)
{
	return 1;
}

Script_OnVehicleRespray(vehicleid, color1, color2)
{
	return 1;
}

/*Script_OnPlayerLogin(playerid, yid)
{
	return 1;
}

Script_OnPlayerLogout(playerid, yid)
{
	return 1;
}*/

Script_OnPlayerEnterArea(playerid, areaid)
{
//    print("gogogo-bla");
//   	SendClientMessage(playerid, 0xFFFF82FF, racenames[rrace - 1]);
//    print("gogogo-0");
	new banana[255];
	for (new i = 0; i < rrace; i++) {
	    print("STARTareaOUTPUT");
		valstr(banana, rrace);
		print(banana);
		valstr(banana, areaid);
		print(banana);
		valstr(banana, raceareas[i]);
		print(banana);
//	    print("gogogo-1");
//	   	SendClientMessage(playerid, 0x00FF82FF, racenames[i]);
		print("FOUNDRACE");
	    if (areaid == raceareas[i]) {
//		    print("gogogo-2");
    		new tmp[40], idx;
			new Float:X, Float:Y, Float:Z;
//		    print("gogogo-3");
			tmp = strtokd(racecoords[i], idx);
			X = floatstr(tmp);
//		    print("gogogo-4");
			tmp = strtokd(racecoords[i], idx);
			Y = floatstr(tmp);
			tmp = strtokd(racecoords[i], idx);
			Z = floatstr(tmp);
//		    print("gogogo-5");
		    racechks[i][playerid] = CreateCheckpoint(X, Y, Z, 10);
		    Checkpoint_AddPlayer(racechks[i][playerid], playerid);
// 		    print("gogogo-6");
//		    inrace[playerid] = raceids[i];
//		    inrrace[playerid] = i;
			print("Race rrace/i:");
			valstr(banana, i);
			print(banana);
			print("Race ID:");
			valstr(banana, raceids[i]);
			print(banana);
			print("Checkpoint ID:");
			valstr(banana, racechks[i][playerid]);
			print(banana);
			print("Name:");
			print(racenames[i]);
// 		    print("gogogo-7");
//		    new temp[40];
//   		    print("gogogo-8");
//		    valstr(temp, racemoneys[i]);
//   		    print("gogogo-9");
//	       	SendClientMessage(playerid, 0xAFFF82FF, racenames[i]);
//	    	Text_SendFormat(playerid, "RACE_SPAM", racenames[i], temp);
//		    print("gogogo-10");
	    }
	}
/*	if (areaid == race1area) {
	    chk1_id = CreateCheckpoint(354.5163, 2503.9058, 16.4844, 30);
	    inrace[playerid] = race1_id;
	    Text_SendFormat(playerid, "RACE_SPAM", "vm-toohigh", "$3000");
	}*/
	return 1;
}

Script_OnPlayerLeaveArea(playerid, areaid)
{

    DestroyCheckpoint(racechks[inrrace[playerid]][playerid]);
    racechks[inrrace[playerid]][playerid] = 99999;
    inrace[playerid] = -1;
//	if (IsPlayerXAdmin(playerid)) {
    ResetPlayerWeapons(playerid);
//	}
	return 1;
}

Script_OnRaceEnd(raceid)
{
	return 1;
}

Script_OnPlayerExitRace(playerid, raceid)
{
	return 1;
}

Script_OnPlayerFinishRace(playerid, raceid, position, prize, time)
{
	return 1;
}

Script_OnDynamicObjectMoved(objectid)
{
	return 1;
}

Script_OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

Script_OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

Script_OnPlayerKeyPress(playerid, key)
{
	return 1;
}

Script_OnPlayerKeyRelease(playerid, key)
{
	return 1;
}

Script_OnGangWarCapture(zoneid, attacker, defender)
{
	return 1;
}

Script_OnGangWarStart(zoneid, attacker, defender)
{
	return 1;
}

Script_OnGangWarDefend(zoneid, attacker, defender)
{
	return 1;
}

strtokd( const string[], &index, const seperator[] = "," )
{
	new
		index2,
		result[ 30 ];

	index2 =  strfind(string, seperator, false, index);


	if(index2 == -1)
	{
		if(strlen(string) > index)
		{
			strmid(result, string, index, strlen(string), 30);
			index = strlen(string);
		}
		return result; // This string is empty, probably, if index came to an end
	}
	if(index2 > (index + 29))
	{
		index2 = index + 29;
		strmid(result, string, index, index2, 30);
		index = index2;
		return result;
	}
	strmid(result, string, index, index2, 30);
	index = index2 + 1;
	return result;
}