/***************************************** * WebsiteDisplay Filterscript By Cueball* *****************************************/ /*Aided By Alex Cole (Y_Less)*/ new Menu:WD; new Menu:Minutes; new Menu:Colours; #define FILTERSCRIPT //#define YSI_NO_TEXT //#define YSI_NO_COMMANDS //#define YSI_NO_SYSTEM #define YSI_NO_TRACKING #define YSI_NO_CALLBACKS #define YSI_NO_MASTER #define YSI_NO_CLASSES #define YSI_NO_PICKUPS //#define YSI_NO_STANDARD //#define YSI_NO_USERS #define YSI_NO_MODULES #define YSI_NO_OBJECTS #define YSI_NO_RACES #define YSI_NO_CHECKPOINTS #define YSI_NO_AREAS //#define YSI_NO_GROUPS #define YSI_NO_PROPERTIES #define YSI_NO_ZONES #define YSI_VERSION 2 #include #define COLOUR_RED (0xFF0000AA) #define COLOUR_GREEN (0x00FF00AA) #define COLOUR_BLUE (0x0000FFAA) #define COLOUR_BLACK (0x000000AA) #define COLOUR_GREY (0xAFAFAFAA) #define COLOUR_YELLOW (0xFFFF00AA) #define COLOUR_WHITE (0xFFFFFFAA) #define COLOUR_LBLUE (0x33CCFFAA) #define COLOUR_ORANGE (0xFF9900AA) #define COLOUR_TYELLOW (0xF0E68CAA) #define COLOUR_PBLUE (0x3F63CCAA) #define MIN_MINUTES 1 #define MAX_MINUTES 60 new gTimerMinutes = 1, gTimerHandle, gColour = 0xFF0000AA, gWebsite[32] = ""; #pragma unused Group_GetGroupMembers, Langs_AddFile, Langs_AddLanguage, Itter_OnPlayerDisconnect, Script_OnGameModeInit, Script_OnPlayerRequestSpawnEx, gTimerHandle forward settings_timer(identifier[], text[]); public settings_timer(identifier[], text[]) { if (!strcmp(identifier, "minutes", true)) { gTimerMinutes = strval(text); } else if (!strcmp(identifier, "website", true)) { strcpy(gWebsite, text, sizeof (gWebsite)); } else if (!strcmp(identifier, "color", true) || !strcmp(identifier, "colour", true)) { if (!strcmp(text, "red", true)) gColour = COLOUR_RED ; if (!strcmp(text, "green", true)) gColour = COLOUR_GREEN ; if (!strcmp(text, "blue", true)) gColour = COLOUR_BLUE ; if (!strcmp(text, "black", true)) gColour = COLOUR_BLACK ; if (!strcmp(text, "grey", true)) gColour = COLOUR_GREY ; if (!strcmp(text, "yellow", true)) gColour = COLOUR_YELLOW ; if (!strcmp(text, "white", true)) gColour = COLOUR_WHITE ; if (!strcmp(text, "lblue", true)) gColour = COLOUR_LBLUE ; if (!strcmp(text, "orange", true)) gColour = COLOUR_ORANGE ; if (!strcmp(text, "tyellow", true)) gColour = COLOUR_TYELLOW ; if (!strcmp(text, "pblue", true)) gColour = COLOUR_PBLUE ; } } forward display_loop(); public display_loop() { if (gWebsite[0]) SendClientMessageToAll(gColour, gWebsite); } public ycmd_wd(playerid, params[], help); // /wd public ycmd_wd(playerid, params[], help) { // if he's NOT an admin if(IsPlayerAdmin(playerid) == 0) { // tell him he's not an admin SendClientMessage(playerid, COLOUR_RED, "You are not admin..."); // exit ! return 1; } // now, only admins can reach this point (non-admins have exited already) // before showing any menu, let's check if there's any params // if he typed /wd website (something) if (strcmp ( params, "website ", true, 8 ) == 0) { // extract the address from 'params' new address[200]; format( address , 200 , "The website address has been changed to: %s" , params[9] ); /******** WRITING TO THE FILE :) ********************/ // write to the file new INI:settingFile = INI_Open("WebsiteDisplay_Configuration.ini"); INI_SetTag(settingFile, "timer"); INI_WriteString(settingFile, "minutes", numstr(gTimerMinutes)); INI_WriteString(settingFile, "website", address); INI_WriteString(settingFile, "colour", numstr(gColour)); INI_Close(settingFile); /******** WRITING TO THE FILE DONE! ********************/ // also, set the new address to the memory setting strcpy(gWebsite, address, sizeof (gWebsite)); // then ... lets show it to the admin in red SendClientMessage(playerid, COLOUR_RED, address); // we're done, exit ! return 1; } // now, if he didn't use /wd website, let's show him the menu if(IsValidMenu(WD)) //Double Check the menu has been created to avoid Crash. { TogglePlayerControllable(playerid, 0); ShowMenuForPlayer(WD, playerid); //Show the Menu to the player } // now, just exit peacefully :) return 1; } Script_OnFilterScriptInit() { print("\n**********************************************"); print("* WebsiteDisplay Filterscript by ~Cueball~ *"); print("**********************************************\n"); INI_ParseFile("WebsiteDisplay_Configuration.ini", "settings_%s"); gTimerHandle = SetTimer("display_loop", gTimerMinutes * 60000, 1); ycmd(kill); ycmd("mycommand"); Langs_AddLanguage("EN", "English"); Langs_AddFile("core", "YSI"); WD = CreateMenu("~y~WebsiteDisplay ~w~MAIN",1,125,150,330); if(IsValidMenu(WD)) { SetMenuColumnHeader(WD, 0, "Select A Variable To Change:"); AddMenuItem(WD,0,"Minutes"); AddMenuItem(WD,0,"Website"); AddMenuItem(WD,0,"Colour"); } Minutes = CreateMenu("~p~WebsiteDisplay ~w~Minutes",1,125,150,330); if(IsValidMenu(Minutes)) { SetMenuColumnHeader(Minutes, 0, "Select The Amount Of Minutes:"); AddMenuItem(Minutes, 0, "1"); AddMenuItem(Minutes, 0, "2"); AddMenuItem(Minutes, 0, "3"); AddMenuItem(Minutes, 0, "4"); AddMenuItem(Minutes, 0, "5"); AddMenuItem(Minutes, 0, "10"); AddMenuItem(Minutes, 0, "15"); AddMenuItem(Minutes, 0, "20"); AddMenuItem(Minutes, 0, "30"); AddMenuItem(Minutes, 0, "40"); AddMenuItem(Minutes, 0, "50"); AddMenuItem(Minutes, 0, "60"); } Colours = CreateMenu("~p~WebsiteDisplay ~w~Colours",1,125,150,330); if(IsValidMenu(Colours)) { SetMenuColumnHeader(Colours, 0, "Choose A Colour:"); AddMenuItem(Colours, 0, "Red"); AddMenuItem(Colours, 0, "Green"); AddMenuItem(Colours, 0, "Blue"); AddMenuItem(Colours, 0, "Black"); AddMenuItem(Colours, 0, "Grey"); AddMenuItem(Colours, 0, "Yellow"); AddMenuItem(Colours, 0, "White"); AddMenuItem(Colours, 0, "LBlue (Light Blue)"); AddMenuItem(Colours, 0, "Orange"); AddMenuItem(Colours, 0, "TYellow (Taxi Yellow)"); AddMenuItem(Colours, 0, "PBlue (Police Blue)"); } Command_Command(); // Must be called first. ycmd(wd); ycmd(wd website %); // Commands go here. Command_Parse(); // Must be called last. return 1; } Script_OnFilterScriptExit() { return 1; } Script_OnGameModeInit() { return 1; } Script_OnGameModeExit() { return 1; } Script_OnPlayerRequestClass(playerid, classid) { return 1; } Script_OnPlayerRequestSpawnEx(playerid, classid) { #pragma unused playerid, classid return 1; } Script_OnPlayerConnect(playerid) { return 1; } Script_OnPlayerDisconnect(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[]) { return 0; //return Command_Process(playerid, cmdtext); // Must be called here.return 0; } 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) { return 1; } Script_OnPlayerLeaveCheckpointEx(playerid, cpid) { return 1; } Script_OnPlayerEnterRaceCheckpoint(playerid) { return 1; } Script_OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } Script_OnRconCommand(cmd[]) { return 1; } Script_OnObjectMoved(objectid) { return 1; } Script_OnPlayerObjectMoved(playerid, objectid) { return 1; } Script_OnPlayerPickUpPickup(playerid, pickupid) { return 1; } Script_OnPlayerSelectedMenuRow(playerid, row) { TogglePlayerControllable(playerid, 0); new Menu:currentMenu = GetPlayerMenu(playerid); if (currentMenu == WD) { TogglePlayerControllable(playerid, 0); switch(row) { case 0: { TogglePlayerControllable(playerid, 0); ShowMenuForPlayer(Minutes, playerid); } case 1: { TogglePlayerControllable(playerid, 1); SendClientMessage(playerid, COLOUR_RED, "Change using: /wd website (address)"); SendClientMessage(playerid, COLOUR_RED, "Where (address) is the website address that will be displayed."); } case 2: { TogglePlayerControllable(playerid, 0); ShowMenuForPlayer(Colours, playerid); } } } if (currentMenu == Minutes) { TogglePlayerControllable(playerid, 0); switch(row) { case 0: { TogglePlayerControllable(playerid, 1); } case 1: {TogglePlayerControllable(playerid, 1);} case 2: {TogglePlayerControllable(playerid, 1);} case 3: {TogglePlayerControllable(playerid, 1);} case 4: {TogglePlayerControllable(playerid, 1);} case 5: {TogglePlayerControllable(playerid, 1);} case 6: {TogglePlayerControllable(playerid, 1);} case 7: {TogglePlayerControllable(playerid, 1);} case 8: {TogglePlayerControllable(playerid, 1);} case 9: {TogglePlayerControllable(playerid, 1);} case 10: {TogglePlayerControllable(playerid, 1);} case 11: {TogglePlayerControllable(playerid, 1);} case 12: { TogglePlayerControllable(playerid, 1); } } } if (currentMenu == Colours) { TogglePlayerControllable(playerid, 0); switch(row) { case 0: {TogglePlayerControllable(playerid, 1);} case 1: {TogglePlayerControllable(playerid, 1);} case 2: {TogglePlayerControllable(playerid, 1);} case 3: {TogglePlayerControllable(playerid, 1);} case 4: {TogglePlayerControllable(playerid, 1);} case 5: {TogglePlayerControllable(playerid, 1);} case 6: {TogglePlayerControllable(playerid, 1);} case 7: {TogglePlayerControllable(playerid, 1);} case 8: {TogglePlayerControllable(playerid, 1);} case 9: {TogglePlayerControllable(playerid, 1);} case 10: {TogglePlayerControllable(playerid, 1);} case 11: {TogglePlayerControllable(playerid, 1);} } } return 1; } Script_OnPlayerExitedMenu(playerid) { TogglePlayerControllable(playerid, 1); 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) { return 1; } Script_OnPlayerLeaveArea(playerid, areaid) { return 1; } Script_OnRaceEnd(raceid) { return 1; } Script_OnPlayerExitRace(playerid, raceid) { return 1; } Script_OnPlayerFinishRace(playerid, raceid, position, prize, time) { return 1; }