Skip to content

Commit

Permalink
changes
Browse files Browse the repository at this point in the history
- ON UPDATE NO ACTION
- revamp army module
  • Loading branch information
PatrickGTR committed Jan 18, 2021
1 parent 31f6be4 commit 1cf3438
Show file tree
Hide file tree
Showing 17 changed files with 89 additions and 163 deletions.
47 changes: 2 additions & 45 deletions gamemodes/core/account/account.inc
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,18 @@
#include <YSI_Coding\y_hooks>

static
Player_UID[MAX_PLAYERS],
bool:PlayerArmyLvl[MAX_PLAYERS],
bool:Blacklist[MAX_PLAYERS],
Statement: stmt_checkPlayer,
Statement: stmt_loadPlayerArmy,
Statement: stmt_insertPlayerArmy,
Statement: stmt_savePlayerMoney;
Statement: stmt_savePlayerMoney,
Player_UID[MAX_PLAYERS];

hook OnMySQLConnected() {
stmt_checkPlayer = MySQL_PrepareStatement(MySQL_GetHandle(), "SELECT u_id, password FROM players WHERE username=?");
stmt_savePlayerMoney = MySQL_PrepareStatement(MySQL_GetHandle(), "UPDATE player_stats SET money=? WHERE u_id=?");
stmt_loadPlayerArmy = MySQL_PrepareStatement(MySQL_GetHandle(), "SELECT IsArmy, Blacklisted FROM armys WHERE u_id = ?");
stmt_insertPlayerArmy = MySQL_PrepareStatement(MySQL_GetHandle(), "INSERT INTO armys (u_id) VALUES (?)");
return 1;
}

hook OnPlayerConnect(playerid) {
Player_UID[playerid] = 0;
PlayerArmyLvl[playerid] = false;
Blacklist[playerid] = false;
return 1;
}

hook OnPlayerLogin(playerid) {
MySQL_BindInt(stmt_insertPlayerArmy, 0, Player_GetAccountID(playerid));
MySQL_ExecuteThreaded(stmt_insertPlayerArmy);
return 1;
}

