main() { print("\n----------------------------------"); print(" Grand Canyon Freefall and Deatchmatch Areas By FireWhacko(2007) "); print("----------------------------------\n"); } #include #include #if !defined floatstr native Float:floatstr(const string[]); #endif #define SLOTS 8 new player_level[SLOTS] = {-1, ...}; // Saves the player's level - the default // one is -1 for not connected, 0 for not logged in and others for logged in new player_names[SLOTS][MAX_PLAYER_NAME]; // Saves the player's names #define USERFILE "users.txt" #define dcmd(%1,%2,%3) if ((strcmp(%3, "/%1", true, %2+1) == 0)&&(((%3[%2+1]==0)&&(dcmd_%1(playerid,"")))||((%3[%2+1]==32)&&(dcmd_%1(playerid,%3[%2+2]))))) return 1 public OnGameModeInit() { print("GameModeInit()"); SetGameModeText("Blank Script"); AddPlayerClass(290,44.6351,2239.2314,125.8093,199.1324,0,0,0,0,0,0); // rosie spawn AddPlayerClass(290,11.5519,2241.0898,125.5254,164.6654,0,0,0,0,0,0); // rosie spawn2 AddPlayerClass(291,25.7184,2241.0459,126.6797,194.1190,0,0,0,0,0,0); // kent spawn AddPlayerClass(291,31.9292,2247.5791,126.6797,185.9723,0,0,0,0,0,0); // kent spawn2 AddPlayerClass(292,43.1684,2222.5337,123.7333,225.1393,0,0,0,0,0,0); // cesar spawn AddPlayerClass(292,53.8307,2248.6443,124.9183,325.3835,0,0,0,0,0,0); // cesar spawn2 AddPlayerClass(294,50.3343,2217.3435,123.0984,164.6420,0,0,0,0,0,0); // woozie spawn AddPlayerClass(294,15.0398,2213.0774,122.8999,41.5008,0,0,0,0,0,0); // woozie spawn2 AddPlayerClass(295,11.4153,2235.8784,125.4942,347.9203,0,0,0,0,0,0); // toreno spawn AddPlayerClass(295,40.6946,2244.2988,126.1969,195.9522,0,0,0,0,0,0); // toreno spawn 2 AddPlayerClass(2,64.8539,2227.6211,122.7690,51.8647,0,0,0,0,0,0); // maccer spawn AddPlayerClass(2,7.4593,2246.2927,124.3700,341.6774,0,0,0,0,0,0); // maccer spawn2 AddPlayerClass(1,37.6465,2267.6855,123.1237,11.1310,0,0,0,0,0,0); // truth AddPlayerClass(1,44.6248,2228.3567,124.9609,173.4392,0,0,0,0,0,0); // truth2 AddPlayerClass(playerid,-250.3017,2350.4690,109.1811,71.0698,0,0,0,0,0,0); // Monster Mash Spawn AddPlayerClass(playerid,-256.0169,2348.1985,108.8958,82.3499,0,0,0,0,0,0); // Monster Mash Spawn 2 AddPlayerClass(playerid,-261.3938,2226.5432,110.3166,336.9282,0,0,0,0,0,0); // Monster Mash Spawn 3 AddPlayerClass(playerid,-272.7000,2169.8354,112.4923,176.1867,0,0,0,0,0,0); // Monster Mash Spawn 4 AddPlayerClass(playerid,-285.8475,2163.8411,112.9134,116.3395,0,0,0,0,0,0); // Monster Mash Spawn 5 AddStaticPickup(1242,2.0934,2250.0273,126.6797); // armor AddStaticPickup(1242,2.1150,2232.7209,126.6797); // armor2 AddStaticPickup(371,2,32.6592,2213.8811,122.5143,); // para AddStaticPickup(371,2,32.5931,2271.5896,122.7560,); // para2 AddStaticVehicle(444,-259.2962,2404.1743,109.5017,186.7411,32,42); // Monster Ram AddStaticVehicle(444,-230.5903,2393.6960,108.9767,149.8789,32,42); // Monster Ram2 AddStaticVehicle(444,-297.7449,2371.2891,112.1051,222.7360,32,42); // Monster Ram3 AddStaticVehicle(444,-304.1425,2342.9807,112.1234,284.0963,32,42); // Monster Ram4 AddStaticVehicle(444,-280.1971,2306.6062,109.7990,335.1256,32,42); // Monster Ram5 AddStaticVehicle(444,-297.8124,2152.8931,112.7524,278.7299,32,42); // Monster Ram6 AddStaticVehicle(444,-295.8636,2168.9463,113.0475,233.5214,32,42); // Monster Ram7 AddStaticVehicle(444,-288.6972,2142.1421,113.0746,356.7954,32,42); // Monster Ram8 AddStaticVehicle(444,-272.0978,2148.4932,111.6818,69.4169,32,42); // Monster Ram9 AddStaticVehicle(444,-264.1244,2166.8608,112.5320,84.0033,32,42); // Monster Ram10 return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext, "/me", true, 3)==0) { // 3 is the length of /me new str[256], pname[256]; GetPlayerName(playerid, pname, 256); format(str, 256, "%s says %s", pname, cmdtext[4]); SendClientMessageToAll(0xFFFF00AA, str); -------help------- { if(strcmp(cmdtext, "/help", true) == 0) { SendClientMessage(playerid, COLOR_GREEN,"Firewhacko's Gamemode - Created by "); SendClientMessage(playerid, COLOR_YELLOW,"Type /commands for a list of commands"); return 1; } -------rules-------- { if(strcmp(cmdtext, "/rules" true) == 0){ SendClientMessage(playerid, COLOR_YELLOW, "No cheating"); SendClientMessage(playerid, COLOR_YELLOW, "No Flaming"); SendClientMessage(playerid, COLOR_YELLOW, "No Spamming"); SendClientMessage(playerid, COLOR_YELLOW, "Remember: this is a non-clan server."); SendClientMessage(playerid, COLOR_YELLOW, "Everyone is welcome, except cheaters and hackers"); SendClientMessage(playerid, COLOR_YELLOW, "Go Ahead and Enjoy, I might add more maps. :)"); return 1; } -----------commands--------- { if(strcmp(cmdtext, "/commands" true) == 0){ SendClientMessage(playerid, COLOR_YELLOW, "/monstermash - Ram some monsters! return 1; } dcmd_login(playerid, params[]) { if(player_level[playerid] != 0) { // User is logged in SendClientMessage(playerid, 0xFFFFFFFF, "You are already logged in."); return 1; // We dont need to execute the rest of the function, do we? } else if(strlen(params) == 0) { // There is no password specified, only /login SendClientMessage(playerid, 0xFFFFFFFF, "Please use /login [password]"); return 1; } else if(!dini_Isset(USERFILE,player_names[playerid])) { // not registered SendClientMessage(playerid, 0xFFFFFFFF, "Your nick is not registered."); SendClientMessage(playerid, 0xFFFFFFFF, "Use /register [password] first."); return 1; } else if(adler32_hash(params) != dini_Int(USERFILE,player_names[playerid])) { // There's a password hash generated and compared to the one from the config file SendClientMessage(playerid, 0xFFFFFFFF, "Password mismatch."); return 1; } player_level[playerid] = 1; // Logged in successfully SendClientMessage(playerid, 0xFFFFFFFF, "You are now logged in. Have a nice day."); return 1; } adler32_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n