| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536 |
- /*
- /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$
- | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$
- | $$$$| $$| $$ \__/ | $$ \ $$| $$ \ $$
- | $$ $$ $$| $$ /$$$$ /$$$$$$| $$$$$$$/| $$$$$$$/
- | $$ $$$$| $$|_ $$|______/| $$__ $$| $$____/
- | $$\ $$$| $$ \ $$ | $$ \ $$| $$
- | $$ \ $$| $$$$$$/ | $$ | $$| $$
- |__/ \__/ \______/ |__/ |__/|__/
- New Turfs System
- Jingles
- Next Generation Gaming, LLC
- (created by Next Generation Gaming Development Team)
-
- * Copyright (c) 2016, Next Generation Gaming, LLC
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are not permitted in any case.
- *
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- /* OUTLINE
- - Turfs can belong to ANY group.
- - Turf timers.
- - Use Streamer Areas + GangZones.
- - Add vulnerability.
- - Sale taxes.
- - Levels
- - Health
- - Health-dependant timers
- - Pre-defined turfs.
- */
- #include <YSI\y_hooks>
- // All player booleans variables go here to reduce memory:
- new Text:TW_TextDraws[5];
- new PlayerText:TW_PTextDraws[MAX_PLAYERS][6];
- task TurfWars_Task[60000 * 30]() { // Every 10 minutes.
- mysql_tquery(MainPipeline, "SELECT `timestamp`, `shutdown` FROM `turfs` WHERE `vulnerable` = '0'", true, "TurfWars_OnTask", "");
- }
- hook OnGameModeInit() {
- for(new i; i < sizeof(arrTurfWarsBits); ++i) {
- arrTurfWars[i][tw_bVulnerable] = false;
- Bit_Off(arrTurfWarsBits[i], tw_bDisabled);
- }
- TurfWars_LoadGUI();
- }
- hook OnGameModeExit() {
- TextDrawHideForAll(TW_TextDraws[0]);
- TextDrawHideForAll(TW_TextDraws[1]);
- TextDrawHideForAll(TW_TextDraws[2]);
- TextDrawHideForAll(TW_TextDraws[3]);
- TextDrawHideForAll(TW_TextDraws[4]);
- TextDrawDestroy(TW_TextDraws[0]);
- TextDrawDestroy(TW_TextDraws[1]);
- TextDrawDestroy(TW_TextDraws[2]);
- TextDrawDestroy(TW_TextDraws[3]);
- TextDrawDestroy(TW_TextDraws[4]);
- return 1;
- }
- hook OnPlayerConnect(playerid) {
- TurfWars_GUI(playerid, false);
- TurfWars_LoadPGUI(playerid);
- }
- hook OnPlayerDisconnect(playerid, reason) {
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][0]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][1]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][2]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][3]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][4]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][5]);
- PlayerTextDrawDestroy(playerid, TW_PTextDraws[playerid][0]);
- PlayerTextDrawDestroy(playerid, TW_PTextDraws[playerid][1]);
- PlayerTextDrawDestroy(playerid, TW_PTextDraws[playerid][2]);
- PlayerTextDrawDestroy(playerid, TW_PTextDraws[playerid][3]);
- PlayerTextDrawDestroy(playerid, TW_PTextDraws[playerid][4]);
- PlayerTextDrawDestroy(playerid, TW_PTextDraws[playerid][5]);
- }
- hook OnPlayerEnterDynamicArea(playerid, areaid) {
- if(Bit_State(arrPlayerBits[playerid], pTurfRadar)) {
- // new iTurfID = Streamer_GetIntData(STREAMER_TYPE_AREA, areaid, E_STREAMER_EXTRA_ID);
- for(new i; i < MAX_TURFS; ++i) {
- if(areaid == arrTurfWars[i][tw_iAreaID]) {
- TurfWars_SyncGUI(playerid, i);
- if(i != 369) TurfWars_AddTraffic(i);
- }
- }
- }
- }
- hook OnPlayerDeath(playerid, killerid, reason) {
- /*
- if(GetPVarType(playerid, "TW_CapLeader")) {
- TurfWars_FinalizeCapture(GetPVarInt(playerid, "TW_CapLeader"), false);
- }
- */
- TurfWars_AddDeath(playerid);
- defer TurfWars_CalcHealth(playerid);
- }
- timer TurfWars_CalcHealth[500](playerid) {
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(GetGVarType("TW_Capturer", iTurfID) && PlayerInfo[playerid][pMember] != GetGVarInt("TW_Capturer", iTurfID)) {
- TurfWars_SetHealth(iTurfID, arrTurfWars[iTurfID][tw_iHealth] + 5);
- }
- if(GetGVarType("TW_Capturer", iTurfID) && PlayerInfo[playerid][pMember] == arrTurfWars[iTurfID][tw_iGroupID]) {
- TurfWars_SetHealth(iTurfID, arrTurfWars[iTurfID][tw_iHealth] - 5);
- }
- }
- TurfWars_AddDeath(playerid) {
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(iTurfID != 369) arrTurfWars[iTurfID][tw_iDeaths]++;
- }
- TurfWars_AddTraffic(iTurfID) {
- if(iTurfID != 369) arrTurfWars[iTurfID][tw_iTraffic]++;
- }
- TurfWars_TurfTax(playerid, szType[], iAmount) {
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(iAmount > 500000) SendClientMessageEx(playerid, COLOR_YELLOW, "[Turf] The tax you had to pay was larger than $500.000. You therefore only have to pay:");
- iAmount = 500000;
- if(iTurfID != 369 && arrTurfWars[iTurfID][tw_iGroupID] != INVALID_GROUP_ID && !Bit_State(arrTurfWarsBits[iTurfID], tw_bShutdown) &&
- PlayerInfo[playerid][pMember] != arrTurfWars[iTurfID][tw_iGroupID] && !Bit_State(arrTurfWarsBits[iTurfID], tw_bDisabled)) {
- new iTurfTax = iAmount * arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_iTurfTax] / 100;
- if(iTurfTax > 500000) iTurfTax = 500000;
- if(iTurfTax < 0) iTurfTax = 0;
- new oldbalance = arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_iBudget];
- szMiscArray[0] = 0;
- arrTurfWars[iTurfID][tw_iRevenue] += iTurfTax;
- arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_iBudget] += iTurfTax;
- format(szMiscArray, sizeof(szMiscArray), "[Turf]: {CCCCCC}You paid {EEEEEE}$%s {CCCCCC}turf tax {EEEEEE}(%d percent) {CCCCCC}for the {EEEEEE}%s {CCCCCC}you sold.",
- number_format(iTurfTax), arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_iTurfTax], szType, number_format(iTurfTax));
- SendClientMessageEx(playerid, COLOR_GREEN, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "[GANG DEBUG] TURF TAX | GANG - %s, TURF TAX - %s, OLD GBALANCE - %s, NEW GBALANCE - %d.",
- arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName], number_format(iTurfTax), number_format(oldbalance), number_format(arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_iBudget]));
- Log("logs/gangdebuglog.log", szMiscArray);
- GivePlayerCash(playerid, -iTurfTax);
- }
- }
- forward TurfWars_OnTask();
- public TurfWars_OnTask() {
- new iRows,
- iFields,
- iCount,
- iTimeStamp,
- iShutDown;
- cache_get_data(iRows, iFields, MainPipeline);
- while(iCount < iRows) {
- iTimeStamp = cache_get_field_content_int(iCount, "timestamp", MainPipeline);
- iShutDown = cache_get_field_content_int(iCount, "shutdown", MainPipeline);
- if(gettime() > iTimeStamp) {
- if(iShutDown) {
- TurfWars_SendGroupMessage(arrTurfWars[iCount][tw_iGroupID], COLOR_GREEN, "[TURF]: Your turf is no longer shutdown.");
- Bit_Off(arrTurfWarsBits[iCount], tw_bShutdown);
- }
- arrTurfWars[iCount][tw_bVulnerable] = true;
- if(arrTurfWars[iCount][tw_iGroupID] != INVALID_GROUP_ID) {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {FFFF00}%s (ID %d) has become vulnerable!", gSAZones[iCount][SAZONE_NAME], iCount);
- TurfWars_SendGroupMessage(arrTurfWars[iCount][tw_iGroupID], COLOR_GREEN, szMiscArray);
- }
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `vulnerable` = '1', `shutdown` = '0', `timestamp` = '0' WHERE `id` = '%d'", iCount);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- }
- TurfWars_SaveTurf(iCount);
- iCount++;
- }
- }
- TurfWars_SaveAll() {
- for(new i; i < sizeof(gSAZones); ++i) TurfWars_SaveTurf(i);
- }
- TurfWars_SaveTurf(iTurfID) {
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `traffic` = %d, `deaths` = %d, `revenue` = %d, `turfmode` = '%d' WHERE `id` = '%d'",
- arrTurfWars[iTurfID][tw_iTraffic], arrTurfWars[iTurfID][tw_iDeaths], arrTurfWars[iTurfID][tw_iRevenue], Bit_State(arrTurfWarsBits[iTurfID], tw_bTurfMode), iTurfID);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- }
- // gSAZones[i][SAZONE_AREA][0]
- TurfWars_LoadData() {
- mysql_tquery(MainPipeline, "SELECT `linkedid`, `groupid`, `vulnerable`, `disabled`, `shutdown`, `health`, `level`, `headquarter`, `traffic`, `deaths`, `revenue`, `turfmode` FROM `turfs`", true, "TurfWars_OnLoadData", "");
- }
- forward TurfWars_OnLoadData();
- public TurfWars_OnLoadData() {
- new iRows,
- iFields,
- iCount;
- cache_get_data(iRows, iFields, MainPipeline);
- while(iCount < iRows) {
- arrTurfWars[iCount][tw_iLinkedID] = cache_get_field_content_int(iCount, "linkedid", MainPipeline);
- arrTurfWars[iCount][tw_iGroupID] = cache_get_field_content_int(iCount, "groupid", MainPipeline);
- arrTurfWars[iCount][tw_iHealth] = cache_get_field_content_int(iCount, "health", MainPipeline);
- arrTurfWars[iCount][tw_iLevel] = cache_get_field_content_int(iCount, "level", MainPipeline);
- arrTurfWars[iCount][tw_iTraffic] = cache_get_field_content_int(iCount, "traffic", MainPipeline);
- arrTurfWars[iCount][tw_iDeaths] = cache_get_field_content_int(iCount, "deaths", MainPipeline);
- arrTurfWars[iCount][tw_iRevenue] = cache_get_field_content_int(iCount, "revenue", MainPipeline);
- if(cache_get_field_content_int(iCount, "vulnerable", MainPipeline)) arrTurfWars[iCount][tw_bVulnerable] = true; // Bit_On(arrTurfWarsBits[iCount], tw_bVulnerable);
- if(cache_get_field_content_int(iCount, "disabled", MainPipeline)) Bit_On(arrTurfWarsBits[iCount], tw_bDisabled);
- if(cache_get_field_content_int(iCount, "headquarter", MainPipeline)) Bit_On(arrTurfWarsBits[iCount], tw_bHeadquarter);
- if(cache_get_field_content_int(iCount, "shutdown", MainPipeline)) Bit_On(arrTurfWarsBits[iCount], tw_bShutdown);
- if(cache_get_field_content_int(iCount, "turfmode", MainPipeline)) Bit_On(arrTurfWarsBits[iCount], tw_bTurfMode);
- iCount++;
- }
- TurfWars_InitZones();
- }
- TurfWars_Rehash() {
- for(new i; i < sizeof(gSAZones); ++i) {
- if(IsValidDynamicArea(arrTurfWars[i][tw_iAreaID])) DestroyDynamicArea(arrTurfWars[i][tw_iAreaID]);
- GangZoneDestroy(arrTurfWars[i][tw_iGZoneID]);
- }
- TurfWars_LoadData();
- }
- TurfWars_InitZones() {
- // new j;
- for(new i; i < sizeof(gSAZones); ++i) {
- arrTurfWars[i][tw_iAreaID] = CreateDynamicRectangle(gSAZones[i][SAZONE_AREA][0], gSAZones[i][SAZONE_AREA][1], gSAZones[i][SAZONE_AREA][3], gSAZones[i][SAZONE_AREA][4], 0, 0);
- arrTurfWars[i][tw_iGZoneID] = GangZoneCreate(gSAZones[i][SAZONE_AREA][0], gSAZones[i][SAZONE_AREA][1], gSAZones[i][SAZONE_AREA][3], gSAZones[i][SAZONE_AREA][4]);
- /*
- format(szMiscArray, sizeof(szMiscArray), "INSERT INTO `turfs` (`zonename`, `minx`, `miny`, `maxx`, `maxy`) VALUES ('%s', '%f', '%f', '%f', '%f')",
- gSAZones[i][SAZONE_NAME], gSAZones[i][SAZONE_AREA][0], gSAZones[i][SAZONE_AREA][1], gSAZones[i][SAZONE_AREA][3], gSAZones[i][SAZONE_AREA][4]);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- */
- // if(strcmp(gSAZones[i][SAZONE_NAME], gSAZones[i-1][SAZONE_NAME], true)) j++;
-
- /*
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `linkedID` = '%d' WHERE `id` = '%d'", j, i + 1);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- */
- // arrTurfWars[i][tw_iLinkedID] = j;
- // Streamer_SetIntData(STREAMER_TYPE_AREA, arrTurfWars[i][tw_iAreaID], E_STREAMER_EXTRA_ID, i);
- printf("[TW] Created zone (%d): %s", i, gSAZones[i][SAZONE_NAME]);
- }
- }
- CMD:setturftax(playerid, params[]) {
- if(PlayerInfo[playerid][pMember] == INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are not in a group.");
- if(PlayerInfo[playerid][pLeader] == INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are not a group leader.");
- if(isnull(params)) return SendClientMessageEx(playerid, COLOR_GRAD1, "USAGE: /setturftax [percentage] (between 0 and 10)");
- new iTurfTax = strval(params);
- if(!(0 <= iTurfTax < 11)) return SendClientMessageEx(playerid, COLOR_GRAD1, "Enter a value between 0 and 10.");
- arrGroupData[PlayerInfo[playerid][pMember]][g_iTurfTax] = iTurfTax;
- format(szMiscArray, sizeof(szMiscArray), "[Turf]: {CCCCCC}%s set the turf tax to {FFFF00}%d%", GetPlayerNameEx(playerid), iTurfTax);
- TurfWars_SendGroupMessage(PlayerInfo[playerid][pMember], COLOR_GREEN, szMiscArray);
- return 1;
- }
- CMD:turflist(playerid, params[]) {
- szMiscArray[0] = 0;
- for(new i; i < sizeof(gMainZones) - 1; ++i) {
- format(szMiscArray, sizeof(szMiscArray), "%s%s\n", szMiscArray, gMainZones[i][SAZONE_NAME]);
- }
- ShowPlayerDialogEx(playerid, DIALOG_TURFS_AREA, DIALOG_STYLE_LIST, "Turf List | Choose Area", szMiscArray, "Select", "Cancel");
- return 1;
- }
- TurfWars_GetTurfCount(iTurfID, iGroupID) {
- new iMemberCount;
- foreach(new p : Player) {
- if(iGroupID == PlayerInfo[p][pMember]) {
- if(TurfWars_GetTurfID(p) == iTurfID) iMemberCount++;
- }
- }
- return iMemberCount;
- }
- TurfWars_CapCheck(playerid, iTurfID) {
- new iCount,
- iCapID = GetGVarInt("TW_Capturer", iTurfID);
- if(GetGVarType("TW_Capturer", iTurfID) && arrGroupData[iCapID][g_iGroupType] == GROUP_TYPE_LEA) {
- foreach(new p : Player) {
- if(IsPlayerInDynamicArea(p, arrTurfWars[iTurfID][tw_iAreaID]) && !GetPVarInt(p, "Injured") && PlayerInfo[p][pMember] == iCapID) iCount++;
- }
- if(iCount == 0) return 1;
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {CCCCCC}There's {FFFF00}%d {CCCCCC}LEOs left on the turf.", iCount);
- SendClientMessageEx(playerid, COLOR_GREEN, szMiscArray);
- }
- else {
- foreach(new p : Player) {
- if(IsPlayerInDynamicArea(p, arrTurfWars[iTurfID][tw_iAreaID]) && !GetPVarInt(p, "Injured") && PlayerInfo[p][pMember] == arrTurfWars[iTurfID][tw_iGroupID] &&
- PlayerInfo[p][pMember] != PlayerInfo[playerid][pMember] && PlayerInfo[p][pMember] != INVALID_PLAYER_ID) iCount++;
- }
- if(iCount == 0) return 1;
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {CCCCCC}There's {FFFF00}%d {CCCCCC}gang members left on the turf.", iCount);
- SendClientMessageEx(playerid, COLOR_GREEN, szMiscArray);
- }
- return 0;
- }
- CMD:turfmode(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] < 1337 || PlayerInfo[playerid][pGangModerator] < 2) return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot use this command.");
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(iTurfID == 369) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are not in an editable turf.");
-
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bTurfMode)) {
- Bit_Off(arrTurfWarsBits[iTurfID], tw_bTurfMode);
- SendClientMessageEx(playerid, COLOR_GRAD1, "This turf is now unlinked.");
- }
- else {
- Bit_On(arrTurfWarsBits[iTurfID], tw_bTurfMode);
- SendClientMessageEx(playerid, COLOR_GRAD1, "This turf is now linked.");
- }
- return 1;
- }
- CMD:turfhelp(playerid, params[]) {
- SendClientMessageEx(playerid, COLOR_GREEN, "__________[Turf System]__________");
- SendClientMessageEx(playerid, COLOR_GRAD1, "/turfs | /turflist | /claim | /myturfs | /turfinfo | /turfstats | /upgradeturf | /healturf | /setturftax");
- if(IsACop(playerid)) SendClientMessageEx(playerid, COLOR_GRAD1, "[LEO] /shutdown");
- if(IsAdminLevel(playerid, ADMIN_SENIOR, 0)) SendClientMessageEx(playerid, COLOR_YELLOW, "[ADMIN]: /editturf | /turfmode (link/unlink them) | /rehashturfs");
- return 1;
- }
- CMD:rehashturfs(playerid, params[]) {
- if(!IsAdminLevel(playerid, ADMIN_HEAD)) return 1;
- TurfWars_Rehash();
- SendClientMessageEx(playerid, COLOR_GRAD1, "You reloaded all turfs in the server.");
- return 1;
- }
- CMD:claim(playerid, params[]) {
- if(!IsACriminal(playerid) && !IsAGovernment(playerid) && !IsMDCPermitted(playerid)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot claim turfs.");
- if(GetPVarType(playerid, "CapCheck")) {
- SendClientMessageEx(playerid, COLOR_GRAD1, "You are already trying to claim a turf.");
- return 1;
- }
- if(PlayerInfo[playerid][pRank] < arrGroupData[PlayerInfo[playerid][pMember]][g_iTurfCapRank]) {
- return SendClientMessageEx(playerid, COLOR_GRAD2, "Your rank is not high enough to claim turfs!");
- }
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bDisabled)) return SendClientMessage(playerid, COLOR_GRAD1, "This turf is currently disabled.");
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bHeadquarter)) return SendClientMessage(playerid, COLOR_GRAD1, "This turf is a headquarter. You need special permissions to claim it.");
- if(arrTurfWars[iTurfID][tw_bVulnerable] == false) {
- format(szMiscArray, sizeof(szMiscArray), "This turf (ID %d) is not vulnerable.", iTurfID);
- return SendClientMessage(playerid, COLOR_GRAD1, szMiscArray);
- }
- if(TurfWars_GetTurfCount(iTurfID, PlayerInfo[playerid][pMember]) < 3 && !IsAdminLevel(playerid, ADMIN_SENIOR, 0)) {
- return SendClientMessageEx(playerid, COLOR_GRAD1, "You need at least 3 of your family/gang members on the turf to be able to claim it.");
- }
- foreach(new p : Player) if(GetPVarType(p, "CapCheck") && PlayerInfo[p][pMember] == PlayerInfo[playerid][pMember]) {
- return SendClientMessageEx(playerid, COLOR_GRAD1, "Someone in your group is already capturing a turf.");
- }
- if(TurfWars_CapCheck(playerid, iTurfID) == 0) return 1;
- if(arrTurfWars[iTurfID][tw_iGroupID] != INVALID_GROUP_ID) {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {FFFF00} %s is attempting to capture %s.", arrGroupData[PlayerInfo[playerid][pMember]][g_szGroupName], gSAZones[iTurfID][SAZONE_NAME]);
- foreach(new p : Player) {
- if(PlayerInfo[p][pMember] == arrTurfWars[iTurfID][tw_iGroupID]) SendClientMessageEx(p, COLOR_GREEN, szMiscArray);
- }
- }
- if(GetGVarType("TW_Capturer", iTurfID)) {
- if(GetGVarInt("TW_Capturer", iTurfID) == PlayerInfo[playerid][pMember]) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are already capturing this turf.");
- new iGroupID = GetGVarInt("TW_Capturer", iTurfID);
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {FFFF00}You are attempting to take a turf %s is capturing.", arrGroupData[iGroupID][g_szGroupName]);
- foreach(new p : Player) {
- if(PlayerInfo[p][pMember] == PlayerInfo[playerid][pMember]) SendClientMessageEx(p, COLOR_GREEN, szMiscArray);
- }
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {FFFF00}%s is attempting to take over the turf.", arrGroupData[PlayerInfo[playerid][pMember]][g_szGroupName]);
- foreach(new p : Player) {
- if(PlayerInfo[p][pMember] == iGroupID) SendClientMessageEx(p, COLOR_GREEN, szMiscArray);
- }
- }
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {FFFF00}%s is attempting to take over %s (ID %d).", GetPlayerNameEx(playerid), gSAZones[iTurfID][SAZONE_NAME], iTurfID);
- foreach(new p : Player) if(PlayerInfo[p][pMember] == PlayerInfo[playerid][pMember]) SendClientMessageEx(p, COLOR_GREEN, szMiscArray);
- SetPVarInt(playerid, "CapCheck", 1);
- SendClientMessageEx(playerid, COLOR_GRAD1, "You will start capturing the turf in 1 minute if you do not die or leave it.");
- if(arrTurfWars[iTurfID][tw_iGroupID] == INVALID_GROUP_ID) GangZoneShowForAll(arrTurfWars[iTurfID][tw_iGZoneID], 0xFFFFFF22);
- GangZoneFlashForAll(arrTurfWars[iTurfID][tw_iGZoneID], arrGroupData[PlayerInfo[playerid][pMember]][g_hDutyColour] * 256 + 170);
- defer TurfWars_Capture(playerid, iTurfID);
- return 1;
- }
- CMD:shutdown(playerid, params[]) {
- if(!IsACop(playerid)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are not an LEO.");
- if(PlayerInfo[playerid][pRank] < arrGroupData[PlayerInfo[playerid][pMember]][g_iTurfCapRank]) {
- return SendClientMessageEx(playerid, COLOR_GRAD2, "Your rank is not high enough to shutdown turfs!");
- }
- // for(new i; i < MAX_TURFS; ++i) if(GetGVarType("TW_Capturer", i) == PlayerInfo[playerid][pMember]) return SendClientMessageEx(playerid, COLOR_GRAD1, "Your group is already shutting down a turf.");
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bDisabled)) return SendClientMessage(playerid, COLOR_GRAD1, "This turf is currently disabled.");
- // if(!Bit_State(arrTurfWarsBits[iTurfID], tw_bVulnerable)) return SendClientMessage(playerid, COLOR_GRAD1, "This turf is not vulnerable.");
- if(arrTurfWars[iTurfID][tw_bVulnerable] == false || !GetGVarType("TW_Capturer", iTurfID)) {
- format(szMiscArray, sizeof(szMiscArray), "This turf (ID %d) is not in a turf war.", iTurfID);
- return SendClientMessage(playerid, COLOR_GRAD1, szMiscArray);
- }
- if(TurfWars_GetTurfCount(iTurfID, PlayerInfo[playerid][pMember]) < 3 && !IsAdminLevel(playerid, ADMIN_SENIOR, 0)) {
- return SendClientMessageEx(playerid, COLOR_GRAD1, "You need at least 3 of your members on the turf to be able to shut it down.");
- }
- if(GetGVarType("TW_Capturer", iTurfID)) {
- // if(GetGVarInt("TW_Capturer", iTurfID) == PlayerInfo[playerid][pMember]) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are already capturing this turf.");
- new iGroupID = GetGVarInt("TW_Capturer", iTurfID);
- if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_LEA) return SendClientMessageEx(playerid, COLOR_GRAD1, "Another Law Enforcement Agency is shutting down this turf.");
- format(szMiscArray, sizeof(szMiscArray), "[TURF] You are attempting to shutdown a turf %s is capturing.", arrGroupData[iGroupID][g_szGroupName]);
- foreach(new p : Player) {
- if(PlayerInfo[p][pMember] == PlayerInfo[playerid][pMember]) SendClientMessageEx(p, COLOR_GRAD1, szMiscArray);
- }
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: %s is attempting to shutdown the turf.", arrGroupData[PlayerInfo[playerid][pMember]][g_szGroupName]);
- foreach(new p : Player) {
- if(PlayerInfo[p][pMember] == iGroupID) SendClientMessageEx(p, COLOR_GREEN, szMiscArray);
- }
- }
- SendClientMessageEx(playerid, COLOR_GRAD1, "You will start shutting down the turf in 1 minute if you do not die or leave it.");
- GangZoneFlashForAll(arrTurfWars[iTurfID][tw_iGZoneID], arrGroupData[PlayerInfo[playerid][pMember]][g_hDutyColour] * 256 + 170);
- defer TurfWars_Capture(playerid, iTurfID);
- return 1;
- }
- CMD:myturfs(playerid, params[]) {
- if(PlayerInfo[playerid][pLeader] == INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot capture turfs.");
- new iGroupID = PlayerInfo[playerid][pMember],
- iLastID,
- iTurfCount,
- iMyTurfs;
- szMiscArray[0] = 0;
- szMiscArray = "Turf\tHealth - Level\tTraffic - Deaths";
- for(new i; i < sizeof(gSAZones); ++i) {
- iTurfCount++;
- if(arrTurfWars[i][tw_iGroupID] == iGroupID) {
- iMyTurfs++;
- if(iLastID != arrTurfWars[i][tw_iLinkedID] || arrTurfWars[i][tw_iLinkedID] == 0) {
- if(arrTurfWars[i][tw_iLinkedID] != 0) iLastID = arrTurfWars[i][tw_iLinkedID];
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s (ID %d)\t%dHP - LVL %d\t %dT - %dD",
- szMiscArray, gSAZones[i][SAZONE_NAME], iMyTurfs, arrTurfWars[i][tw_iHealth], arrTurfWars[i][tw_iLevel], arrTurfWars[i][tw_iTraffic], arrTurfWars[i][tw_iDeaths]);
- iMyTurfs = 0;
- iTurfCount = 0;
- }
- }
- }
- ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Turf List | Your Turfs", szMiscArray, "<<", "");
- return 1;
- }
- CMD:turfinfo(playerid, params[]) {
- if(GetPVarType(playerid, "TInfo")) {
- TurfWars_GUI(playerid, false);
- DeletePVar(playerid, "TInfo");
- }
- else {
- SetPVarInt(playerid, "TInfo", 1);
- TurfWars_GUI(playerid, true);
- }
- return 1;
- }
- CMD:turfs(playerid, params[])
- {
- if(Bit_State(arrPlayerBits[playerid], pTurfRadar)) {
- SendClientMessageEx(playerid, COLOR_WHITE, "You have disabled the Turf Minimap Radar.");
- TurfWars_Toggle(playerid, false);
- }
- else {
- SendClientMessageEx(playerid, COLOR_WHITE, "You have enabled the Turf Minimap Radar.");
- TurfWars_Toggle(playerid, true);
- }
- return 1;
- }
- CMD:turfstats(playerid, params[]) {
- new iTurfID = TurfWars_GetTurfID(playerid);
- /*
- if(sscanf(params, "d", iTurfID)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /turfinfo [ID]");
- SendClientMessageEx(playerid, COLOR_GREY, "Help: /myturfs to list your turfs.");
- return 1;
- }
- */
- if(iTurfID == 369) return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not in a valid turf, or you're not synced (move to another turf and back).");
- if(arrTurfWars[iTurfID][tw_iGroupID] != PlayerInfo[playerid][pMember] &&
- !IsAdminLevel(playerid, ADMIN_SENIOR, 0)) return SendClientMessageEx(playerid, COLOR_GRAD1, "This turf doesn't belong to you.");
-
- format(szMiscArray, sizeof(szMiscArray), "%s {CCCCCC}- {FFFF00}Revenue: {CCCCCC}$%s - {FFFF00}Deaths: {CCCCCC}%d - {FFFF00}Traffic: {CCCCCC}%d",
- gSAZones[iTurfID][SAZONE_NAME],
- number_format(arrTurfWars[iTurfID][tw_iRevenue]),
- arrTurfWars[iTurfID][tw_iDeaths],
- arrTurfWars[iTurfID][tw_iTraffic]);
- SendClientMessage(playerid, COLOR_GREEN, szMiscArray);
- return 1;
- }
- CMD:turftime(playerid, params[]) {
- szMiscArray[0] = 0;
- // szMiscArray = "Name\tTime\n";
- new iSeconds,
- iMinutes;
- for(new i; i < MAX_TURFS; ++i) {
- if(GetGVarType("TW_Time", i)) {
- iSeconds = GetGVarInt("TW_Time", i);
- iMinutes = floatround(iSeconds / 60, floatround_floor);
- iSeconds = iSeconds - (iMinutes * 60);
- format(szMiscArray, sizeof(szMiscArray), "%s - {CCCCCC}%s - {FFFF00}%d:%02d {CCCCCC}minutes.", gSAZones[i][SAZONE_NAME], arrGroupData[GetGVarInt("TW_Capturer", i)][g_szGroupName], iMinutes, iSeconds);
- SendClientMessage(playerid, COLOR_GREEN, szMiscArray);
- }
- }
- // ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, "Point Time", szMiscArray, "<<", "");
- return 1;
- }
- TurfWars_SendGroupMessage(iGroupID, COLOR, szMessage[]) {
- if(iGroupID != INVALID_GROUP_ID) {
- foreach(new i : Player) {
- if(PlayerInfo[i][pMember] == iGroupID) {
- SendClientMessageEx(i, COLOR, szMessage);
- }
- }
- }
- return 1;
- }
- timer TurfWars_Capture[60000](playerid, iTurfID) {
- DeletePVar(playerid, "CapCheck");
- if(GetGVarType("TW_Capturer", iTurfID) && GetGVarInt("TW_Capturer", iTurfID) == PlayerInfo[playerid][pMember]) {
- return SendClientMessageEx(playerid, COLOR_GRAD1, "Someone else in your gang already claimed the turf.");
- }
- if(TurfWars_GetTurfID(playerid) != iTurfID || GetPVarType(playerid, "Injured")) {
-
- GangZoneFlashForAll(arrTurfWars[iTurfID][tw_iGZoneID], arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_hDutyColour] * 256 + 170);
- return TurfWars_SendGroupMessage(PlayerInfo[playerid][pMember], COLOR_GREEN, "[TURF]: Your group failed to get a first hold of the turf.");
- }
- if(GetGVarType("TW_Capturer", iTurfID)) {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: %s has successfully taken a first hold of the turf you were capturing.", arrGroupData[PlayerInfo[playerid][pMember]][g_szGroupName]);
- TurfWars_SendGroupMessage(GetGVarInt("TW_Capturer", iTurfID), COLOR_GREEN, szMiscArray);
- if(arrTurfWars[iTurfID][tw_iHealth] < 20) arrTurfWars[iTurfID][tw_iHealth] = 20;
- }
- SetGVarInt("TW_Capturer", PlayerInfo[playerid][pMember], iTurfID);
- TurfWars_SendGroupMessage(PlayerInfo[playerid][pMember], COLOR_GREEN, "[TURF]: Your group managed to get a first hold of the turf.");
- SetPVarInt(playerid, "TW_CapLeader", 1);
- TurfWars_SyncGUI(INVALID_PLAYER_ID, iTurfID);
- TurfWars_MicroTimer(PlayerInfo[playerid][pMember], iTurfID);
- return 1;
- }
- timer TurfWars_MicroTimer[1000](iGroupID, iTurfID) {
- if(!GetGVarType("TW_Capturer", iTurfID) || GetGVarInt("TW_Capturer", iTurfID) != iGroupID) {
- foreach(new p : Player) if(PlayerInfo[p][pMember] == iGroupID) TextDrawHideForPlayer(p, PointTime);
- return 1;
- }
- TurfWars_SetTime(iTurfID);
- new iSeconds = GetGVarInt("TW_Time", iTurfID),
- iMinutes = floatround(iSeconds / 60, floatround_floor);
- iSeconds = iSeconds - (iMinutes * 60);
-
- if(iMinutes < 1 && iSeconds < 1 && GetGVarType("TW_Critical", iTurfID)) {
- foreach(new p : Player) if (PlayerInfo[p][pMember] == iGroupID) TextDrawHideForPlayer(p, PointTime);
- TurfWars_FinalizeCapture(iTurfID, true);
- return 1;
- }
- format(szMiscArray, sizeof(szMiscArray), "%d:%02d", iMinutes, iSeconds);
- TextDrawSetString(PointTime, szMiscArray);
- foreach(new p : Player) {
- if(PlayerInfo[p][pMember] == iGroupID) {
- TextDrawShowForPlayer(p, PointTime);
- }
- else TextDrawHideForPlayer(p, PointTime);
- }
- defer TurfWars_MicroTimer(iGroupID, iTurfID);
- return 1;
- }
- TurfWars_SetTime(iTurfID) {
- new iSeconds = GetGVarInt("TW_Time", iTurfID);
- iSeconds--;
- if(GetGVarType("TW_Critical", iTurfID)) {
- SetGVarInt("TW_Time", iSeconds, iTurfID);
- if(iSeconds <= 0) TurfWars_FinalizeCapture(iTurfID, true);
- return 1;
- }
- if(arrTurfWars[iTurfID][tw_iGroupID] == GetGVarInt("TW_Capturer", iTurfID)) {
- SetGVarInt("TW_Time", 600, iTurfID);
- SetGVarInt("TW_Critical", 1, iTurfID);
- TurfWars_SendGroupMessage(GetGVarInt("TW_Capturer", iTurfID), COLOR_YELLOW, "[TURF]: You are securing your turf. In 10 minutes it will be secure.");
- return 1;
- }
- if(iSeconds % 20 == 0) {
- TurfWars_SetHealth(iTurfID, arrTurfWars[iTurfID][tw_iHealth] - 5);
- // iSeconds = arrTurfWars[iTurfID][tw_iHealth] * arrTurfWars[iTurfID][tw_iLevel] + 300;
- }
- if(iSeconds % 20 == 0 || iSeconds <= 0) iSeconds = 20 * floatround(arrTurfWars[iTurfID][tw_iHealth] / 5);
- if(arrTurfWars[iTurfID][tw_iHealth] <= 0) {
- arrTurfWars[iTurfID][tw_iHealth] = 0;
- TurfWars_SendGroupMessage(arrTurfWars[iTurfID][tw_iGroupID], COLOR_YELLOW, "[TURF]: Your turf's assets are destroyed. You have 5 minutes left to rescue it.");
- TurfWars_SendGroupMessage(GetGVarInt("TW_Capturer", iTurfID), COLOR_YELLOW, "[TURF]: You have destroyed the turf's assets. In 5 minutes it will be yours.");
- SetGVarInt("TW_Critical", 1, iTurfID);
- SetGVarInt("TW_Time", 300, iTurfID);
- }
- else SetGVarInt("TW_Time", iSeconds, iTurfID);
- return 1;
- }
- TurfWars_FinalizeCapture(iTurfID, bool:bState) {
- new iGroupID = GetGVarInt("TW_Capturer", iTurfID);
- GangZoneHideForAll(arrTurfWars[iTurfID][tw_iGZoneID]);
- switch(bState) {
- case true: {
- if(arrTurfWars[iTurfID][tw_iGroupID] == INVALID_GROUP_ID) TurfWars_SendGroupMessage(iGroupID, COLOR_YELLOW, "[TURF]: You have successfully taken over the turf.");
- else {
- if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_LEA) {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: You have successfully shutdown %s's turf. It will remain shutdown for 24 hours.", arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName]);
- TurfWars_SendGroupMessage(GetGVarInt("TW_Capturer", iTurfID), COLOR_YELLOW, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: %s has successfully shutdown your turf. It will remain shutdown for 24 hours.", arrGroupData[iGroupID][g_szGroupName]);
- TurfWars_SendGroupMessage(arrTurfWars[iTurfID][tw_iGroupID], COLOR_YELLOW, szMiscArray);
- Bit_On(arrTurfWarsBits[iTurfID], tw_bShutdown);
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `vulnerable` = '0', `shutdown` = '1', `timestamp` = '%d' WHERE `id` = '%d'",
- gettime() + 21600, iTurfID);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- }
- else {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: You have successfully taken over %s's turf.", arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName]);
- TurfWars_SendGroupMessage(GetGVarInt("TW_Capturer", iTurfID), COLOR_YELLOW, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: %s has successfully taken over your turf.", arrGroupData[iGroupID][g_szGroupName]);
- TurfWars_SendGroupMessage(arrTurfWars[iTurfID][tw_iGroupID], COLOR_YELLOW, szMiscArray);
-
- }
- }
- if(arrGroupData[iGroupID][g_iGroupType] != GROUP_TYPE_LEA) {
- arrTurfWars[iTurfID][tw_iGroupID] = iGroupID;
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `groupid` = '%d', `vulnerable` = '0', `timestamp` = '%d' WHERE `id` = '%d'",
- iGroupID, gettime() + 21600, iTurfID);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- }
- if(arrTurfWars[iTurfID][tw_iLevel] > 20) arrTurfWars[iTurfID][tw_iLevel] -= 10;
- }
- default: {
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `vulnerable` = '0', `timestamp` = '%d' WHERE `id` = '%d'",
- gettime() + 21600, iTurfID);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- if(arrGroupData[iGroupID][g_iGroupType] == GROUP_TYPE_LEA) {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: You have failed to shutdown %s's turf.", arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName]);
- TurfWars_SendGroupMessage(GetGVarInt("TW_Capturer", iTurfID), COLOR_YELLOW, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: %s has failed to shutdown your turf.", arrGroupData[GetGVarInt("TW_Capturer", iTurfID)][g_szGroupName]);
- TurfWars_SendGroupMessage(arrTurfWars[iTurfID][tw_iGroupID], COLOR_YELLOW, szMiscArray);
- }
- else {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: You have failed to take over %s's turf.", arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName]);
- TurfWars_SendGroupMessage(GetGVarInt("TW_Capturer", iTurfID), COLOR_YELLOW, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: %s has failed to take over your turf.", arrGroupData[GetGVarInt("TW_Capturer", iTurfID)][g_szGroupName]);
- TurfWars_SendGroupMessage(arrTurfWars[iTurfID][tw_iGroupID], COLOR_YELLOW, szMiscArray);
- }
- if(arrTurfWars[iTurfID][tw_iLevel] < 95) arrTurfWars[iTurfID][tw_iLevel] += 5;
- }
- }
- foreach(new p : Player) if(PlayerInfo[p][pMember] == GetGVarInt("TW_Capturer", iTurfID)) DeletePVar(p, "TW_CapLeader");
- arrTurfWars[iTurfID][tw_iHealth] = 50;
- // Bit_Off(arrTurfWarsBits[iTurfID], tw_bVulnerable);
- arrTurfWars[iTurfID][tw_bVulnerable] = false;
- TurfWars_SyncGUI(INVALID_PLAYER_ID, iTurfID);
- ResyncTurf(iTurfID);
- TurfWars_ResetVars(iTurfID);
- }
- TurfWars_ResetVars(iTurfID) {
- DeleteGVar("TW_Capturer", iTurfID);
- DeleteGVar("TW_Time", iTurfID);
- DeleteGVar("TW_Critical", iTurfID);
- }
- /*
- To setup the SQL table.
- CMD:turfcodes(playerid, params[]) {
- new i[9];
- i[0] = CreateDynamicRectangle(gMainZones[0][SAZONE_AREA][0],gMainZones[0][SAZONE_AREA][1], gMainZones[0][SAZONE_AREA][3], gMainZones[0][SAZONE_AREA][4]);
- i[1] = CreateDynamicRectangle(gMainZones[1][SAZONE_AREA][0],gMainZones[1][SAZONE_AREA][1], gMainZones[1][SAZONE_AREA][3], gMainZones[1][SAZONE_AREA][4]);
- i[2] = CreateDynamicRectangle(gMainZones[2][SAZONE_AREA][0],gMainZones[2][SAZONE_AREA][1], gMainZones[2][SAZONE_AREA][3], gMainZones[2][SAZONE_AREA][4]);
- i[3] = CreateDynamicRectangle(gMainZones[3][SAZONE_AREA][0],gMainZones[3][SAZONE_AREA][1], gMainZones[3][SAZONE_AREA][3], gMainZones[3][SAZONE_AREA][4]);
- i[4] = CreateDynamicRectangle(gMainZones[4][SAZONE_AREA][0],gMainZones[4][SAZONE_AREA][1], gMainZones[4][SAZONE_AREA][3], gMainZones[4][SAZONE_AREA][4]);
- i[5] = CreateDynamicRectangle(gMainZones[5][SAZONE_AREA][0],gMainZones[5][SAZONE_AREA][1], gMainZones[5][SAZONE_AREA][3], gMainZones[5][SAZONE_AREA][4]);
- i[6] = CreateDynamicRectangle(gMainZones[6][SAZONE_AREA][0],gMainZones[6][SAZONE_AREA][1], gMainZones[6][SAZONE_AREA][3], gMainZones[6][SAZONE_AREA][4]);
- i[7] = CreateDynamicRectangle(gMainZones[7][SAZONE_AREA][0],gMainZones[7][SAZONE_AREA][1], gMainZones[7][SAZONE_AREA][3], gMainZones[7][SAZONE_AREA][4]);
- i[8] = CreateDynamicRectangle(gMainZones[8][SAZONE_AREA][0],gMainZones[8][SAZONE_AREA][1], gMainZones[8][SAZONE_AREA][3], gMainZones[8][SAZONE_AREA][4]);
- for(new a; a < sizeof(gSAZones); ++a) {
- for(new b; b < 9; ++b) {
- if(IsPointInDynamicArea(i[b], gSAZones[a][SAZONE_AREA][0] + 1.0, gSAZones[a][SAZONE_AREA][1] + 1.0, gSAZones[a][SAZONE_AREA][2])) {
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `areacode` = '%d' WHERE `linkedid` = '%d'",
- b, arrTurfWars[a][tw_iLinkedID]);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- }
- }
- }
- return 1;
- }
- */
- hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- if(arrAntiCheat[playerid][ac_iFlags][AC_DIALOGSPOOFING] > 0) return 1;
- switch(dialogid) {
- case DIALOG_TURFS_AREA: {
- format(szMiscArray, sizeof(szMiscArray), "SELECT `id`, `linkedid`, `groupid`, `timestamp`, `vulnerable`, `shutdown`, `zonename` FROM `turfs` WHERE `areacode` = '%d'", listitem);
- mysql_tquery(MainPipeline, szMiscArray, true, "TurfWars_FetchData", "ii", playerid, listitem);
- }
- case DIALOG_TURFS_UPGRADE: {
- if(!response) SendClientMessageEx(playerid, COLOR_GRAD1, "You decided not to upgrade/heal your turf.");
- else {
- new iUpgrID = GetPVarInt(playerid, "TurfUpgr");
- DeletePVar(playerid, "TurfUpgr");
- if(iUpgrID == 0) {
- new iTurfID = GetPVarInt(playerid, "TurfID"),
- iHealth = Turf_GetMaxHealth(iTurfID);
- arrGroupData[PlayerInfo[playerid][pMember]][g_iMaterials] -= (arrTurfWars[iTurfID][tw_iLevel] * 5000) + 5000;
- arrTurfWars[iTurfID][tw_iLevel]++;
- arrTurfWars[iTurfID][tw_iHealth] += 50;
- if(arrTurfWars[iTurfID][tw_iHealth] > iHealth) arrTurfWars[iTurfID][tw_iHealth] = iHealth;
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {CCCCCC}Congratulations! You upgraded your turf to {FFFF00}level %d.", arrTurfWars[iTurfID][tw_iLevel]);
- TurfWars_SendGroupMessage(PlayerInfo[playerid][pMember], COLOR_YELLOW, szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: Your turf's max health is now %d", iHealth);
- TurfWars_SendGroupMessage(PlayerInfo[playerid][pMember], COLOR_GREEN, szMiscArray);
- SaveGroup(PlayerInfo[playerid][pMember]);
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `health` = '%d', `level` = '%d' WHERE `id` = '%d'", arrTurfWars[iTurfID][tw_iHealth], arrTurfWars[iTurfID][tw_iLevel], iTurfID);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- Turf_SyncTurf(iTurfID);
- }
- else if(iUpgrID == 1) {
- new iTurfID = GetPVarInt(playerid, "TurfID"),
- iHealth = Turf_GetMaxHealth(iTurfID);
- arrGroupData[PlayerInfo[playerid][pMember]][g_iMaterials] -= (arrTurfWars[iTurfID][tw_iLevel] * 100) + 600;
- arrTurfWars[iTurfID][tw_iHealth] += 40;
- if(arrTurfWars[iTurfID][tw_iHealth] > iHealth) arrTurfWars[iTurfID][tw_iHealth] = iHealth;
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {CCCCCC}You healed your turf with {FFFF00}40 {CCCCCC}health for {FFFF00}%d {CCCCCC}materials.", (arrTurfWars[iTurfID][tw_iLevel] * 100) + 600);
- TurfWars_SendGroupMessage(PlayerInfo[playerid][pMember], COLOR_YELLOW, szMiscArray);
- SaveGroup(PlayerInfo[playerid][pMember]);
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `health` = '%d' WHERE `id` = '%d'", arrTurfWars[iTurfID][tw_iHealth], iTurfID);
- mysql_tquery(MainPipeline, szMiscArray, false, "OnQueryFinish", "i", SENDDATA_THREAD);
- Turf_SyncTurf(iTurfID);
- }
- }
- DeletePVar(playerid, "TurfID");
- }
- }
- return 0;
- }
- Turf_SyncTurf(iTurfID) {
- foreach(new p : Player) if(TurfWars_GetTurfID(p) == iTurfID) TurfWars_SyncGUI(p, iTurfID);
- }
- Turf_GetMaxHealth(iTurfID) {
- return (100 + (arrTurfWars[iTurfID][tw_iLevel] * 9));
- }
- forward TurfWars_FetchData(playerid, area);
- public TurfWars_FetchData(playerid, area) {
- new iRows,
- iFields,
- iCount,
- iLastID,
- iTurfID,
- iLinkedID,
- szZoneName[MAX_ZONE_NAME],
- iGroupID,
- szGroup[GROUP_MAX_NAME_LEN],
- iTimeStamp,
- szTitle[24];
- cache_get_data(iRows, iFields, MainPipeline);
- if(!iRows) return SendClientMessageEx(playerid, COLOR_GRAD1, "There are no turfs.");
- szMiscArray[0] = 0;
- szMiscArray = "Turf\tOwned by\tTime left (minutes)";
- while(iCount < iRows) {
- iLinkedID = cache_get_field_content_int(iCount, "linkedid", MainPipeline);
- if(iLastID != iLinkedID || iLinkedID == 0) {
- if(iLinkedID != 0) iLastID = iLinkedID;
- cache_get_field_content(iCount, "zonename", szZoneName, MainPipeline);
- iGroupID = cache_get_field_content_int(iCount, "groupid", MainPipeline);
- iTurfID = cache_get_field_content_int(iCount, "id", MainPipeline);
- szGroup[0] = 0;
- switch(iGroupID) {
- case INVALID_GROUP_ID: szGroup = "Neutral";
- default: strcat(szGroup, arrGroupData[iGroupID][g_szGroupName], sizeof(szGroup));
- }
- iTimeStamp = (gettime() - cache_get_field_content_int(iCount, "timestamp", MainPipeline)) / 3600; // Calculate difference, then convert to hours.);
- if(cache_get_field_content_int(iCount, "vulnerable", MainPipeline) == 1) {
- format(szMiscArray, sizeof(szMiscArray), "%s\n{FFFF00}%s (%d)\t%s (%d)\t%d minutes{FFFFFF}",
- szMiscArray,
- szZoneName,
- iTurfID,
- szGroup,
- iGroupID,
- 0);
- }
- else {
- format(szMiscArray, sizeof(szMiscArray), "%s\n%s (%d)\t%s (%d)\t%d hours",
- szMiscArray,
- szZoneName,
- iTurfID,
- szGroup,
- iGroupID,
- iTimeStamp);
- }
- }
- iCount++;
- }
- format(szTitle, sizeof(szTitle), "%s | Turfs", gMainZones[area][SAZONE_NAME]);
- return ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_TABLIST_HEADERS, szTitle, szMiscArray, "<<", "");
- }
- CMD:editturf(playerid, params[]) {
- if(!IsAdminLevel(playerid, ADMIN_SENIOR) || PlayerInfo[playerid][pGangModerator] != 2) return 1;
- new szChoice[12],
- iTurfID,
- iValue,
- iChoiceID;
- if(sscanf(params, "s[12]dd", szChoice, iTurfID, iValue)) {
- SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /editturf [option] [ID] [value]");
- SendClientMessageEx(playerid, COLOR_GREY, "Available options: Group (0 for neutral), Vulnerable, Disabled, Level, Health, Headquarter, Shutdown");
- SendClientMessageEx(playerid, COLOR_GREY, "Help: /turflist to list all turfs.");
- return 1;
- }
- if(strcmp(szChoice, "Group", true) == 0) iChoiceID = 0;
- else if(strcmp(szChoice, "Vulnerable", true) == 0) iChoiceID = 1;
- else if(strcmp(szChoice, "Disabled", true) == 0) iChoiceID = 2;
- else if(strcmp(szChoice, "Level", true) == 0) iChoiceID = 3;
- else if(strcmp(szChoice, "Health", true) == 0) iChoiceID = 4;
- else if(strcmp(szChoice, "Headquarter", true) == 0) iChoiceID = 5;
- else if(strcmp(szChoice, "Shutdown", true) == 0) iChoiceID = 6;
- else return SendClientMessage(playerid, COLOR_GRAD1, "You specified an invalid option.");
- TurfWars_SetValue(playerid, iTurfID, iChoiceID, iValue);
- TurfWars_SyncGUI(INVALID_PLAYER_ID, iTurfID);
- return 1;
- }
- CMD:upgradeturf(playerid, params[]) {
- if(PlayerInfo[playerid][pLeader] == INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are not in a faction/gang leader.");
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(arrTurfWars[iTurfID][tw_iGroupID] != PlayerInfo[playerid][pLeader]) return SendClientMessageEx(playerid, COLOR_GRAD1, "This turf does not belong to you.");
- if(GetGVarInt("TW_Capturer", iTurfID)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot level up the turf while it is being captured.");
- if(arrGroupData[PlayerInfo[playerid][pLeader]][g_iMaterials] < ((arrTurfWars[iTurfID][tw_iLevel] * 5000) + 5000)) {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {CCCCCC}You need an additional {FFFF00}%d {CCCCCC}materials to upgrade the turf",
- ((arrTurfWars[iTurfID][tw_iLevel] * 5000) + 5000) - arrGroupData[PlayerInfo[playerid][pLeader]][g_iMaterials]);
- TurfWars_SendGroupMessage(PlayerInfo[playerid][pLeader], COLOR_GREEN, szMiscArray);
- }
- else {
- SetPVarInt(playerid, "TurfID", iTurfID);
- SetPVarInt(playerid, "TurfUpgr", 0);
- format(szMiscArray, sizeof(szMiscArray), "Total cost: %d materials\n\nWould you like to upgrade your turf?",
- (arrTurfWars[iTurfID][tw_iLevel] * 5000) + 5000);
- ShowPlayerDialogEx(playerid, DIALOG_TURFS_UPGRADE, DIALOG_STYLE_MSGBOX, "Turf | Upgrade", szMiscArray, "Yes", "No");
- }
- return 1;
- }
- CMD:healturf(playerid, params[]) {
- if(PlayerInfo[playerid][pLeader] == INVALID_GROUP_ID) return SendClientMessageEx(playerid, COLOR_GRAD1, "You are not in a faction/gang leader.");
- new iTurfID = TurfWars_GetTurfID(playerid);
- if(arrTurfWars[iTurfID][tw_iGroupID] != PlayerInfo[playerid][pLeader]) return SendClientMessageEx(playerid, COLOR_GRAD1, "This turf does not belong to you.");
- if(GetGVarInt("TW_Capturer", iTurfID)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot heal the turf while it is being captured.");
- if(arrGroupData[PlayerInfo[playerid][pLeader]][g_iMaterials] < ((arrTurfWars[iTurfID][tw_iLevel] * 100) + 600)) {
- format(szMiscArray, sizeof(szMiscArray), "[TURF]: {CCCCCC}You need an additional {FFFF00}%d {CCCCCC}materials to heal the turf",
- ((arrTurfWars[iTurfID][tw_iLevel] * 100) + 600) - arrGroupData[PlayerInfo[playerid][pLeader]][g_iMaterials]);
- TurfWars_SendGroupMessage(PlayerInfo[playerid][pLeader], COLOR_GREEN, szMiscArray);
- }
- else {
- SetPVarInt(playerid, "TurfID", iTurfID);
- SetPVarInt(playerid, "TurfUpgr", 1);
- format(szMiscArray, sizeof(szMiscArray), "Total cost: %d materials\n\nWould you like to heal your turf?",
- (arrTurfWars[iTurfID][tw_iLevel] * 100) + 600);
- ShowPlayerDialogEx(playerid, DIALOG_TURFS_UPGRADE, DIALOG_STYLE_MSGBOX, "Turf | Upgrade", szMiscArray, "Yes", "No");
- }
- return 1;
- }
- /*
- TurfWars_GetLinkedID(i) {
- return arrTurfWars[i][tw_iLinkedID];
- }
- */
- TurfWars_SetValue(playerid, i, iChoice, iValue) {
- new szSQL[12];
- switch(iChoice) {
- case 0: { // group
-
- if(!(0 <= iValue < MAX_GROUPS)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid group ID.");
- szSQL = "groupid";
- iValue--; // Grouplist starts at 1 IG.
- if(Bit_State(arrTurfWarsBits[i], tw_bTurfMode)) {
- for(new j; j < MAX_TURFS; ++j) {
- if(arrTurfWars[i][tw_iLinkedID] == arrTurfWars[j][tw_iLinkedID]) arrTurfWars[j][tw_iGroupID] = iValue; // Groups start at 1 in /editgroup
- }
- }
- else arrTurfWars[i][tw_iGroupID] = iValue;
- ResyncTurf(i);
- }
- case 1: { // vulnverable
- if(!(0 <= iValue < 2)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- szSQL = "vulnerable";
- if(Bit_State(arrTurfWarsBits[i], tw_bTurfMode)) {
- for(new j; j < MAX_TURFS; ++j) {
- if(arrTurfWars[i][tw_iLinkedID] == arrTurfWars[j][tw_iLinkedID]) {
- if(iValue == 0) arrTurfWars[j][tw_bVulnerable] = false; // Bit_Off(arrTurfWarsBits[j], tw_bVulnerable);
- else arrTurfWars[j][tw_bVulnerable] = true; // Bit_On(arrTurfWarsBits[j], tw_bVulnerable);
- }
- }
- }
- else {
- if(iValue == 0) arrTurfWars[i][tw_bVulnerable] = false; // Bit_Off(arrTurfWarsBits[j], tw_bVulnerable);
- else arrTurfWars[i][tw_bVulnerable] = true; // Bit_On(arrTurfWarsBits[j], tw_bVulnerable);
- }
- }
- case 2: { // Disabled
- if(!(0 <= iValue < 2)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- szSQL = "disabled";
- if(Bit_State(arrTurfWarsBits[i], tw_bTurfMode)) {
- for(new j; j < MAX_TURFS; ++j) {
- if(arrTurfWars[i][tw_iLinkedID] == arrTurfWars[j][tw_iLinkedID]) {
- if(iValue == 0) Bit_Off(arrTurfWarsBits[j], tw_bDisabled);
- else Bit_On(arrTurfWarsBits[j], tw_bDisabled);
- }
- }
- }
- else {
- if(iValue == 0) Bit_Off(arrTurfWarsBits[i], tw_bDisabled);
- else Bit_On(arrTurfWarsBits[i], tw_bDisabled);
- }
- }
- case 3: { // Level
- if(!(0 < iValue < 100)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- szSQL = "level";
- if(Bit_State(arrTurfWarsBits[i], tw_bTurfMode)) {
- for(new j; j < MAX_TURFS; ++j) {
- if(arrTurfWars[i][tw_iLinkedID] == arrTurfWars[j][tw_iLinkedID]) {
- arrTurfWars[j][tw_iLevel] = iValue;
- }
- }
- }
- else arrTurfWars[i][tw_iLevel] = iValue;
- }
- case 4: { // Health
- if(!(0 <= iValue < 10000)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- szSQL = "health";
- if(Bit_State(arrTurfWarsBits[i], tw_bTurfMode)) {
- for(new j; j < MAX_TURFS; ++j) {
- if(arrTurfWars[i][tw_iLinkedID] == arrTurfWars[j][tw_iLinkedID]) {
- arrTurfWars[j][tw_iHealth] = iValue;
- }
- }
- }
- else arrTurfWars[i][tw_iHealth] = iValue;
- }
- case 5: { // Headquarter
- if(!(0 <= iValue < 2)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- szSQL = "headquarter";
- if(iValue == 0) Bit_Off(arrTurfWarsBits[i], tw_bHeadquarter);
- else Bit_On(arrTurfWarsBits[i], tw_bHeadquarter);
- }
- case 6: { // Shutdown
- if(!(0 <= iValue < 2)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- szSQL = "shutdown";
- if(iValue == 0) Bit_Off(arrTurfWarsBits[i], tw_bShutdown);
- else Bit_On(arrTurfWarsBits[i], tw_bShutdown);
- }
- }
- if(Bit_State(arrTurfWarsBits[i], tw_bTurfMode)) {
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `%s` = '%d' WHERE `linkedid` = '%d'", szSQL, iValue, arrTurfWars[i][tw_iLinkedID]);
- mysql_tquery(MainPipeline, szMiscArray, false, "TurfWars_OnQueryFinish" , "ii", playerid, i);
- }
- else {
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `%s` = '%d' WHERE `id` = '%d'", szSQL, iValue, i + 1);
- mysql_tquery(MainPipeline, szMiscArray, false, "TurfWars_OnQueryFinish" , "ii", playerid, i);
- }
- return 1;
- }
- /*
- TurfWars_EditTurf(playerid, i, szChoice[], iValue) {
-
- new szSQL[12];
- if(strcmp(szChoice, "Group", true) == 0) {
- iValue--; // Grouplist starts at 1 IG.
- if(!(0 <= iValue < MAX_GROUPS)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid group ID.");
- TurfWars_SetValue(i, 0, iValue);
- ResyncTurf(i);
- szSQL = "groupid";
- }
- if(strcmp(szChoice, "Vulnerable", true) == 0) {
- if(!(0 <= iValue < 2)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- TurfWars_SetValue(i, 1, iValue);
- szSQL = "vulnerable";
- }
- if(strcmp(szChoice, "Disabled", true) == 0) {
- if(!(0 <= iValue < 2)) return SendClientMessageEx(playerid, COLOR_GRAD1, "You specified an invalid value.");
- TurfWars_SetValue(i, 2, iValue);
- szSQL = "disabled";
- }
- format(szMiscArray, sizeof(szMiscArray), "UPDATE `turfs` SET `%s` = '%d' WHERE `linkedid` = '%d'", szSQL, iValue, arrTurfWars[i][tw_iLinkedID]);
- mysql_tquery(MainPipeline, szMiscArray, false, "TurfWars_OnQueryFinish" , "ii", playerid, i);
- return 1;
- }
- */
- forward TurfWars_OnQueryFinish(playerid, i);
- public TurfWars_OnQueryFinish(playerid, i) {
- format(szMiscArray, sizeof(szMiscArray), "Successfully edited and saved Turf ID %d", i);
- SendClientMessageEx(playerid, COLOR_GRAD1, szMiscArray);
- return 1;
- }
- ResyncTurf(i) {
- foreach(new p : Player) {
- if(Bit_State(arrPlayerBits[p], pTurfRadar)) {
- for(new j; j < MAX_TURFS; ++j) {
- if(IsValidDynamicArea(arrTurfWars[j][tw_iAreaID])) {
- if(arrTurfWars[i][tw_iLinkedID] == arrTurfWars[j][tw_iLinkedID]) {
- GangZoneHideForPlayer(p, arrTurfWars[j][tw_iGZoneID]);
- if(arrTurfWars[j][tw_iGroupID] != -1) {
- GangZoneShowForPlayer(p, arrTurfWars[j][tw_iGZoneID], arrGroupData[arrTurfWars[j][tw_iGroupID]][g_hDutyColour] * 256 + 170);
- }
- }
- }
- }
- }
- }
- }
- TurfWars_Toggle(playerid, bool:bState) {
- // TurfWars_GUI(playerid, bState);
- if(bState) {
- Bit_On(arrPlayerBits[playerid], pTurfRadar);
- for(new i; i < MAX_TURFS; ++i) {
- if(IsValidDynamicArea(arrTurfWars[i][tw_iAreaID])) {
- if(Bit_State(arrTurfWarsBits[i], tw_bDisabled)) continue;
- if(arrTurfWars[i][tw_iGroupID] != -1) {
- GangZoneShowForPlayer(playerid, arrTurfWars[i][tw_iGZoneID], arrGroupData[arrTurfWars[i][tw_iGroupID]][g_hDutyColour] * 256 + 170);
- }
- else GangZoneShowForPlayer(playerid, arrTurfWars[i][tw_iGZoneID], 0xFFFFFF22);
- }
- }
- }
- else {
- Bit_Off(arrPlayerBits[playerid], pTurfRadar);
- for(new i; i < MAX_TURFS; ++i) {
- if(IsValidDynamicArea(arrTurfWars[i][tw_iAreaID])) {
- GangZoneHideForPlayer(playerid, arrTurfWars[i][tw_iGZoneID]);
- }
- }
- }
- }
- TurfWars_LoadPGUI(playerid) {
- TW_PTextDraws[playerid][0] = CreatePlayerTextDraw(playerid, 543.000000, 190.000000, ""); // Group Name
- PlayerTextDrawAlignment(playerid, TW_PTextDraws[playerid][0], 2);
- PlayerTextDrawBackgroundColor(playerid, TW_PTextDraws[playerid][0], 60);
- PlayerTextDrawFont(playerid, TW_PTextDraws[playerid][0], 1);
- PlayerTextDrawLetterSize(playerid, TW_PTextDraws[playerid][0], 0.180000, 0.899999);
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][0], 16777215);
- PlayerTextDrawSetOutline(playerid, TW_PTextDraws[playerid][0], 1);
- PlayerTextDrawSetProportional(playerid, TW_PTextDraws[playerid][0], 1);
- PlayerTextDrawSetSelectable(playerid, TW_PTextDraws[playerid][0], 0);
- TW_PTextDraws[playerid][1] = CreatePlayerTextDraw(playerid, 510.000000, 211.000000, ""); // Turf Health
- PlayerTextDrawBackgroundColor(playerid, TW_PTextDraws[playerid][1], 60);
- PlayerTextDrawFont(playerid, TW_PTextDraws[playerid][1], 1);
- PlayerTextDrawLetterSize(playerid, TW_PTextDraws[playerid][1], 0.180000, 0.899999);
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][1], -56);
- PlayerTextDrawSetOutline(playerid, TW_PTextDraws[playerid][1], 1);
- PlayerTextDrawSetProportional(playerid, TW_PTextDraws[playerid][1], 1);
- PlayerTextDrawSetSelectable(playerid, TW_PTextDraws[playerid][1], 0);
- TW_PTextDraws[playerid][2] = CreatePlayerTextDraw(playerid, 543.000000, 200.000000, ""); // Turf Name
- PlayerTextDrawAlignment(playerid, TW_PTextDraws[playerid][2], 2);
- PlayerTextDrawBackgroundColor(playerid, TW_PTextDraws[playerid][2], 60);
- PlayerTextDrawFont(playerid, TW_PTextDraws[playerid][2], 1);
- PlayerTextDrawLetterSize(playerid, TW_PTextDraws[playerid][2], 0.180000, 0.899999);
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][2], -56);
- PlayerTextDrawSetOutline(playerid, TW_PTextDraws[playerid][2], 1);
- PlayerTextDrawSetProportional(playerid, TW_PTextDraws[playerid][2], 1);
- PlayerTextDrawSetSelectable(playerid, TW_PTextDraws[playerid][2], 0);
- TW_PTextDraws[playerid][3] = CreatePlayerTextDraw(playerid, 530.000000, 210.000000, "hud:radar_enemyAttack");
- PlayerTextDrawBackgroundColor(playerid, TW_PTextDraws[playerid][3], 255);
- PlayerTextDrawFont(playerid, TW_PTextDraws[playerid][3], 4);
- PlayerTextDrawLetterSize(playerid, TW_PTextDraws[playerid][3], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][3], -1);
- PlayerTextDrawSetOutline(playerid, TW_PTextDraws[playerid][3], 0);
- PlayerTextDrawSetProportional(playerid, TW_PTextDraws[playerid][3], 1);
- PlayerTextDrawSetShadow(playerid, TW_PTextDraws[playerid][3], 1);
- PlayerTextDrawUseBox(playerid, TW_PTextDraws[playerid][3], 1);
- PlayerTextDrawBoxColor(playerid, TW_PTextDraws[playerid][3], 255);
- PlayerTextDrawTextSize(playerid, TW_PTextDraws[playerid][3], 10.000000, 10.000000);
- PlayerTextDrawSetSelectable(playerid, TW_PTextDraws[playerid][3], 0);
-
- TW_PTextDraws[playerid][4] = CreatePlayerTextDraw(playerid, 571.000000, 211.000000, ""); // Turf Level
- PlayerTextDrawBackgroundColor(playerid, TW_PTextDraws[playerid][4], 60);
- PlayerTextDrawFont(playerid, TW_PTextDraws[playerid][4], 1);
- PlayerTextDrawLetterSize(playerid, TW_PTextDraws[playerid][4], 0.180000, 0.899999);
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][4], -56);
- PlayerTextDrawSetOutline(playerid, TW_PTextDraws[playerid][4], 1);
- PlayerTextDrawSetProportional(playerid, TW_PTextDraws[playerid][4], 1);
- PlayerTextDrawSetSelectable(playerid, TW_PTextDraws[playerid][4], 0);
- TW_PTextDraws[playerid][5] = CreatePlayerTextDraw(playerid, 544.000000, 210.000000, "hud:radar_enemyAttack");
- PlayerTextDrawBackgroundColor(playerid, TW_PTextDraws[playerid][5], 255);
- PlayerTextDrawFont(playerid, TW_PTextDraws[playerid][5], 4);
- PlayerTextDrawLetterSize(playerid, TW_PTextDraws[playerid][5], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][5], -1);
- PlayerTextDrawSetOutline(playerid, TW_PTextDraws[playerid][5], 0);
- PlayerTextDrawSetProportional(playerid, TW_PTextDraws[playerid][5], 1);
- PlayerTextDrawSetShadow(playerid, TW_PTextDraws[playerid][5], 1);
- PlayerTextDrawUseBox(playerid, TW_PTextDraws[playerid][5], 1);
- PlayerTextDrawBoxColor(playerid, TW_PTextDraws[playerid][5], 255);
- PlayerTextDrawTextSize(playerid, TW_PTextDraws[playerid][5], 10.000000, 10.000000);
- PlayerTextDrawSetSelectable(playerid, TW_PTextDraws[playerid][5], 0);
- }
- TurfWars_LoadGUI() {
- TW_TextDraws[0] = TextDrawCreate(544.000000, 180.000000, "-");
- TextDrawAlignment(TW_TextDraws[0], 2);
- TextDrawBackgroundColor(TW_TextDraws[0], 255);
- TextDrawFont(TW_TextDraws[0], 1);
- TextDrawLetterSize(TW_TextDraws[0], 0.500000, 4.499999);
- TextDrawColor(TW_TextDraws[0], 0);
- TextDrawSetOutline(TW_TextDraws[0], 0);
- TextDrawSetProportional(TW_TextDraws[0], 1);
- TextDrawSetShadow(TW_TextDraws[0], 0);
- TextDrawUseBox(TW_TextDraws[0], 1);
- TextDrawBoxColor(TW_TextDraws[0], 50);
- TextDrawTextSize(TW_TextDraws[0], 350.000000, 99.000000);
- TextDrawSetSelectable(TW_TextDraws[0], 0);
- TW_TextDraws[1] = TextDrawCreate(544.000000, 190.000000, "-");
- TextDrawAlignment(TW_TextDraws[1] , 2);
- TextDrawBackgroundColor(TW_TextDraws[1] , 255);
- TextDrawFont(TW_TextDraws[1] , 1);
- TextDrawLetterSize(TW_TextDraws[1] , 0.500000, 3.299999);
- TextDrawColor(TW_TextDraws[1] , 0);
- TextDrawSetOutline(TW_TextDraws[1] , 0);
- TextDrawSetProportional(TW_TextDraws[1] , 1);
- TextDrawSetShadow(TW_TextDraws[1] , 0);
- TextDrawUseBox(TW_TextDraws[1] , 1);
- TextDrawBoxColor(TW_TextDraws[1] , 50);
- TextDrawTextSize(TW_TextDraws[1] , 350.000000, 99.000000);
- TextDrawSetSelectable(TW_TextDraws[1] , 0);
- TW_TextDraws[2] = TextDrawCreate(515.000000, 179.000000, "TURF INFO");
- TextDrawBackgroundColor(TW_TextDraws[2] , 60);
- TextDrawFont(TW_TextDraws[2] , 2);
- TextDrawLetterSize(TW_TextDraws[2] , 0.250000, 1.000000);
- TextDrawColor(TW_TextDraws[2] , -926365496);
- TextDrawSetOutline(TW_TextDraws[2] , 1);
- TextDrawSetProportional(TW_TextDraws[2] , 1);
- TextDrawSetSelectable(TW_TextDraws[2] , 0);
- TW_TextDraws[3] = TextDrawCreate(498.000000, 210.000000, "hud:radar_girlfriend");
- TextDrawBackgroundColor(TW_TextDraws[3], 255);
- TextDrawFont(TW_TextDraws[3], 4);
- TextDrawLetterSize(TW_TextDraws[3], 0.500000, 1.000000);
- TextDrawColor(TW_TextDraws[3], -1);
- TextDrawSetOutline(TW_TextDraws[3], 0);
- TextDrawSetProportional(TW_TextDraws[3], 1);
- TextDrawSetShadow(TW_TextDraws[3], 1);
- TextDrawUseBox(TW_TextDraws[3], 1);
- TextDrawBoxColor(TW_TextDraws[3], 255);
- TextDrawTextSize(TW_TextDraws[3], 10.000000, 10.000000);
- TextDrawSetSelectable(TW_TextDraws[3], 0);
- TW_TextDraws[4] = TextDrawCreate(559.000000, 210.000000, "LD_DRV:goboat");
- TextDrawBackgroundColor(TW_TextDraws[4], 255);
- TextDrawFont(TW_TextDraws[4], 4);
- TextDrawLetterSize(TW_TextDraws[4], 0.500000, 1.000000);
- TextDrawColor(TW_TextDraws[4], -1);
- TextDrawSetOutline(TW_TextDraws[4], 0);
- TextDrawSetProportional(TW_TextDraws[4], 1);
- TextDrawSetShadow(TW_TextDraws[4], 1);
- TextDrawUseBox(TW_TextDraws[4], 1);
- TextDrawBoxColor(TW_TextDraws[4], 255);
- TextDrawTextSize(TW_TextDraws[4], 10.000000, 10.000000);
- TextDrawSetSelectable(TW_TextDraws[4], 0);
- }
- TurfWars_GetTurfID(playerid) {
- new areaid[1];
- GetPlayerDynamicAreas(playerid, areaid);
- new iTurfID = Streamer_GetIntData(STREAMER_TYPE_AREA, areaid[0], E_STREAMER_EXTRA_ID);
- if(0 <= iTurfID < MAX_TURFS && areaid[0] == arrTurfWars[iTurfID][tw_iAreaID]) {
- return iTurfID;
- }
- iTurfID = GetPlayer2DTurf(playerid);
- if(iTurfID != 369) return iTurfID;
- return 369; // San Andreas Main Zone
- }
- TurfWars_GUI(playerid, bool:bState) {
- switch(bState) {
- case true: {
- TurfWars_SyncGUI(playerid, TurfWars_GetTurfID(playerid));
-
- TextDrawShowForPlayer(playerid, TW_TextDraws[0]);
- TextDrawShowForPlayer(playerid, TW_TextDraws[1]);
- TextDrawShowForPlayer(playerid, TW_TextDraws[2]);
- TextDrawShowForPlayer(playerid, TW_TextDraws[3]);
- TextDrawShowForPlayer(playerid, TW_TextDraws[4]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][0]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][1]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][2]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][3]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][4]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][5]);
- }
- default: {
-
- TextDrawHideForPlayer(playerid, TW_TextDraws[0]);
- TextDrawHideForPlayer(playerid, TW_TextDraws[1]);
- TextDrawHideForPlayer(playerid, TW_TextDraws[2]);
- TextDrawHideForPlayer(playerid, TW_TextDraws[3]);
- TextDrawHideForPlayer(playerid, TW_TextDraws[4]);
-
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][0]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][1]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][2]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][3]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][4]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][5]);
- }
- }
- }
- TurfWars_SetHealth(iTurfID, iHealth) {
- arrTurfWars[iTurfID][tw_iHealth] = iHealth;
- format(szMiscArray, sizeof(szMiscArray), "%d", arrTurfWars[iTurfID][tw_iHealth]);
- foreach(new p : Player) PlayerTextDrawSetString(p, TW_PTextDraws[p][1], szMiscArray);
- }
- TurfWars_SyncGUI(playerid, iTurfID) {
- szMiscArray[0] = 0;
- if(playerid == INVALID_PLAYER_ID) {
- foreach(new p : Player) {
- if(TurfWars_GetTurfID(p) != iTurfID) continue;
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bDisabled)) {
- TextDrawHideForPlayer(p, TW_TextDraws[3]);
- TextDrawHideForPlayer(p, TW_TextDraws[4]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][1]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][2]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][3]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][4]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][5]);
- PlayerTextDrawColor(p, TW_PTextDraws[p][0], 0xEEEEEE88);
- format(szMiscArray, sizeof(szMiscArray), "Disabled (ID %d)", iTurfID);
- PlayerTextDrawSetString(p, TW_PTextDraws[p][0], szMiscArray);
- PlayerTextDrawHide(p, TW_PTextDraws[p][0]);
- PlayerTextDrawShow(p, TW_PTextDraws[p][0]);
- return 1;
- }
- // if(Bit_State(arrTurfWarsBits[iTurfID], tw_bVulnerable)) {
- if(GetGVarType("TW_Capturer", iTurfID)) {
- PlayerTextDrawSetString(p, TW_PTextDraws[p][3], "hud:radar_enemyAttack");
- PlayerTextDrawSetString(p, TW_PTextDraws[p][5], "hud:radar_Flag");
- }
- else if(arrTurfWars[iTurfID][tw_bVulnerable] == true) {
- PlayerTextDrawSetString(p, TW_PTextDraws[p][3], "hud:radar_enemyAttack");
- PlayerTextDrawSetString(p, TW_PTextDraws[p][5], "hud:radar_enemyAttack");
- }
- else {
- PlayerTextDrawSetString(p, TW_PTextDraws[p][3], "hud:radar_Flag");
- PlayerTextDrawSetString(p, TW_PTextDraws[p][5], "hud:radar_Flag");
- }
- if(arrTurfWars[iTurfID][tw_iGroupID] == INVALID_GROUP_ID) {
- PlayerTextDrawColor(p, TW_PTextDraws[p][0], 0xEEEEEE88);
- PlayerTextDrawSetString(p, TW_PTextDraws[p][0], "Neutral");
- }
- else {
- PlayerTextDrawColor(p, TW_PTextDraws[p][0], arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_hDutyColour] * 256 + 200);
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bHeadquarter)) {
- format(szMiscArray, sizeof(szMiscArray), "%s (HQ)", arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName]);
- }
- else if(Bit_State(arrTurfWarsBits[iTurfID], tw_bShutdown)) {
- PlayerTextDrawColor(p, TW_PTextDraws[p][0], 0xDDDDDD88);
- format(szMiscArray, sizeof(szMiscArray), "%s (S)", arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName]);
- }
- else strins(szMiscArray, arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName], 0, sizeof(szMiscArray));
- PlayerTextDrawSetString(p, TW_PTextDraws[p][0], szMiscArray);
- }
- format(szMiscArray, sizeof(szMiscArray), "%s (ID %d)", gSAZones[iTurfID][SAZONE_NAME], iTurfID);
- PlayerTextDrawSetString(p, TW_PTextDraws[p][2], szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "%d", arrTurfWars[iTurfID][tw_iHealth]);
- PlayerTextDrawSetString(p, TW_PTextDraws[p][1], szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "%d", arrTurfWars[iTurfID][tw_iLevel]);
- PlayerTextDrawSetString(p, TW_PTextDraws[p][4], szMiscArray);
- PlayerTextDrawHide(p, TW_PTextDraws[p][0]);
- PlayerTextDrawShow(p, TW_PTextDraws[p][0]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][1]);
- PlayerTextDrawShow(p, TW_PTextDraws[p][1]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][2]);
- PlayerTextDrawShow(p, TW_PTextDraws[p][2]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][3]);
- PlayerTextDrawShow(p, TW_PTextDraws[p][3]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][4]);
- PlayerTextDrawShow(p, TW_PTextDraws[p][4]);
- PlayerTextDrawHide(p, TW_PTextDraws[p][5]);
- PlayerTextDrawShow(p, TW_PTextDraws[p][5]);
- TextDrawShowForPlayer(p, TW_TextDraws[3]);
- TextDrawShowForPlayer(p, TW_TextDraws[4]);
- }
- }
- else {
- if(!GetPVarType(playerid, "TInfo")) return 1;
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bDisabled)) {
- TextDrawHideForPlayer(playerid, TW_TextDraws[3]);
- TextDrawHideForPlayer(playerid, TW_TextDraws[4]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][1]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][2]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][3]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][4]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][5]);
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][0], 0xEEEEEE88);
- format(szMiscArray, sizeof(szMiscArray), "Disabled (ID %d)", iTurfID);
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][0], szMiscArray);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][0]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][0]);
- return 1;
- }
- // if(Bit_State(arrTurfWarsBits[iTurfID], tw_bVulnerable)) {
- if(GetGVarType("TW_Capturer", iTurfID)) {
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][3], "hud:radar_enemyAttack");
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][5], "hud:radar_Flag");
- }
- else if(arrTurfWars[iTurfID][tw_bVulnerable] == true) {
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][3], "hud:radar_enemyAttack");
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][5], "hud:radar_enemyAttack");
- }
- else {
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][3], "hud:radar_Flag");
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][5], "hud:radar_Flag");
- }
- if(arrTurfWars[iTurfID][tw_iGroupID] == INVALID_GROUP_ID) {
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][0], 0xEEEEEE88);
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][0], "Neutral");
- }
- else {
- PlayerTextDrawColor(playerid, TW_PTextDraws[playerid][0], arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_hDutyColour] * 256 + 200);
- if(Bit_State(arrTurfWarsBits[iTurfID], tw_bHeadquarter)) {
- format(szMiscArray, sizeof(szMiscArray), "%s (HQ)", arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName]);
- }
- else strins(szMiscArray, arrGroupData[arrTurfWars[iTurfID][tw_iGroupID]][g_szGroupName], 0, sizeof(szMiscArray));
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][0], szMiscArray);
- }
- format(szMiscArray, sizeof(szMiscArray), "%s (ID %d)", gSAZones[iTurfID][SAZONE_NAME], iTurfID);
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][2], szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "%d", arrTurfWars[iTurfID][tw_iHealth]);
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][1], szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "%d", arrTurfWars[iTurfID][tw_iLevel]);
- PlayerTextDrawSetString(playerid, TW_PTextDraws[playerid][4], szMiscArray);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][0]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][0]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][1]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][1]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][2]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][2]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][3]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][3]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][4]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][4]);
- PlayerTextDrawHide(playerid, TW_PTextDraws[playerid][5]);
- PlayerTextDrawShow(playerid, TW_PTextDraws[playerid][5]);
- TextDrawShowForPlayer(playerid, TW_TextDraws[3]);
- TextDrawShowForPlayer(playerid, TW_TextDraws[4]);
- }
- return 1;
- }
|