Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ==============================
- * DWAR v1.1 *
- * Creater:Devil *
- * Category: Team Death Match *
- * Copyright(C) 2011-2012 *
- ===============================
- ##################
- ## Bugs ##
- ##################
- *v1.0
- -Class Selection bug.
- ###################
- ## ChangeLog ##
- ###################
- *1.1
- - Added Admin Commands: /acmd, /setadmin, /kick, /ban.
- -Added maximum admin level to 5.
- -Class Selection bug fixed.
- *1.0
- - GameMode Release.
- - Added 4 gangs:Grove Street, Ballas, Vagos, Azetecas.
- - Added few cmds.
- - Added Login/Register System.
- - Added score system.
- - Added Player Data Saving System.
- ------------------------------------------------------
- ------------------------------------------------------'
- */
- #include <a_samp>
- #include <YSI\y_ini>
- #include <zcmd>
- #include <sscanf2>
- native WP_Hash(buffer[],len,const str[]);
- //==== SERVER FILES========
- #define SERVER_USER_FILES "/Users/%s.ini"
- #define LOGIN 5
- #define REGISTER 6
- #define Version "1.0"
- //==========================
- //==== COLOURS=============
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xA10000AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_GREY 0xAFAFAFAA
- #define LIME 0x88AA62FF
- #define WHITE 0xFFFFFFAA
- #define RULE 0xFBDF89AA
- #define ORANGE 0xDB881AAA
- #define GOLD 0xB8860BAA
- #define GREY 0xAFAFAFAA
- #define GREEN 0x9FFF00FF
- #define RED 0xA10000AA
- #define YELLOW 0xFFFF00AA
- #define WHITE 0xFFFFFFAA
- #define BLUE 0x0000BBAA
- //============================
- //===== GANGS =============
- #define TEAM_GROVE 1
- #define TEAM_BALLAS 2
- #define TEAM_VAGOS 3
- #define TEAM_AZETECAS 4
- //========================
- new TeamSkins[4][3] = {
- {105, 106, 107},//Grove Street
- {102,104,103},//Ballas
- {108,109,110},//VAGOS
- {114,115,116}//Azetecas
- };
- enum PInfo
- {
- alevel,
- vlevel,
- kills,
- deaths,
- money,
- score,
- pass
- };
- new PlayerInfo[MAX_PLAYERS][PInfo];
- //===== SHOPS =============
- #define WEAPONS
- //=========================
- main()
- {
- print("\n----------------------------------");
- print(" DWAR v1.1 by Devil[]");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("DWAR v1.1");
- //Grove Street
- AddPlayerClass(105, 2495.4626,-1687.1388,13.5157,359.6642, 4, 1, 23, 85, 27, 100);
- AddPlayerClass(106, 2495.4626,-1687.1388,13.5157,359.6642, 4, 1, 24, 85, 25, 100);
- AddPlayerClass(107, 2495.4626,-1687.1388,13.5157,359.6642, 4, 1, 24, 85, 29, 100);
- AddStaticVehicle(412,2498.3982,-1683.6530,13.4790,287.8601,16,1); // grocar1 Voodo
- AddStaticVehicle(451,2510.1709,-1670.5969,13.5032,346.5737,16,1); // grocar2 Turismo
- AddStaticVehicle(466,2472.7952,-1697.1896,13.6087,180.4140,16,1); // gro3 Glendale
- AddStaticVehicle(492,2443.0625,-1644.9572,13.5635,180.5405,16,1); // grocar4 GreenWood
- AddStaticVehicle(536,2469.0442,-1653.4147,13.4926,267.8338,16,1); // grocar5 Blade
- AddStaticVehicle(560,2485.8743,-1653.5474,13.4882,267.6175,16,1); // grovcar6 Sultan
- //Ballas
- AddPlayerClass(102, 1934.0304,-1122.1691,26.3168,180.4718, 4, 1, 23, 85, 27, 100);
- AddPlayerClass(103, 1934.0304,-1122.1691,26.3168,180.4718, 4, 1, 24, 85, 25, 100);
- AddPlayerClass(104, 1934.0304,-1122.1691,26.3168,180.4718, 4, 1, 24, 85, 29, 100);
- AddStaticVehicle(477,1938.7206,-1130.7858,25.4542,271.2517,148,1); // balcar1 ZR-350
- AddStaticVehicle(517,1947.2368,-1130.7203,25.6692,270.9459,148,1); // balcar2 Majestic
- AddStaticVehicle(518,1910.9399,-1119.3951,25.8749,181.8393,148,1); // balcar3 Buccaner
- AddStaticVehicle(536,1931.8234,-1140.6108,25.2823,273.1115,148,1); // balcar5 Blade
- AddStaticVehicle(560,1946.8193,-1140.5719,25.6580,269.6075,148,1); // baclcar6 Sultan
- //Vagos
- AddPlayerClass(108, 2230.7905,-1159.8066,25.8240,91.0087, 4, 1, 24, 85, 29, 100);
- AddPlayerClass(109, 2230.7905,-1159.8066,25.8240,91.0087, 4, 1, 24, 85, 25, 100);
- AddPlayerClass(104, 2230.7905,-1159.8066,25.8240,91.0087, 4, 1, 24, 85, 29, 100);
- AddStaticVehicle(467,2227.9126,-1170.1207,25.8273,272.5895,6,1); // vagcar 1 Ocenic
- AddStaticVehicle(474,2228.3176,-1173.4786,25.8213,272.6245,6,1); // vagcar2 Herms
- AddStaticVehicle(536,2228.5515,-1177.1879,25.8190,273.8722,6,1); // vag car3 Blade
- AddStaticVehicle(541,2227.1460,-1166.1656,25.8336,276.1591,6,1); // vagcar 4 Blade
- AddStaticVehicle(560,2217.3081,-1170.3677,25.8189,267.4512,6,1); // vagcar5 Sultan
- AddStaticVehicle(562,2216.3352,-1166.5425,25.8190,266.1354,6,1); // vagcar 6 Elegly
- //Azerecas
- AddPlayerClass(114, 1804.1315,-2124.2673,13.9424,1.8982, 4, 1, 24, 85, 29, 100);
- AddPlayerClass(115, 1804.1315,-2124.2673,13.9424,1.8982, 4, 1, 24, 85, 25, 100);
- AddPlayerClass(116, 1804.1315,-2124.2673,13.9424,1.8982, 4, 1, 24, 85, 29, 100);
- AddStaticVehicle(475,1793.3677,-2128.6050,13.6392,358.4607,147,1); // azecar1 Sabre
- AddStaticVehicle(506,1799.2717,-2107.4038,13.5457,270.7622,147,1); // azecar2 Super GT
- AddStaticVehicle(534,1771.8998,-2125.1848,13.6391,0.2481,147,1); // azecar3 Remington
- AddStaticVehicle(533,1773.1569,-2099.0420,13.6391,2.5929,147,1); // azecar4 Feltzer
- AddStaticVehicle(536,1780.0587,-2107.5459,13.5506,268.9003,147,1); // azecar5 Blade
- AddStaticVehicle(560,1761.8180,-2117.5664,13.5558,269.8384,147,1); // azcar6 Sultan
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- switch(classid)
- {
- case 0..2:
- {
- SetPlayerTeam(playerid, TEAM_GROVE);
- SetPlayerSkin(playerid, TeamSkins[0][classid]);
- GameTextForPlayer(playerid, "Grove", 1000, 3);
- SetPlayerPos(playerid, 2495.4626,-1687.1388,13.5157);
- SetPlayerCameraPos(playerid, 2495.3899,-1684.0034,13.4492);
- SetPlayerFacingAngle(playerid, 87.7342);
- SetPlayerCameraLookAt(playerid, 2495.4626,-1687.1388,13.5157);
- }
- case 3..5:
- {
- SetPlayerTeam(playerid, TEAM_BALLAS);
- SetPlayerSkin(playerid, TeamSkins[1][classid-3]);
- GameTextForPlayer(playerid, "Ballas", 1000, 3);
- SetPlayerPos(playerid, 1934.0304,-1122.1691,26.3168);
- SetPlayerCameraPos(playerid, 1934.1154,-1124.7775,25.6159);
- SetPlayerFacingAngle(playerid, 87.7342);
- SetPlayerCameraLookAt(playerid, 1934.0304,-1122.1691,26.3168);
- }
- case 6..7:
- {
- SetPlayerTeam(playerid, TEAM_VAGOS);
- SetPlayerSkin(playerid, TeamSkins[2][classid-3]);
- GameTextForPlayer(playerid, "Vagos", 1000, 3);
- SetPlayerPos(playerid, 2230.7905,-1159.8066,25.8240);
- SetPlayerCameraPos(playerid, 2229.9287,-1159.8279,25.8112);
- SetPlayerFacingAngle(playerid, 87.7342);
- SetPlayerCameraLookAt(playerid, 2230.7905,-1159.8066,25.8240);
- }
- case 8..10:
- {
- SetPlayerTeam(playerid, TEAM_AZETECAS);
- SetPlayerSkin(playerid, TeamSkins[3][classid-3]);
- GameTextForPlayer(playerid, "Azetecas", 1000, 3);
- SetPlayerPos(playerid, 1804.1315,-2124.2673,13.9424);
- SetPlayerCameraPos(playerid, 1804.0824,-2122.7837,13.5543);
- SetPlayerFacingAngle(playerid, 87.7342);
- SetPlayerCameraLookAt(playerid, 1804.1315,-2124.2673,13.9424);
- }
- }
- return 1;
- }
- forward loadaccount_user(playerid, name[], value[]);
- public loadaccount_user(playerid, name[], value[])
- {
- INI_Int("AdminLevel", PlayerInfo[playerid][alevel]);
- INI_Int("VipLevel", PlayerInfo[playerid][vlevel]);
- INI_Int("Score", PlayerInfo[playerid][score]);
- INI_Int("Kills", PlayerInfo[playerid][kills]);
- INI_Int("Deaths", PlayerInfo[playerid][deaths]);
- INI_Int("Cash", PlayerInfo[playerid][money]);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid, BLUE, "=========== DWAR v1.1 ===========");
- SendClientMessage(playerid, BLUE, " Welcome DWar TDM!");
- SendClientMessage(playerid, BLUE, "Script programmed by Devil[]");
- SendClientMessage(playerid, BLUE, "ENJOY");
- SendClientMessage(playerid, BLUE, "=================================");
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- if(fexist(UserPath(playerid)))
- {
- INI_ParseFile(UserPath(playerid), "loadaccount_%s", .bExtra = true, .extra = playerid);
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login System", "Welcome back to DWAR v1.0.\nThe account is registered.\n Put your password to spawn.", "Login", "Quit");
- }
- else
- {
- ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_INPUT, "Register System", "Welcome to DWAR v1.0.\nThe account is no registered.\n Register by your pass here.", "Register", "Quit");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(fexist(UserPath(playerid)))
- {
- new INI:file = INI_Open(UserPath(playerid));
- INI_SetTag(file, "Player Data");
- INI_WriteInt(file, "Admin Level", PlayerInfo[playerid][alevel]);
- INI_WriteInt(file, "Vip Level", PlayerInfo[playerid][vlevel]);
- INI_WriteInt(file, "Score", PlayerInfo[playerid][score]);
- INI_WriteInt(file, "Money", PlayerInfo[playerid][money]);
- INI_WriteInt(file, "Kills", PlayerInfo[playerid][kills]);
- INI_WriteInt(file, "Deaths", PlayerInfo[playerid][deaths]);
- INI_Close(file);
- return 1;
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- GivePlayerMoney(playerid, 5000);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- PlayerInfo[playerid][deaths]++;
- if(IsPlayerConnected(killerid) && killerid != playerid)
- PlayerInfo[killerid][kills]++;
- GivePlayerMoney(killerid, 500);
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(!success)
- {
- SendClientMessage(playerid, COLOR_RED, "[SYSTEM]:Invalid Command!");
- }
- return 1;
- }
- CMD:help(playerid, params[])
- {
- SendClientMessage(playerid, GREEN, "========= DWAR help ==========");
- SendClientMessage(playerid, GREEN, "You are playing DWAR Server by Devil[]");
- SendClientMessage(playerid, GREEN, "Use /cmds for commands");
- SendClientMessage(playerid, GREEN, "=================================");
- return 1;
- }
- CMD:cmds(playerid, params[])
- {
- SendClientMessage(playerid, RED, "============ DWAR COMMANDS ==============");
- SendClientMessage(playerid, RED, " /help, /heal, /armour, /kill");
- SendClientMessage(playerid, RED, "=========================================");
- return 1;
- }
- CMD:heal(playerid, params[])
- {
- new name[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "[SYSTEM]:You have been healed.", name);
- GivePlayerMoney(playerid, -100);
- SetPlayerHealth(playerid, 100);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- return 1;
- }
- CMD:armour(playerid, params[])
- {
- new name[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "[SYSTEM]:You gain armour.", name);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- GivePlayerMoney(playerid, -100);
- SetPlayerArmour(playerid, 100);
- }
- CMD:kill(playerid, params[])
- {
- new name[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "[SYSTEM]:%s has commited a sucide.", name);
- SendClientMessage(playerid, COLOR_RED, string);
- SetPlayerHealth(playerid, 0);
- return 1;
- }
- //===== ADMIN SYSTEM ===============
- CMD:acmd(playerid, params[])
- {
- if(PlayerInfo[playerid][alevel] < 1) return SendClientMessage(playerid, COLOR_RED, "[SYSTEM]:You need to be an admin!");
- SendClientMessage(playerid, GREEN, "============||Admin Commands||==========");
- SendClientMessage(playerid, GREEN, " /setadmin, /kick, /ban");
- SendClientMessage(playerid, GREEN, "========================================");
- return 1;
- }
- CMD:setadmin(playerid, params[])
- {
- if(IsAdmin(playerid, 5))
- {
- new targetid, name[MAX_PLAYER_NAME], level;
- if(sscanf(params, "ui", targetid, level)) return SendClientMessage(playerid, RED, "[USAGE]:/setadmin [playerid][level]");
- if(level > 5) return SendClientMessage(playerid, RED, "[ERROR]:Maximum level is 5!");
- PlayerInfo[playerid][alevel] = level;
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- GetPlayerName(playerid, name, sizeof(name));
- new string[128];
- format(string, sizeof(string), "[SYSTEM]:You have set %s level to %d.", playername, level);
- SendClientMessage(playerid, COLOR_GREEN, string);
- format(string, sizeof(string), "[SYSTEM]:Admin %s has set your level as %d admin.", name, level);
- SendClientMessage(targetid, COLOR_GREEN, string);
- }
- else return SendClientMessage(playerid, RED, "[SYSTEM]:You are not an admin to use this command.");
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- if(PlayerInfo[playerid][alevel] < 1) return SendClientMessage(playerid,COLOR_RED,".:: You are not authorized to use this command ::.");
- new targetid, reason[64], string[128];
- if(sscanf(params, "uz", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "[USAGE]:/kick <playerid> <reason>");
- if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Player not connected!");
- {
- new pTargetName[24], pName[24];
- GetPlayerName(playerid,pName,24);
- GetPlayerName(targetid,pTargetName,24);
- format(string, sizeof(string), "[SERVER]:Admin %s has kicked %s: %s", pName, pTargetName, reason);
- SendClientMessageToAll(COLOR_RED,string);
- Kick(targetid);
- }
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- if(PlayerInfo[playerid][alevel] < 1) return SendClientMessage(playerid, COLOR_RED, "[SYSTEM]:You need to be an admin!");
- new targetid, reason[46], string[128];
- if(sscanf(params, "uz", targetid, reason)) return SendClientMessage(playerid, COLOR_RED, "[USAGE]: /ban <playerid> <reason>");
- if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_YELLOW, "[SYSTEM]:Invalid playerid!");
- {
- new targetname[24], name[24];
- GetPlayerName(playerid, name, 24);
- GetPlayerName(targetid, targetname, 24);
- format(string, sizeof(string), "[SYSTEM]:Admin %s has ban $s. Reason:%s.", name, targetname, reason);
- SendClientMessageToAll(COLOR_RED, string);
- format(string, sizeof(string), "[SYSTEM]:You have been banned by admin %s.Reason:%s.", name, reason);
- SendClientMessage(targetid, COLOR_RED, string);
- Ban(targetid);
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == REGISTER)
- {
- if(!response) return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext))
- {
- ShowPlayerDialog(playerid, REGISTER, DIALOG_STYLE_INPUT, "Register System", "Welcome to DWAR v1.0.\nThe account is no registered.\n Register by your pass here.", "Register", "Quit");
- return 1;
- }
- new hashpass[129];
- WP_Hash(hashpass, sizeof(hashpass), inputtext);
- new INI:file = INI_Open(UserPath(playerid));
- INI_SetTag(file, "Player's Data");
- INI_WriteString(file, "Pass", hashpass);
- INI_WriteInt(file, "Admin Level", 0);
- INI_WriteInt(file, "Vip Level", 0);
- INI_WriteInt(file, "Score", 0);
- INI_WriteInt(file, "Money", 5000);
- INI_WriteInt(file, "Kills", 0);
- INI_WriteInt(file, "Deaths", 0);
- INI_Close(file);
- SendClientMessage(playerid, COLOR_YELLOW, "[SYSTEM]:You have been successfully registered.");
- } return 1;
- }
- if(dialogid == LOGIN)
- {
- if(!response) return Kick(playerid);
- if(response)
- {
- new hashpass[129];
- WP_Hash(hashpass, sizeof(hashpass), inputtext);
- if(!strcmp(hashpass, PlayerInfo[playerid][pass]))
- {
- new name[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "[SYSTEM]:Welcome back %s.", name);
- INI_ParseFile(UserPath(playerid), "loadaccount_%s", .bExtra = true, .extra = playerid);
- SetPlayerScore(playerid, PlayerInfo[playerid][score]);
- GivePlayerMoney(playerid, PlayerInfo[playerid][money]);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- }
- else
- {
- ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login System", "Welcome back to DWAR v1.0.\nThe account is registered.\n Put your password to spawn.", "Login", "Quit");
- return 1;
- }
- }
- }
- return 1;
- }
- stock IsAdmin(playerid, level)
- {
- if(PlayerInfo[playerid][alevel] >= level || IsPlayerAdmin(playerid)) return true;
- else return false;
- }
- stock UserPath(playerid)
- {
- new name[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), SERVER_USER_FILES, name);
- return string;
- }
- stock IsVip(playerid, level)
- {
- if(PlayerInfo[playerid][vlevel] >=level || IsPlayerVip(playerid)) return true;
- else return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement