rendered paste bodymain()
{
print("\n----------------------------------");
print(" Grand Canyon Freefall and Deatchmatch Areas By FireWhacko(2007) ");
print("----------------------------------\n");
}
#include <a_samp>
#include <dini>
#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<length; n++)
{
s1 = (s1 + buf[n]) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
public OnPlayerConnect(playerid)
{
new pname[24], File:ftw=fopen("names.txt", io_append);
new PlayerName[30], str[256];
GetPlayerName(playerid, PlayerName, 30);
new string[30];
format(string, 30, "%s\r\n", pname); // formatting the string with the escape codes
fwrite(ftw, string);
fwrite(ftw, pname);
fclose(ftw);
format(str, 256, "Welcome %s to Grand Canyon Freefall and Deathmatch Areas!", PlayerName);
SendClientMessage(playerid, 0xFF9900AA, str);
return 1;
}
public OnPlayerDisconnect(playerid) {
player_level[playerid] = -1;
return 1;
}
public OnFilterScriptInit() {
print(" "); // Adding an empty line
print("My Script");
print(" Testing "); // Adding an empty line
}
public OnPlayerRequestClass(playerid, classid)
{
printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnGameModeExit()
{
print("GameModeExit()");
return 1;
}
public OnPlayerConnect(playerid)
{
printf("OnPlayerConnect(%d)", playerid);
return 1;
}
public OnPlayerDisconnect(playerid)
{
printf("OnPlayerDisconnect(%d)", playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
printf("OnPlayerSpawn(%d)", playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);
return 1;
}
public OnVehicleSpawn(vehicleid)
{
printf("OnVehicleSpawn(%d)", vehicleid);
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
printf("OnVehicleDeath(%d, %d)", vehicleid, killerid);
return 1;
}
public OnPlayerText(playerid)
{
printf("OnPlayerText(%d)", playerid);
return 1;
}
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
printf("OnPlayerStateChange(%d, %d, %d)", playerid, newstate, oldstate);
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
printf("OnPlayerEnterCheckpoint(%d)", playerid);
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
printf("OnPlayerLeaveCheckpoint(%d)", playerid);
return 1;
}