Expand Down Expand Up @@ -64,19 +50,6 @@ hook OnPlayerPassedBanCheck(playerid) {
if(MySQL_Statement_FetchRow(stmt_checkPlayer)) {
Player_SetAccountID(playerid, playerUID);

inline const OnArmyLoad() {
new
IsArmy,
blacklist;
MySQL_BindResultInt(stmt_loadPlayerArmy, 0, IsArmy);

if(MySQL_Statement_FetchRow(stmt_loadPlayerArmy)) {
Player_SetArmy(playerid, bool:IsArmy);
Player_SetBlacklist(playerid, bool:blacklist);
}
}
MySQL_BindInt(stmt_loadPlayerArmy, 0, Player_GetAccountID(playerid));
MySQL_ExecuteParallel_Inline(stmt_loadPlayerArmy, using inline OnArmyLoad);
Account_PromptLogin(playerid, playerHash);
}
else {
Expand All @@ -98,19 +71,3 @@ stock Player_SetAccountID(playerid, value) {
stock Player_GetAccountID(playerid) {
return Player_UID[playerid];
}

stock Player_SetArmy(playerid, bool:value) {
return PlayerArmyLvl[playerid] = value;
}

stock bool:Player_GetArmy(playerid) {
return PlayerArmyLvl[playerid];
}

stock Player_SetBlacklist(playerid, bool:value) {
return Blacklist[playerid] = value;
}

stock bool:IsPlayerBlacklisted(playerid) {
return Blacklist[playerid];
}
20 changes: 0 additions & 20 deletions gamemodes/core/account/account_setup-armys.inc

This file was deleted.

20 changes: 0 additions & 20 deletions gamemodes/core/account/account_setup-inventory.inc

This file was deleted.

47 changes: 0 additions & 47 deletions gamemodes/core/admin/admin_cmd_lvl4.inc
Original file line number Diff line number Diff line change
Expand Up @@ -109,53 +109,6 @@ ACMD:[4]getmoney(playerid, params[])
SendServerMsgF(playerid, "%p (%d)'s money is %m", targetid, targetid, GetPlayerMoney(targetid));
return 1;
}
/*
ACMD:[4]givearmy(playerid, params[])
{
new target, level, string[256];
if(sscanf(params, "ui", target, level)) return SendSyntaxMsg(playerid, "/givearmy (name/id) (1/0)");
if(!IsPlayerConnected(target)) {
return SendErrorMsg(playerid, "Player is not connected");
}
if(IsPlayerBlacklisted(target)) {
return SendErrorMsg(playerid, "Player is Blacklisted from army");
}
if(GetPlayerScore(target) < 30000) {
return SendErrorMsg(playerid, "Player's score is not 30000");
}
if(level < 0 || level > 1) {
return SendErrorMsg(playerid, "1 = player can select army 0 = player can't select");
}
if(level == 0) {
static const deleteQuery[] = "\
UPDATE \
armys \
SET \
IsArmy = %i \
WHERE \
u_id = %i \
";
mysql_format(MySQL_GetHandle(), string, sizeof(string), deleteQuery, level, Player_GetAccountID(target));
mysql_tquery(MySQL_GetHandle(), string);
Player_SetArmy(playerid, false);
SendMsgAllF(COLOR_MODERATION, "[ARMY]: %p (%d) is removed from the army.", target, target);
}
if(level == 1) {
static const insertQuery[] = "\
UPDATE \
armys \
SET \
IsArmy = %i \
WHERE \
u_id = %i \
";
mysql_format(MySQL_GetHandle(), string, sizeof(string), insertQuery, level, Player_GetAccountID(target), level);
mysql_tquery(MySQL_GetHandle(), string);
Player_SetArmy(playerid, true);
SendMsgAllF(COLOR_MODERATION, "[ARMY]: %p (%d) is accepted from the army.", target, target);
return 1;
} */

ACMD:[4]motd(playerid, params[]) {

Expand Down
1 change: 1 addition & 0 deletions gamemodes/core/player/player.inc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include <player_skin>
#include <player_crimes>
#include <player_shots>
#include <player_army>

#include <player_hitpoint-save>
#include <player_weapon-save>
Expand Down
52 changes: 52 additions & 0 deletions gamemodes/core/player/player_army.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#include <YSI_Coding\y_hooks>

static
BitArray:PlayerIsArmy<MAX_PLAYERS>;

hook OnPlayerConnect(playerid) {
Bit_Set(PlayerIsArmy, playerid, false);
return 1;
}

hook OnPlayerLogin(playerid) {
static
Statement:stmt_isArmy;

inline const OnArmyLoad() {
if(MySQL_Statement_FetchRow(stmt_isArmy)) {
Bit_Set(PlayerIsArmy, playerid, true);
}
}

stmt_isArmy = MySQL_PrepareStatement(MySQL_GetHandle(), "SELECT 1 FROM armys WHERE u_id = ?");
MySQL_BindInt(stmt_isArmy, 0, Player_GetAccountID(playerid));
MySQL_ExecuteParallel_Inline(stmt_isArmy, using inline OnArmyLoad);
return 1;
}

hook OnPlayerRequestSpawn(playerid) {
if(Player_GetClass(playerid) == TEAM_ARMY) {
if(!Player_IsArmy(playerid)) {
SendErrorMsg(playerid, "No permission to play as army");
return ~0;
}
}
return 1;
}

stock Player_AddToArmyDB(playerid) {
Player_SetArmy(playerid, true);

new stmt_insertArmy = MySQL_PrepareStatement(MySQL_GetHandle(), "INSERT INTO armys (u_id) VALUES (?)");
MySQL_BindInt(stmt_insertArmy, 0, Player_GetAccountID(playerid));
MySQL_ExecuteThreaded(stmt_insertArmy);
MySQL_StatementClose(stmt_insertArmy);
}

Player_IsArmy(playerid) {
return Bit_Get(PlayerIsArmy, playerid);
}

stock Player_SetArmy(playerid, bool:toggle) {
Bit_Set(PlayerIsArmy, playerid, toggle);
}
17 changes: 0 additions & 17 deletions gamemodes/core/player/player_class.inc
Original file line number Diff line number Diff line change
Expand Up @@ -325,23 +325,6 @@ hook OnPlayerRequestClass(playerid, classid) {
return 1;
}

hook OnPlayerRequestSpawn(playerid)
{
if(Player_GetClass(playerid) == TEAM_ARMY)
{
if(!Player_GetArmy(playerid))
{
SendServerMsg(playerid, "You're not authorised to use Army skins");
}
else if(IsPlayerBlacklisted(playerid))
{
SendServerMsg(playerid, "You're Blacklisted from the Army Team by the Administration");
}
return 0;
}
return 1;
}

timer void:ForceSpawnPlayer[50](playerid) {

// using SetSpawnInfo fixes the kick bug when
Expand Down
14 changes: 10 additions & 4 deletions scriptfiles/admins.sql
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
CREATE TABLE IF NOT EXISTS admins (
u_id INT(11) NOT NULL,
admin_level TINYINT(2) NOT NULL DEFAULT 0,
PRIMARY KEY (u_id),
FOREIGN KEY (u_id) REFERENCES players(u_id)
ON DELETE CASCADE
ON UPDATE CASCADE
PRIMARY KEY
(u_id),
FOREIGN KEY
(u_id)
REFERENCES
players(u_id)
ON DELETE
CASCADE
ON UPDATE
NO ACTION
);
13 changes: 13 additions & 0 deletions scriptfiles/armys.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
CREATE TABLE armys (
u_id int(11) NOT NULL,
PRIMARY KEY
(u_id),
FOREIGN KEY
(u_id)
REFERENCES
players (u_id)
ON DELETE
CASCADE
ON UPDATE
NO ACTION
);
4 changes: 2 additions & 2 deletions scriptfiles/gangs.sql
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ CREATE TABLE IF NOT EXISTS gangs (
ON DELETE
CASCADE
ON UPDATE
CASCADE
NO ACTION
);
CREATE TABLE IF NOT EXISTS gang_members (
gang_id INT(11) NOT NULL AUTO_INCREMENT,
Expand All @@ -29,5 +29,5 @@ CREATE TABLE IF NOT EXISTS gang_members (
ON DELETE
CASCADE
ON UPDATE
CASCADE
NO ACTION
);
5 changes: 3 additions & 2 deletions scriptfiles/houses.sql
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ CREATE TABLE IF NOT EXISTS player_houses (
ON DELETE
SET NULL
ON UPDATE
CASCADE
NO ACTION
);

CREATE TABLE IF NOT EXISTS house_furniture (
Expand All @@ -45,5 +45,6 @@ CREATE TABLE IF NOT EXISTS house_furniture (
player_houses(house_id)
ON DELETE
CASCADE
ON UPDATE RESTRICT
ON UPDATE
NO ACTION
);
2 changes: 1 addition & 1 deletion scriptfiles/jail.sql
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ CREATE TABLE IF NOT EXISTS jailed (
ON DELETE
CASCADE
ON UPDATE
RESTRICT
NO ACTION
);
2 changes: 1 addition & 1 deletion scriptfiles/player_items.sql
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ CREATE TABLE player_items (
ON DELETE
CASCADE
ON UPDATE
CASCADE
NO ACTION
);
2 changes: 1 addition & 1 deletion scriptfiles/player_shots.sql
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ CREATE TABLE IF NOT EXISTS player_shots_stats (
ON DELETE
CASCADE
ON UPDATE
CASCADE
NO ACTION
);
2 changes: 1 addition & 1 deletion scriptfiles/player_stats.sql
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ CREATE TABLE IF NOT EXISTS player_stats
ON DELETE
CASCADE
ON UPDATE
RESTRICT
NO ACTION
);
2 changes: 1 addition & 1 deletion scriptfiles/vips.sql
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ CREATE TABLE IF NOT EXISTS vips (
ON DELETE
CASCADE
ON UPDATE
RESTRICT
NO ACTION
);
2 changes: 1 addition & 1 deletion scriptfiles/weapons.sql
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ CREATE TABLE IF NOT EXISTS player_weapons
ON DELETE
CASCADE
ON UPDATE
RESTRICT
NO ACTION
);

0 comments on commit 1cf3438

Please sign in to comment.