#include #include #include #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define COLOR_SYSTEM 0xEFEFF7AA new PLAYERLIST_authed[MAX_PLAYERS]; new Kills[MAX_PLAYERS]; new Deaths[MAX_PLAYERS]; new EXP[MAX_PLAYERS]; enum pLevel { Level = 1 } new gPlayerInfo[MAX_PLAYERS][pLevel]; main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } stock SystemMsg(playerid,msg[]) { if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) { SendClientMessage(playerid,COLOR_SYSTEM,msg); } return 1; } stock PlayerName(playerid) { new name[255]; GetPlayerName(playerid, name, 255); return name; } //-------------------------------REGISTER---------------------------------------- dcmd_register(playerid,params[]) { if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Already authed."); if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Account already exists, please use '/login password'."); if (strlen(params)==0) return SystemMsg(playerid,"Correct usage: '/register password'"); if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"Account successfully created. Login with '/login password' now."); return true; } //-------------------------------LOGIN------------------------------------------- dcmd_login(playerid,params[]) { if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Already authed."); if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Account doesn't exist, please use '/register password'."); if (strlen(params)==0) return SystemMsg(playerid,"Correct usage: '/login password'"); if (udb_CheckLogin(PlayerName(playerid),params)) { GivePlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money")-GetPlayerMoney(playerid)); Kills[playerid] = (dUserINT(PlayerName(playerid)).("kills")); Deaths[playerid] = (dUserINT(PlayerName(playerid)).("deaths")); gPlayerInfo[playerid][Level] = (dUserINT(PlayerName(playerid)).("level")); EXP[playerid] = (dUserINT(PlayerName(playerid)).("EXP")); PLAYERLIST_authed[playerid]=true; return SystemMsg(playerid,"Successfully authed!"); } return SystemMsg(playerid,"Login failed!"); } public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(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 OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerConnect(playerid) { PLAYERLIST_authed[playerid]=false; Kills[playerid] = 0; Deaths[playerid] = 0; gPlayerInfo[playerid][Level] = 0; EXP[playerid] = 0; return false; } public OnPlayerDisconnect(playerid) { if (PLAYERLIST_authed[playerid]) { // Was loggedin, so save the data! dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid)); dUserSetINT(PlayerName(playerid)).("Kills",Kills[playerid]); dUserSetINT(PlayerName(playerid)).("Deaths",Deaths[playerid]); dUserSetINT(PlayerName(playerid)).("Level",gPlayerInfo[playerid][Level]); dUserSetINT(PlayerName(playerid)).("EXP",EXP[playerid]); } PLAYERLIST_authed[playerid]=false; return false; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { if (PLAYERLIST_authed[playerid] == 1) { Deaths[playerid]++; Kills[killerid]++; if(playerid != killerid) { EXP[killerid] += 50; } if(EXP[killerid] == 2000 && gPlayerInfo[killerid][Level] == 1) { EXP[killerid] = 0; gPlayerInfo[killerid][Level] += 1; SendClientMessage(killerid,NEW_LEVEL_COLOUR,"CONGRATULATIONS: You just got promoted to level 2. You got this by killing 40 players."); //Let him know he advanced a level. } if(EXP[killerid] == 3000 && gPlayerInfo[killerid][Level] == 2) { EXP[killerid] = 0; gPlayerInfo[killerid][Level] += 1; SendClientMessage(killerid,NEW_LEVEL_COLOUR,"CONGRATULATIONS: You just got promoted to level 3. You got this by killing 100 players."); //Let him know he advanced a level. } if(EXP[killerid] == 4000 && gPlayerInfo[killerid][Level] == 3) { EXP[killerid] = 0; gPlayerInfo[killerid][Level] += 1; SendClientMessage(killerid,NEW_LEVEL_COLOUR,"CONGRATULATIONS: You just got promoted to level 4. You got this by killing 180 players."); //Let him know he advanced a level. } if(EXP[killerid] == 5000 && gPlayerInfo[killerid][Level] == 4) { EXP[killerid] = 0; gPlayerInfo[killerid][Level] += 1; SendClientMessage(killerid,NEW_LEVEL_COLOUR,"CONGRATULATIONS: You just got promoted to level 5. You got this by killing 280 players."); //Let him know he advanced a level. } return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerPrivmsg(playerid, recieverid, text[]) { return 1; } public OnPlayerCommandText(playerid,cmdtext[]) { dcmd(login,5,cmdtext); // because login has 5 characters dcmd(register,8,cmdtext); // because register has 8 characters return false; } return 0; } public OnPlayerInfoChange(playerid) { return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } //------------------------------------------------------------------------------------------------------ //Reikalingos funkcijos //------------------------------------------------------------------------------------------------------ GetPlayerID(string[]) { if(IsNumeric(string)) { new player = strval(string); if(IsPlayerConnected(player)) return player; } else { new playername[MAX_PLAYER_NAME]; for(new i=0; i'9' || string[0]<'0') && (string[0]!='-')) return 0; for(new i=1, j=strlen(string); i'9' || string[i]<'0') return 0; } return 1; }