Public feed
#888109
/*
===================================================================
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;
}