Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ________ .___
- / _____/_____ _____ ____ _____ ____ __| _/____
- / \ ___\__ \ / \_/ __ \ / \ / _ \ / __ |/ __ \
- \ \_\ \/ __ \| Y Y \ ___/| Y Y ( <_> ) /_/ \ ___/
- \______ (____ /__|_| /\___ >__|_| /\____/\____ |\___ >
- \/ \/ \/ \/ \/ \/ \/
- __________ .__ .__
- \______ \ ____ | | ____ ______ | | _____ ___.__.
- | _// _ \| | _/ __ \\____ \| | \__ \< | |
- | | ( <_> ) |_\ ___/| |_> > |__/ __ \\___ |
- |____|_ /\____/|____/\___ > __/|____(____ / ____|
- \/ \/|__| \/\/
- Changelog :
- • 29 Mai 2014 : Ajout des premières commandes/fonctions/includes : base extrêmement tiny
- • 2/3 Juin 2014 : Ajout de l'anti-cheat (version bêta) :
- - Anti cheat vie
- - Anti cheat armure
- - Anti cheat armes
- - Anti cheat argent
- - Anti cheat tuning
- - Anti cheat block munition
- • 4 juin 2014 : Ajout de la commande /immun [Joueur] [Type] [Temps] : Autorise le(s) cheat(s) (Type) à un joueur pendant temps minute(s)
- Ajout d'un raccourci pour le chat admin (# [Message])
- • 5 juin 2014 : Réparation/correction de bugs
- Ajout du /cmds
- Ajout du /acmds
- Ajout de la sauvegarde des données joueur
- Ajout du système de comeback
- Ajout de la commande /question
- Ajout du /admins
- Ajout du message à la déconnexion
- TUTORIEL UTILE :
- • Ajouter une commande : prendre exemple sur les commandes déjà existantes (CMD:nomdelacommande(playerid, params[]) { Instructions return 1; })
- • Ajouter un alias : créer sa commande basiquement, et ne mettre comme instruction que "return cmd_nom_de_la_commande_deja_existante(playerid, params);", par exemple :
- CMD:quelque(playerid, params[])
- {
- return SCM(playerid, -1, "quelque"); // Affichera "quelque" dans le chat pour le joueur ayant tapé la commande
- }
- CMD:chose(playerid, params[]) { return cmd_quelque(playerid, params); } // Affichera "quelque" dans le chat pour le joueur ayant tapé la commande
- • Checker les paramètres : Voir le tutoriel de Y_Less sur sscanf
- • Me mettre en admin : se logguer en rcon et taper /adminlevel [VotreID/VotrePseudo] MAX_ADMINLEVEL (défaut : 9999)
- ___. ._____. .__ .__ __ .__
- \_ |__ |__\_ |__ | | |__| _____/ |_| |__ ____ ________ __ ____ ______
- | __ \| || __ \| | | |/ _ \ __\ | \_/ __ \/ ____/ | \_/ __ \ / ___/
- | \_\ \ || \_\ \ |_| ( <_> ) | | Y \ ___< <_| | | /\ ___/ \___ \
- |___ /__||___ /____/__|\____/|__| |___| /\___ >__ |____/ \___ >____ >
- \/ \/ \/ \/ |__| \/ \/
- */
- #include <a_samp> // SA-MP Team
- #include <a_mysql> // BlueG/Maddinator
- #include <streamer> // Incognito
- #include <callbacks> // Emmet_
- #include <hash> // Mellnik
- #include <s_sniper_fix> // S4T3K
- #include <s_string_ex> // S4T3K
- #include <YSI\y_va> // Y_Less
- #include <YSI\md5> // Y_Less
- #include <YSI\y_iterate> // Y_Less
- #include <YSI\y_colours> // Y_Less
- #include <sscanf2> // Y_Less
- #include <zcmd> // Zeex
- #include <crashdetect> // Zeex
- /*
- ________ _____.__ .__ __ .__
- \______ \ _____/ ____\__| ____ |__|/ |_|__| ____ ____ ______
- | | \_/ __ \ __\| |/ \| \ __\ |/ _ \ / \ / ___/
- | ` \ ___/| | | | | \ || | | ( <_> ) | \\___ \
- /_______ /\___ >__| |__|___| /__||__| |__|\____/|___| /____ >
- \/ \/ \/ \/ \/
- */
- #if !defined isnull
- #define (isnull(%0)) \
- ((!(%0[0])) || (((%0[0]) == ('\1' || '\0') && (!%1[1])))
- #endif
- #define SCM SendClientMessageEx
- #define SCMToAll SendClientMessageToAllEx
- #define GameTextForPlayer GameTextForPlayerEx
- #define GetPlayerIP GetPlayerIp
- // Anti-cheat
- #define SetPlayerHealth AC_SetPlayerHealth
- #define SetPlayerArmour AC_SetPlayerArmour
- #define GivePlayerWeapon AC_GivePlayerWeapon
- #define ResetPlayerWeapons AC_ResetPlayerWeapons
- #define GivePlayerMoney AC_GivePlayerMoney
- #define ResetPlayerMoney AC_ResetPlayerMoney
- #define AddVehicleComponent AC_AddVehicleComponent
- #define CHEAT_RANGE 50 // Fréquence en ms d'immunité anti-cheat (plus bas possible pour de meilleurs résultats, mais ne pas trop baisser sur serveurs faibles performances)
- #define CMD_SAVE "/vehsave"
- #define SYNTAX 0x33CCFFFF
- #define NORMAL_TEXT_1 0xE6E6E6E6
- #define NORMAL_TEXT_2 0xC8C8C8C8
- #define NORMAL_TEXT_3 0xAAAAAAAA
- #define NORMAL_TEXT_4 0x8C8C8C8C
- #define NORMAL_TEXT_5 0x6E6E6E6E
- #define COULEUR_ME 0xB23AEEAA
- #define COULEUR_DO 0x9A32CDAA
- #define COULEUR_AD_1 DEEP_PINK_4
- #define COULEUR_AD_2 CYAN_3
- #define COULEUR_AD_3 CYAN_4
- #define COULEUR_AD_4 SEA_GREEN_4
- #define COULEUR_AD_5 SALMON_4
- #define COULEUR_AD_6 CHOCOLATE_4
- #define COULEUR_AD_7 BROWN_4
- #define COULEUR_AD_8 RED_4
- #define GRADE_AD_1 1
- #define GRADE_AD_2 2
- #define GRADE_AD_3 3
- #define GRADE_AD_4 4
- #define GRADE_AD_5 5
- #define GRADE_AD_6 6
- #define GRADE_AD_7 7
- #define GRADE_AD_8 8
- #define SQL_HOST "mysql2.alwaysdata.com"
- #define SQL_USER "privé"
- #define SQL_DATA "privé"
- #define SQL_PASS "privé"
- #define JAIL_X 0.0
- #define JAIL_Y 0.0
- #define JAIL_Z 0.0
- #define JAIL_VW 0
- #define D_CREDITS 1
- #define DIALOG_ACOMMANDS 2
- #define DIALOG_PCOMMANDS 3
- /*
- ___________ _____
- \_ _____/ ____ __ __ _____ / _ \___________________ ___.__. ______
- | __)_ / \| | \/ \ / /_\ \_ __ \_ __ \__ \< | |/ ___/
- | \ | \ | / Y Y \ / | \ | \/| | \// __ \\___ |\___ \
- /_______ /___| /____/|__|_| / \____|__ /__| |__| (____ / ____/____ >
- \/ \/ \/ \/ \/\/ \/
- */
- enum pInfo
- {
- pLevel,
- pAdmin,
- pPass[33],
- pMail,
- pHBan,
- pJailTime,
- Float:pJail[3],
- pMutetime,
- Float:pAFKd,
- Float:pLast[3],
- pNextq,
- pImmun,
- pImmunt,
- bool:pMuted,
- bool:pJailed,
- // Anti-Cheat (rajouter des variables joueur au dessus si besoin pour éviter les confusions)
- bool:cArgent,
- bool:cVie,
- bool:cArmure,
- bool:cArmes,
- bool:cTuning,
- bool:cBlock,
- Float:oVie,
- Float:oArmure,
- oArme[12],
- oArgent,
- };
- new
- PlayerInfo[MAX_PLAYERS][pInfo];
- /*
- ____ ____ .__ ___. .__
- \ \ / /____ _______|__|____ \_ |__ | | ____ ______
- \ Y /\__ \\_ __ \ \__ \ | __ \| | _/ __ \ / ___/
- \ / / __ \| | \/ |/ __ \| \_\ \ |_\ ___/ \___ \
- \___/ (____ /__| |__(____ /___ /____/\___ >____ >
- \/ \/ \/ \/ \/
- .__ ___. .__
- ____ | | ____\_ |__ _____ | | ____ ______
- / ___\| | / _ \| __ \\__ \ | | _/ __ \ / ___/
- / /_/ > |_( <_> ) \_\ \/ __ \| |_\ ___/ \___ \
- \___ /|____/\____/|___ (____ /____/\___ >____ >
- /_____/ \/ \/ \/ \/
- */
- static MySQL, m_banid;
- new pid, raison[145], query[256], tsauv;
- new InvalidWords[][] =
- {
- "CMLV", "GTARP", "GTRP", "LMRP"
- };
- /*
- _________ .__ .__ ___. __
- \_ ___ \_____ | | | |\_ |__ _____ ____ | | __ ______
- / \ \/\__ \ | | | | | __ \\__ \ _/ ___\| |/ / / ___/
- \ \____/ __ \| |_| |_| \_\ \/ __ \\ \___| < \___ \
- \______ (____ /____/____/___ (____ /\___ >__|_ \/____ >
- \/ \/ \/ \/ \/ \/ \/
- _____ _____.__ .__ .__ .__
- _____/ ____\/ ____\__| ____ |__| ____ | | | | ____ ______
- / _ \ __\\ __\| |/ ___\| |/ __ \| | | | _/ __ \ / ___/
- ( <_> ) | | | | \ \___| \ ___/| |_| |_\ ___/ \___ \
- \____/|__| |__| |__|\___ >__|\___ >____/____/\___ >____ >
- \/ \/ \/ \/
- */
- main()
- {
- printf("[DATA] Loading...");
- // Appeler les fonctions de chargement ici (fonctions SANS le paramètre playerid, il faut qu'elles soient globales comme le chargement des maisons, biz, véhicules...)
- tsauv = SetTimer("SavePlayerData", 1000, true);
- printf("Gamemode roleplay beta testing.");
- return 1;
- }
- public OnGameModeInit()
- {
- printf("[SQL] Beginning of the connection to the renseigned database [Server : %s | User : %s | Database : %s | Password : %s]", SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
- MySQL = mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
- if(mysql_errno() != 0)
- {
- printf("[SQL] Problème de connexion à la base de données MySQL, deuxième tentative... [Infos SQL : Hote : %s, User : %s, DB : %s, Pass : %s]", SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
- mysql_reconnect(MySQL);
- if(mysql_errno() != 0)
- {
- mysql_close(MySQL);
- return printf("[SQL] Deuxième connexion impossible, base de données SQL non chargée.");
- }
- else printf("[SQL] Deuxième connexion SQL réussie, début du chargement des données...");
- }
- else printf("[SQL] Connection to database successfuly done, starting data loading...");
- AddPlayerClass(5,-1316.0753,2539.6685,87.7422,50.7371,0,0,0,0,0,0);
- SetGameModeText("Roleplay beta");
- SendRconCommand("mapname San Andreas");
- SendRconCommand("weburl www.sa-mp.com");
- return 1;
- }
- public OnGameModeExit()
- {
- KillTimer(tsauv);
- printf("Dernière sauvegarde des données en cours...");
- // Appeler les fonctions de sauvegarde ici
- SavePlayerData();
- printf("Dernière sauvegarde des données effectuée, fermeture de la connexion SQL...");
- mysql_close(MySQL);
- if(mysql_errno() != 0) printf("Connexion SQL arrêtée correctement, fermeture du serveur...");
- else
- {
- printf("Problème de fermeture de la connexion SQL, deuxième essai imminent...");
- mysql_close(MySQL);
- if(mysql_errno() != 0) printf("Impossible de fermer la connexion SQL, des données ont pu être perdues ou non transférées.");
- else printf("Deuxième tentative de fermeture SQL effectuée avec succès, fermeture du serveur...");
- }
- DisconnectAll();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new ip[17], country[50];
- #pragma unused country
- GetPlayerIp(playerid, ip, sizeof(ip));
- format(query, sizeof(query), "SELECT * FROM Banlist WHERE nom = '%s' OR ip = '%s'", GetName(playerid), ip);
- mysql_tquery(MySQL, query, "OnBanInfoConnect", "i", playerid);
- LoadPlayerData(playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- switch(reason)
- {
- case 0: return ProxDetectorEx(20.0, playerid, NORMAL_TEXT_1, NORMAL_TEXT_2, NORMAL_TEXT_3, NORMAL_TEXT_4, NORMAL_TEXT_5, "[Timeout] %s a quitté le serveur.", MakeRP(GetName(playerid))), ABroadCast(1, 0xFF0000FF, ""FIREBRICK_4"[Timeout]{FFFFFF} %s a quitté le serveur.", MakeRP(GetName(playerid)));
- case 1: return ProxDetectorEx(20.0, playerid, NORMAL_TEXT_1, NORMAL_TEXT_2, NORMAL_TEXT_3, NORMAL_TEXT_4, NORMAL_TEXT_5, "[Déconnexion] %s a quitté le serveur.", MakeRP(GetName(playerid))), ABroadCast(1, 0xFF0000FF, ""FIREBRICK_4"[Déconnexion]{FFFFFF} %s a quitté le serveur.", MakeRP(GetName(playerid)));
- case 2: return ProxDetectorEx(20.0, playerid, NORMAL_TEXT_1, NORMAL_TEXT_2, NORMAL_TEXT_3, NORMAL_TEXT_4, NORMAL_TEXT_5, "[Sanction] %s a quitté le serveur.", MakeRP(GetName(playerid))), ABroadCast(1, 0xFF0000FF, ""FIREBRICK_4"[Sanction]{FFFFFF} %s a quitté le serveur.", MakeRP(GetName(playerid)));
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(PlayerInfo[playerid][pJailTime] <= gettime())
- {
- if(PlayerInfo[playerid][pJailed]) UpdateTime(playerid);
- else Unjail(playerid);
- }
- if(PlayerInfo[playerid][pMutetime] <= gettime())
- {
- if(!PlayerInfo[playerid][pMuted]) Unmute(playerid);
- }
- // Anti cheat
- new Float:vie, Float:armure, arme[2][12], argent;
- GetPlayerHealth(playerid, vie);
- GetPlayerArmour(playerid, armure);
- argent = GetPlayerMoney(playerid);
- for(new s = 0; s < 12; s++)
- {
- GetPlayerWeaponData(playerid, s, arme[0][s], arme[1][s]);
- if(arme[0][s] != PlayerInfo[playerid][oArme][s] && !PlayerInfo[playerid][cArmes]) BanSQL(playerid, -2, "Cheat - D-GUN");
- PlayerInfo[playerid][oArme][s] = arme[0][s];
- }
- if( (vie != PlayerInfo[playerid][oVie]) && !PlayerInfo[playerid][cVie]) BanSQL(playerid, -2, "Cheat - vie");
- if( (armure != PlayerInfo[playerid][oArmure]) && !PlayerInfo[playerid][cArmure]) BanSQL(playerid, -2, "Cheat - Armure");
- if( (argent != PlayerInfo[playerid][oArgent]) && !PlayerInfo[playerid][cArgent]) BanSQL(playerid, -2, "Cheat - Argent");
- PlayerInfo[playerid][oVie] = vie;
- PlayerInfo[playerid][oArmure] = armure;
- PlayerInfo[playerid][oArgent] = argent;
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if((text[0] == '#') && (PlayerInfo[playerid][pAdmin] < 1))
- {
- new ttext[144];
- strmid(ttext, text, 2, strlen(text));
- return ABroadCast(1, -1, ""DEEP_SKY_BLUE_2"[Admin chat]"DEEP_SKY_BLUE_3"[%s - %s]"DEEP_SKY_BLUE_4" [%s]", GetName(playerid), GetARank(playerid), ttext);
- }
- if(!CheckValid(text)) ABroadCast(1, 0xFF0000FF, "[Invalide]"FIREBRICK" %s (%d) a prononcé un mot jugé invalide par l'anti-pub.", GetName(playerid), playerid);
- ProxDetectorEx(20.0, playerid, NORMAL_TEXT_1, NORMAL_TEXT_2, NORMAL_TEXT_3, NORMAL_TEXT_4, NORMAL_TEXT_5, "%s : %s", MakeRP(GetName(playerid)), text);
- return 1;
- }
- public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
- {
- new Float:health, Float:armour;
- GetPlayerHealth(playerid, health);
- GetPlayerArmour(playerid, armour);
- if(armour >= amount) Enable_safe_armour(playerid);
- else Enable_safe_health(playerid);
- if(IsPlayerPaused(playerid)) PlayerInfo[playerid][pAFKd] = floatadd(PlayerInfo[playerid][pAFKd], amount);
- return 1;
- }
- public OnPlayerResume(playerid, time)
- {
- new Float:health, Float:armour;
- GetPlayerHealth(playerid, health);
- GetPlayerArmour(playerid, armour);
- if(PlayerInfo[playerid][pAFKd] <= armour) SetPlayerArmour(playerid, floatsub(armour, PlayerInfo[playerid][pAFKd]));
- else SetPlayerHealth(playerid, floatsub(health, PlayerInfo[playerid][pAFKd]));
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- SpawnPlayer(playerid);
- return SCM(playerid, -1, ""DARK_ORANGE_3"[Aide]"DARK_ORANGE_4" Utilisez /cmds pour afficher la liste des commandes disponibles !");
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- if(!PlayerInfo[playerid][cTuning] && GetPlayerInterior(playerid) == 0) BanSQL(playerid, -2, "Cheat - Tuning");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case 1..3: return 1;
- }
- return 0;
- }
- /*
- _____ __ .__
- _/ ____\____ ____ _____/ |_|__| ____ ____ ______
- \ __\/ _ \ / \_/ ___\ __\ |/ _ \ / \ / ___/
- | | ( <_> ) | \ \___| | | ( <_> ) | \\___ \
- |__| \____/|___| /\___ >__| |__|\____/|___| /____ >
- \/ \/ \/ \/
- */
- stock BanSQL(playerid, adminid = -1, const reason[] = "", bool:temp = false, heures = 0)
- {
- if(!IsPlayerConnected(playerid)) return SendNoCMessage(adminid, playerid);
- new date[6], pIP[17], name[MAX_PLAYER_NAME];
- if(adminid == -2) name = "Anti cheat";
- else name = GetName(adminid);
- getdate(date[0], date[1], date[2]);
- gettime(date[3], date[4], date[5]);
- GetPlayerIp(playerid, pIP, 17);
- if(temp) PlayerInfo[playerid][pHBan] = gettime() + heures*3600;
- mysql_format(MySQL, query, sizeof(query), "INSERT INTO Banlist VALUES(NULL, '%s', '%s', '%e', '%s', '%d-%d-%d %d:%d:%d', %d', '%d')",
- GetName(playerid), name, reason, pIP, date[0], date[1], date[2], date[3], date[4], date[5], temp, heures);
- mysql_tquery(MySQL, query);
- format(query, sizeof(query), "SELECT `pid` FROM Banlist WHERE `nom` = '%s' LIMIT 1", GetName(playerid));
- mysql_tquery(MySQL, query, "OnBanInfoFound", "i", playerid);
- new rank[30];
- rank = GetARank(playerid);
- toupper(rank[0]);
- if(temp)
- {
- SCMToAll(0xFF0000FF, "[Admin]"FIREBRICK" Le joueur %s (%d) a été banni par un Administrateur pendant %d heures"RED_4" [%s].",
- GetName(playerid), playerid, heures, reason);
- ABroadCast(1, 0xFF0000FF, "[Ban]"FIREBRICK" Le joueur %s (%d) a été banni par %s"RED3"[%s]"FIREBRICK" pendant %d heures"RED_4" [%s].",
- GetName(playerid), playerid, name, rank, heures, reason);
- KickWithMessage(playerid, 0xFF0000FF, "[Ban]"FIREBRICK" Vous avez été banni pour %d heures du serveur [%s].\nSi vous pensez que c'est une erreur, prenez un screen de ce message et postez une demande de débanissement. [BAN pid : %d]",
- heures, reason, m_banid);
- }
- else
- {
- SCMToAll(0xFF0000FF, "[Admin]"FIREBRICK" Le joueur %s (%d) a été banni de façon permanente par un Administrateur"RED_4" [%s].",
- GetName(playerid), playerid, reason);
- ABroadCast(1, 0xFF0000FF, "[Ban]"FIREBRICK" Le joueur %s (%d) a été banni par %s"RED3"[%s]"FIREBRICK" de façon permanente"RED_4" [%s].",
- GetName(playerid), playerid, name, rank, reason);
- KickWithMessage(playerid, 0xFF0000FF, "[Ban]"FIREBRICK" Vous avez été banni de façon permanente du serveur "RED_4"[%s].\nSi vous pensez que c'est une erreur, prenez un screen de ce message et postez une demande de débanissement."BROWN_4"[BAN pid : %d]",
- heures, reason, m_banid);
- }
- return 1;
- }
- stock KickSQL(playerid, adminid = -1, const reason[] = "")
- {
- if(!IsPlayerConnected(playerid)) return SendNoCMessage(adminid, playerid);
- new date[6], adminName[MAX_PLAYER_NAME];
- if(adminid == -2) adminName = "Anti cheat";
- else adminName = "Anti cheat";
- getdate(date[0], date[1], date[2]);
- gettime(date[3], date[4], date[5]);
- mysql_format(MySQL, query, sizeof(query), "INSERT INTO Kicklog VALUES(NULL, '%s', '%s', '%e', '%d-%d-%d %d:%d:%d')",
- GetName(playerid), adminName, reason, date[0], date[1], date[2], date[3], date[4], date[5]);
- mysql_tquery(MySQL, query);
- new rank[30];
- rank = GetARank(playerid);
- toupper(rank[0]);
- SCMToAll(0xFF0000FF, "[Admin]"FIREBRICK" Le joueur %s (%d) a été kické du serveur par un Administrateur"RED_4" [%s].", GetName(playerid), playerid, reason);
- SetTimerEx("kickPublic", 1, false, "i", playerid);
- return ABroadCast(1, 0xFF0000FF, "[Kick]"FIREBRICK" Le joueur %s (%d) a été kické du serveur par %s [%s]"RED_4" [%s].", GetName(playerid), playerid, adminName, rank, reason);
- }
- stock JailSQL(playerid, adminid, temps, const reason[])
- {
- if(!IsPlayerConnected(playerid)) return SendNoCMessage(adminid, playerid);
- new date[6];
- getdate(date[0], date[1], date[2]);
- gettime(date[3], date[4], date[5]);
- mysql_format(MySQL, query, sizeof(query), "INSERT INTO Jaillog VALUES(NULL, '%s', '%s', '%e', '%d', '%d-%d-%d %d:%d:%d')",
- GetName(playerid), GetName(adminid), reason, temps, date[0], date[1], date[2], date[3], date[4], date[5]);
- mysql_tquery(MySQL, query);
- new rank[30];
- rank = GetARank(playerid);
- toupper(rank[0]);
- PlayerInfo[playerid][pJailTime] = gettime() + temps*60;
- PlayerInfo[playerid][pJailed] = true;
- GetPlayerPos(playerid, PlayerInfo[playerid][pJail][0], PlayerInfo[playerid][pJail][1], PlayerInfo[playerid][pJail][2]);
- SetPlayerPos(playerid, JAIL_X, JAIL_Y, JAIL_Z);
- SetPlayerVirtualWorld(playerid, JAIL_VW);
- SCMToAll(0xFF0000FF, "[Admin]"FIREBRICK" Le joueur %s (%d) a été emprisonné pour %d minutes par un Administrateur"RED_4" [%s].", GetName(playerid), playerid, temps, reason);
- return ABroadCast(1, 0xFF0000FF, "[Jail]"FIREBRICK" Le joueur %s (%d) a été emprisonné pour %d minutes par %s [%s]"RED_4" [%s].", GetName(playerid), playerid, GetName(adminid), rank, reason);
- }
- stock MuteSQL(playerid, adminid, temps, const reason[])
- {
- if(!IsPlayerConnected(playerid)) return SendNoCMessage(adminid, playerid);
- new date[6];
- getdate(date[0], date[1], date[2]);
- gettime(date[3], date[4], date[5]);
- mysql_format(MySQL, query, sizeof(query), "INSERT INTO Mutelog VALUES(NULL, '%s', '%s', '%e', '%d', '%d-%d-%d %d:%d:%d')",
- GetName(playerid), GetName(adminid), reason, temps, date[0], date[1], date[2], date[3], date[4], date[5]);
- mysql_tquery(MySQL, query);
- new rank[30];
- rank = GetARank(playerid);
- toupper(rank[0]);
- PlayerInfo[playerid][pMutetime] = gettime() + temps*60;
- PlayerInfo[playerid][pMuted] = true;
- SCMToAll(0xFF0000FF, "[Admin]"FIREBRICK" Le joueur %s (%d) a été mute pour %d minutes par un Administrateur"RED_4" [%s].", GetName(playerid), playerid, temps, reason);
- return ABroadCast(1, 0xFF0000FF, "[Mute]"FIREBRICK" Le joueur %s (%d) a été mute pour %d minutes par %s [%s]"RED_4" [%s].", GetName(playerid), playerid, GetName(adminid), rank, reason);
- }
- stock MakeAdminSQL(playerid, adminid, adminlevel)
- {
- if(!IsPlayerConnected(playerid)) return SendNoCMessage(adminid, playerid);
- new date[6];
- getdate(date[0], date[1], date[2]);
- gettime(date[3], date[4], date[5]);
- mysql_format(MySQL, query, sizeof(query), "UPDATE Joueurs SET admin = '%d' WHERE nom = '%s'", adminlevel, GetName(playerid));
- mysql_tquery(MySQL, query);
- if(PlayerInfo[playerid][pAdmin] > adminlevel) SCM(playerid, -1, ""FIREBRICK"[Admin]"RED_3"Vous avez été promu membre du staff niveau %d par le head admin %s (%d) !", adminlevel, MakeRP(GetName(adminid)), adminid);
- else SCM(playerid, -1, ""FIREBRICK"[Admin]"RED_3" Vous avez été downgrade au rang staff %d par le head admin %s (%d) !", adminlevel, MakeRP(GetName(adminid)), adminid);
- PlayerInfo[playerid][pAdmin] = adminlevel;
- return ABroadCast(2, -1, ""FIREBRICK"[Admin]"RED_3" Le rang staff de %s (%d) a été changé à %d par %s (%d).", MakeRP(GetName(playerid)), playerid, adminlevel, MakeRP(GetName(adminid)), adminid);
- }
- stock KickWithMessage(playerid, const couleur, const reason[], va_args<>)
- {
- new out[145];
- va_format(out, sizeof(out), reason, va_start<3>);
- SCM(playerid, couleur, out);
- SetTimerEx("KickPublic", 1, false, "i", playerid);
- return 1;
- }
- stock SendClientMessageEx(playerid, colour, const fmat[], va_args<>)
- {
- new
- str[145];
- va_format(str, sizeof (str), fmat, va_start<3>);
- return SendClientMessage(playerid, colour, str);
- }
- stock SendClientMessageToAllEx(colour, const fmat[], va_args<>)
- {
- new
- str[145];
- va_format(str, sizeof (str), fmat, va_start<2>);
- return SendClientMessageToAll(colour, str);
- }
- stock SendClientMessageToAllExept(exceptid, const couleur, const message[], va_args<>)
- {
- if(!IsPlayerConnected(exceptid)) return 1;
- new out[145];
- va_format(out, sizeof(out), message, va_start<3>);
- foreach(new p : Player)
- {
- if(p == exceptid) continue;
- SCM(p, couleur, message);
- }
- return 1;
- }
- stock GameTextForPlayerEx(playerid, const fmat[], time, style, va_args<>)
- {
- new
- str[145];
- va_format(str, sizeof (str), fmat, va_start<4>);
- return GameTextForPlayer(playerid, str, time, style);
- }
- stock ABroadCast(level, const couleur, const string[], va_args<>)
- {
- new out[145];
- va_format(out, sizeof(out), string, va_start<3>);
- foreach(new p : Player)
- {
- if(PlayerInfo[p][pAdmin] >= level) SCM(p, couleur, out);
- }
- return 1;
- }
- stock SendNoAMessage(playerid)
- {
- return SCM(playerid, 0xFF0000FF, "[Erreur]"FIREBRICK"Vous n'êtes pas autorisé à utiliser cette commande.");
- }
- stock SendNoCMessage(playerid, ucid)
- {
- return SCM(playerid, 0xFF0000FF, "[Erreur]{FFFFFF} Le joueur %d n'est pas connecté.", ucid);
- }
- stock SendNoAdMessage(playerid)
- {
- return SCM(playerid, 0xFF0000FF, "[Erreur]{FFFFFF} Vous ne pouvez pas sanctionner administrativement un membre du staff d'un rang plus haut que le vôtre !");
- }
- stock GetName(playerid)
- {
- new kfjqlkheizgfbsmlz[MAX_PLAYER_NAME];
- GetPlayerName(playerid, kfjqlkheizgfbsmlz, sizeof(kfjqlkheizgfbsmlz));
- return kfjqlkheizgfbsmlz;
- }
- stock ProxDetector(Float:radi, playerid, const couleur, const message[], va_args<>)
- {
- new out[145];
- new Float:posi[3];
- GetPlayerPos(playerid, posi[0], posi[1], posi[2]);
- va_format(out, sizeof(out), message, va_start<4>);
- foreach(new p : Player)
- {
- if(IsPlayerInRangeOfPoint(p, radi, posi[0], posi[1], posi[2]) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(p))) SCM(p, couleur, out);
- }
- return 1;
- }
- stock LoadPlayerData(playerid)
- {
- mysql_format(MySQL, query, sizeof(query), "SELECT * FROM Joueurs WHERE nom = '%s'", GetName(playerid));
- mysql_tquery(MySQL, query, "OnPlayerDataConnect", "i", playerid);
- return 1;
- }
- stock ProxDetectorEx(Float:radi, playerid, col1, col2, col3, col4, col5, const message[], va_args<>)
- {
- new Float:posx, Float:posy, Float:posz;
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- new out[145];
- va_format(out, sizeof(out), message, va_start<8>);
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- foreach(new p : Player)
- {
- GetPlayerPos(p, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- //printff("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
- if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
- {
- SCM(p, col1, out);
- }
- else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
- {
- SCM(p, col2, out);
- }
- else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
- {
- SCM(p, col3, out);
- }
- else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
- {
- SCM(p, col4, out);
- }
- else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- SCM(p, col5, out);
- }
- }
- return 1;
- }
- stock GetARank(playerid)
- {
- new rank[30];
- switch(PlayerInfo[playerid][pAdmin])
- {
- case GRADE_AD_1: rank = "joueur";
- case GRADE_AD_1: rank = "modérateur";
- case GRADE_AD_2..GRADE_AD_4: rank = "administrateur";
- case GRADE_AD_5: rank = "administrateur général";
- case GRADE_AD_6: rank = "super administrateur";
- case GRADE_AD_7: rank = "administrateur suprême";
- case GRADE_AD_8: rank = "head admin";
- }
- return rank;
- }
- stock MakeRP(username[])
- {
- if(cfind(username, '_')) cdel(username, '_');
- return username;
- }
- stock CheckValid(const text[])
- {
- for(new t = 0; t < sizeof(InvalidWords); t++)
- {
- if(strfind(text, InvalidWords[t]) != -1) return false;
- }
- return true;
- }
- stock DisconnectAll()
- {
- foreach(new p : Player)
- {
- KickWithMessage(p, -1, "Vous avez été déconnecté suite à l'arrêt du serveur.");
- }
- return 1;
- }
- stock SplitDateTime(datetime[], &annee, &mois, &jour, &heure, &minute, &seconde)
- {
- new tmp[20];
- strmid(tmp, datetime, 0, 4);
- strdel(datetime, 0, 5);
- annee = strval(tmp);
- strmid(tmp, datetime, 0, 2);
- strdel(datetime, 0, 3);
- mois = strval(tmp);
- strmid(tmp, datetime, 0, 2);
- strdel(datetime, 0, 3);
- jour = strval(tmp);
- strmid(tmp, datetime, 0, 2);
- strdel(datetime, 0, 3);
- heure = strval(tmp);
- strmid(tmp, datetime, 0, 2);
- strdel(datetime, 0, 3);
- minute = strval(tmp);
- strmid(tmp, datetime, 0, 2);
- strdel(datetime, 0, 3);
- seconde = strval(tmp);
- }
- // SSCANF:vehicle - Y_Less | Modifié par S4T3K
- stock GetVehicleModelIDFromName(const string[])
- {
- if ('0' <= string[0] <= '9')
- {
- new
- ret = strval(string);
- if (400 <= ret <= 611)
- {
- return ret;
- }
- }
- else if (!strcmp(string, "Landstalker")) return 400;
- else if (!strcmp(string, "Bravura")) return 401;
- else if (!strcmp(string, "Buffalo")) return 402;
- else if (!strcmp(string, "Linerunner")) return 403;
- else if (!strcmp(string, "Perenniel")) return 404;
- else if (!strcmp(string, "Sentinel")) return 405;
- else if (!strcmp(string, "Dumper")) return 406;
- else if (!strcmp(string, "Firetruck")) return 407;
- else if (!strcmp(string, "Trashmaster")) return 408;
- else if (!strcmp(string, "Stretch")) return 409;
- else if (!strcmp(string, "Manana")) return 410;
- else if (!strcmp(string, "Infernus")) return 411;
- else if (!strcmp(string, "Voodoo")) return 412;
- else if (!strcmp(string, "Pony")) return 413;
- else if (!strcmp(string, "Mule")) return 414;
- else if (!strcmp(string, "Cheetah")) return 415;
- else if (!strcmp(string, "Ambulance")) return 416;
- else if (!strcmp(string, "Leviathan")) return 417;
- else if (!strcmp(string, "Moonbeam")) return 418;
- else if (!strcmp(string, "Esperanto")) return 419;
- else if (!strcmp(string, "Taxi")) return 420;
- else if (!strcmp(string, "Washington")) return 421;
- else if (!strcmp(string, "Bobcat")) return 422;
- else if (!strcmp(string, "Mr Whoopee")) return 423;
- else if (!strcmp(string, "BF Injection")) return 424;
- else if (!strcmp(string, "Hunter")) return 425;
- else if (!strcmp(string, "Premier")) return 426;
- else if (!strcmp(string, "Enforcer")) return 427;
- else if (!strcmp(string, "Securicar")) return 428;
- else if (!strcmp(string, "Banshee")) return 429;
- else if (!strcmp(string, "Predator")) return 430;
- else if (!strcmp(string, "Bus")) return 431;
- else if (!strcmp(string, "Rhino")) return 432;
- else if (!strcmp(string, "Barracks")) return 433;
- else if (!strcmp(string, "Hotknife")) return 434;
- else if (!strcmp(string, "Article Trailer")) return 435;
- else if (!strcmp(string, "Previon")) return 436;
- else if (!strcmp(string, "Coach")) return 437;
- else if (!strcmp(string, "Cabbie")) return 438;
- else if (!strcmp(string, "Stallion")) return 439;
- else if (!strcmp(string, "Rumpo")) return 440;
- else if (!strcmp(string, "RC Bandit")) return 441;
- else if (!strcmp(string, "Romero")) return 442;
- else if (!strcmp(string, "Packer")) return 443;
- else if (!strcmp(string, "Monster")) return 444;
- else if (!strcmp(string, "Admiral")) return 445;
- else if (!strcmp(string, "Squallo")) return 446;
- else if (!strcmp(string, "Seasparrow")) return 447;
- else if (!strcmp(string, "Pizzaboy")) return 448;
- else if (!strcmp(string, "Tram")) return 449;
- else if (!strcmp(string, "Article Trailer 2")) return 450;
- else if (!strcmp(string, "Turismo")) return 451;
- else if (!strcmp(string, "Speeder")) return 452;
- else if (!strcmp(string, "Reefer")) return 453;
- else if (!strcmp(string, "Tropic")) return 454;
- else if (!strcmp(string, "Flatbed")) return 455;
- else if (!strcmp(string, "Yankee")) return 456;
- else if (!strcmp(string, "Caddy")) return 457;
- else if (!strcmp(string, "Solair")) return 458;
- else if (!strcmp(string, "RC Van")) return 459;
- else if (!strcmp(string, "Skimmer")) return 460;
- else if (!strcmp(string, "PCJ-600")) return 461;
- else if (!strcmp(string, "Faggio")) return 462;
- else if (!strcmp(string, "Freeway")) return 463;
- else if (!strcmp(string, "RC Baron")) return 464;
- else if (!strcmp(string, "RC Raider")) return 465;
- else if (!strcmp(string, "Glendale")) return 466;
- else if (!strcmp(string, "Oceanic")) return 467;
- else if (!strcmp(string, "Sanchez")) return 468;
- else if (!strcmp(string, "Sparrow")) return 469;
- else if (!strcmp(string, "Patriot")) return 470;
- else if (!strcmp(string, "Quad")) return 471;
- else if (!strcmp(string, "Coastguard")) return 472;
- else if (!strcmp(string, "Dinghy")) return 473;
- else if (!strcmp(string, "Hermes")) return 474;
- else if (!strcmp(string, "Sabre")) return 475;
- else if (!strcmp(string, "Rustler")) return 476;
- else if (!strcmp(string, "ZR-350")) return 477;
- else if (!strcmp(string, "Walton")) return 478;
- else if (!strcmp(string, "Regina")) return 479;
- else if (!strcmp(string, "Comet")) return 480;
- else if (!strcmp(string, "BMX")) return 481;
- else if (!strcmp(string, "Burrito")) return 482;
- else if (!strcmp(string, "Camper")) return 483;
- else if (!strcmp(string, "Marquis")) return 484;
- else if (!strcmp(string, "Baggage")) return 485;
- else if (!strcmp(string, "Dozer")) return 486;
- else if (!strcmp(string, "Maverick")) return 487;
- else if (!strcmp(string, "News Maverick")) return 488;
- else if (!strcmp(string, "Rancher")) return 489;
- else if (!strcmp(string, "FBI Rancher")) return 490;
- else if (!strcmp(string, "Virgo")) return 491;
- else if (!strcmp(string, "Greenwood")) return 492;
- else if (!strcmp(string, "Jetmax")) return 493;
- else if (!strcmp(string, "Hotring Racer")) return 494;
- else if (!strcmp(string, "Sandking")) return 495;
- else if (!strcmp(string, "Blista Compact")) return 496;
- else if (!strcmp(string, "Police Maverick")) return 497;
- else if (!strcmp(string, "Boxville")) return 498;
- else if (!strcmp(string, "Benson")) return 499;
- else if (!strcmp(string, "Mesa")) return 500;
- else if (!strcmp(string, "RC Goblin")) return 501;
- else if (!strcmp(string, "Hotring Racer")) return 502;
- else if (!strcmp(string, "Hotring Racer")) return 503;
- else if (!strcmp(string, "Bloodring Banger")) return 504;
- else if (!strcmp(string, "Rancher")) return 505;
- else if (!strcmp(string, "Super GT")) return 506;
- else if (!strcmp(string, "Elegant")) return 507;
- else if (!strcmp(string, "Journey")) return 508;
- else if (!strcmp(string, "Bike")) return 509;
- else if (!strcmp(string, "VTT")) return 510;
- else if (!strcmp(string, "Beagle")) return 511;
- else if (!strcmp(string, "Cropduster")) return 512;
- else if (!strcmp(string, "Stuntplane")) return 513;
- else if (!strcmp(string, "Tanker")) return 514;
- else if (!strcmp(string, "Roadtrain")) return 515;
- else if (!strcmp(string, "Nebula")) return 516;
- else if (!strcmp(string, "Majestic")) return 517;
- else if (!strcmp(string, "Buccaneer")) return 518;
- else if (!strcmp(string, "Shamal")) return 519;
- else if (!strcmp(string, "Hydra")) return 520;
- else if (!strcmp(string, "FCR-900")) return 521;
- else if (!strcmp(string, "NRG-500")) return 522;
- else if (!strcmp(string, "HPV1000")) return 523;
- else if (!strcmp(string, "Bétonnière")) return 524;
- else if (!strcmp(string, "Towtruck")) return 525;
- else if (!strcmp(string, "Fortune")) return 526;
- else if (!strcmp(string, "Cadrona")) return 527;
- else if (!strcmp(string, "FBI Truck")) return 528;
- else if (!strcmp(string, "Willard")) return 529;
- else if (!strcmp(string, "Forklift")) return 530;
- else if (!strcmp(string, "Tractor")) return 531;
- else if (!strcmp(string, "Combine Harvester")) return 532;
- else if (!strcmp(string, "Feltzer")) return 533;
- else if (!strcmp(string, "Remington")) return 534;
- else if (!strcmp(string, "Slamvan")) return 535;
- else if (!strcmp(string, "Blade")) return 536;
- else if (!strcmp(string, "Freight (Train)")) return 537;
- else if (!strcmp(string, "Brownstreak (Train)")) return 538;
- else if (!strcmp(string, "Vortex")) return 539;
- else if (!strcmp(string, "Vincent")) return 540;
- else if (!strcmp(string, "Bullet")) return 541;
- else if (!strcmp(string, "Clover")) return 542;
- else if (!strcmp(string, "Sadler")) return 543;
- else if (!strcmp(string, "Firetruck LA")) return 544;
- else if (!strcmp(string, "Hustler")) return 545;
- else if (!strcmp(string, "Intruder")) return 546;
- else if (!strcmp(string, "Primo")) return 547;
- else if (!strcmp(string, "Cargobob")) return 548;
- else if (!strcmp(string, "Tampa")) return 549;
- else if (!strcmp(string, "Sunrise")) return 550;
- else if (!strcmp(string, "Merit")) return 551;
- else if (!strcmp(string, "Utility Van")) return 552;
- else if (!strcmp(string, "Nevada")) return 553;
- else if (!strcmp(string, "Yosemite")) return 554;
- else if (!strcmp(string, "Windsor")) return 555;
- else if (!strcmp(string, "Monster \"A\"")) return 556;
- else if (!strcmp(string, "Monster \"B\"")) return 557;
- else if (!strcmp(string, "Uranus")) return 558;
- else if (!strcmp(string, "Jester")) return 559;
- else if (!strcmp(string, "Sultan")) return 560;
- else if (!strcmp(string, "Stratum")) return 561;
- else if (!strcmp(string, "Elegy")) return 562;
- else if (!strcmp(string, "Raindance")) return 563;
- else if (!strcmp(string, "RC Tiger")) return 564;
- else if (!strcmp(string, "Flash")) return 565;
- else if (!strcmp(string, "Tahoma")) return 566;
- else if (!strcmp(string, "Savanna")) return 567;
- else if (!strcmp(string, "Bandito")) return 568;
- else if (!strcmp(string, "Freight Flat Trailer (Train)")) return 569;
- else if (!strcmp(string, "Streak Trailer (Train)")) return 570;
- else if (!strcmp(string, "Kart")) return 571;
- else if (!strcmp(string, "Mower")) return 572;
- else if (!strcmp(string, "Dune")) return 573;
- else if (!strcmp(string, "Sweeper")) return 574;
- else if (!strcmp(string, "Broadway")) return 575;
- else if (!strcmp(string, "Tornado")) return 576;
- else if (!strcmp(string, "AT400")) return 577;
- else if (!strcmp(string, "DFT-30")) return 578;
- else if (!strcmp(string, "Huntley")) return 579;
- else if (!strcmp(string, "Stafford")) return 580;
- else if (!strcmp(string, "BF-400")) return 581;
- else if (!strcmp(string, "Newsvan")) return 582;
- else if (!strcmp(string, "Tug")) return 583;
- else if (!strcmp(string, "Petrol Trailer")) return 584;
- else if (!strcmp(string, "Emperor")) return 585;
- else if (!strcmp(string, "Wayfarer")) return 586;
- else if (!strcmp(string, "Euros")) return 587;
- else if (!strcmp(string, "Hotdog")) return 588;
- else if (!strcmp(string, "Club")) return 589;
- else if (!strcmp(string, "Freight Box Trailer (Train)")) return 590;
- else if (!strcmp(string, "Article Trailer 3")) return 591;
- else if (!strcmp(string, "Andromada")) return 592;
- else if (!strcmp(string, "Dodo")) return 593;
- else if (!strcmp(string, "RC Cam")) return 594;
- else if (!strcmp(string, "Launch")) return 595;
- else if (!strcmp(string, "LSPD")) return 596;
- else if (!strcmp(string, "SFPD")) return 597;
- else if (!strcmp(string, "LVPD")) return 598;
- else if (!strcmp(string, "Police Ranger")) return 599;
- else if (!strcmp(string, "Picador")) return 600;
- else if (!strcmp(string, "SWAT")) return 601;
- else if (!strcmp(string, "Alpha")) return 602;
- else if (!strcmp(string, "Phoenix")) return 603;
- else if (!strcmp(string, "Glendale Shit")) return 604;
- else if (!strcmp(string, "Sadler Shit")) return 605;
- else if (!strcmp(string, "Remorque à baggages \"A\"")) return 606;
- else if (!strcmp(string, "Remorque à baggages \"B\"")) return 607;
- else if (!strcmp(string, "Tug Stairs Trailer")) return 608;
- else if (!strcmp(string, "Boxville")) return 609;
- else if (!strcmp(string, "Farm Trailer")) return 610;
- else if (!strcmp(string, "Utility Trailer")) return 611;
- return -1;
- }
- stock Unjail(playerid)
- {
- PlayerInfo[playerid][pJailTime] = -1;
- PlayerInfo[playerid][pJailed] = false;
- SetPlayerPos(playerid, PlayerInfo[playerid][pJail][0], PlayerInfo[playerid][pJail][1], PlayerInfo[playerid][pJail][2]);
- SetPlayerVirtualWorld(playerid, 0);
- return SCM(playerid, 0xFF0000FF, "[Admin]"FIREBRICK" Tu as purgé ta peine de jail OOC. Ne reproduis plus d'actes NoRP/interdits si tu ne veux pas y retourner !");
- }
- stock Unmute(playerid) { PlayerInfo[playerid][pMutetime] = -1; PlayerInfo[playerid][pMuted] = false; return 1; }
- stock UpdateTime(playerid)
- {
- GameTextForPlayer(playerid, "~p~Il te reste encore %d secondes de prison !", 500, 1, PlayerInfo[playerid][pJailTime]-gettime());
- return 1;
- }
- forward OnBanInfoFound(playerid);
- forward OnBanInfoConnect(playerid);
- forward OnUnbanDone(playerid, type, const username[], const banid, const ip[]);
- forward KickPublic(playerid);
- forward SavePlayerData();
- forward OnPlayerDataConnect(playerid);
- public OnBanInfoFound(playerid)
- {
- if(cache_num_rows() < 1) return 1;
- m_banid = cache_get_field_content_int(0, "pid", MySQL);
- return 1;
- }
- public OnBanInfoConnect(playerid)
- {
- if(cache_num_rows() > 0)
- {
- new bool:temp, temp1, heures, banid, tdate[25], date[6];
- cache_get_field_content(0, "bdate", tdate);
- cache_get_field_content(0, "raison", raison);
- SplitDateTime(tdate, date[0], date[1], date[2], date[3], date[4], date[5]);
- banid = cache_get_field_content_int(0, "id", MySQL);
- temp1 = cache_get_field_content_int(0, "temporaire", MySQL);
- if(temp1 == 0) temp = false;
- else temp = true;
- heures = cache_get_field_content_int(0, "heures", MySQL);
- if(!temp) return KickWithMessage(playerid, 0xFF0000FF, "[Ban]"FIREBRICK" Vous êtes actuellement banni depuis le "RED_4"%d/%d/%d (%dh%d)"FIREBRICK" pour "RED_4"[%s]."RED_4"[Ban pid : %d]",
- date[2], date[1], date[0], date[3], date[4], raison, banid);
- else return KickWithMessage(playerid, 0xFF0000FF, "[Ban]"FIREBRICK" Vous êtes actuellement banni depuis le "RED_4"%d/%d/%d (%dh%d)"FIREBRICK" pour "RED_4"[%s]"FIREBRICK". Il vous reste encore "RED_4"%d"FIREBRICK" heures de banissement."RED_4"[Ban pid : %d]",
- date[2], date[1], date[0], date[3], date[4], raison, heures, banid);
- }
- return 1;
- }
- public OnUnbanDone(playerid, type, const username[], const banid, const ip[])
- {
- switch(type)
- {
- case 1:
- {
- if(cache_affected_rows() > 0) return SCM(playerid, 0xFF0000FF, "[Unban]"FIREBRICK" Tu as débanni le compte %s. Le joueur peut dès à présent se reconnecter.", username);
- else return SCM(playerid, 0xFF0000FF, "[Unban]"FIREBRICK" Il y a eu un problème lors du déban du joueur. Veuillez réessayer. (Compte [%s] peut-être non banni)", username);
- }
- case 2:
- {
- if(cache_affected_rows() > 0) return SCM(playerid, 0xFF0000FF, "[Unban]"FIREBRICK" Tu as supprimé le ban ID %d. Le joueur affecté par ce banissement peut dès à présent se reconnecter.", banid);
- else return SCM(playerid, 0xFF0000FF, "[Unban]"FIREBRICK" Il y a eu un problème lors du déban du joueur. Veuillez réessayer. (Peut-être aucun ban correspondant à cet pid [%d])", banid);
- }
- case 3:
- {
- if(cache_affected_rows() > 0) return SCM(playerid, 0xFF0000FF, "[Unban]"FIREBRICK" Tu as débanni l'IP '%s'. Le(s) joueur(s) affecté(s) par ce banissement peut(vent) dès à présent se reconnecter !", ip);
- else return SCM(playerid, 0xFF0000FF, "[Unban]"FIREBRICK" Il y a eu un problème lors du déban du joueur. Veuillez réessayer. (IP [%s] peut-être non bannie)", ip);
- }
- }
- return 1;
- }
- public KickPublic(playerid) { Kick(playerid); return 1; }
- public SavePlayerData()
- {
- new Float:pos[3];
- foreach(new p : Player)
- {
- GetPlayerPos(p, pos[0], pos[1], pos[2]);
- mysql_format(MySQL, query, sizeof(query), "UPDATE Joueurs SET niveau = '%d', admin = '%d', email = '%s', hban = '%d', jailtime = '%d', jailx = '%f', jaily = '%f', jailz = '%f', mutetime = '%d', lastx = '%f', lasty = '%f', lastz = '%f', immun = '%d' WHERE nom = '%s'",
- PlayerInfo[p][pLevel], PlayerInfo[p][pAdmin], PlayerInfo[p][pHBan], PlayerInfo[p][pJailTime], PlayerInfo[p][pJail][0], PlayerInfo[p][pJail][1], PlayerInfo[p][pJail][2], PlayerInfo[p][pMutetime], pos[0], pos[1], pos[2], PlayerInfo[p][pImmun], GetName(p));
- mysql_tquery(MySQL, query);
- }
- return 1;
- }
- public OnPlayerDataConnect(playerid)
- {
- if(cache_num_rows() > 0)
- {
- printf("num rows superior to 0");
- PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "niveau", MySQL);
- PlayerInfo[playerid][pAdmin] = cache_get_field_content_int(0, "admin", MySQL);
- PlayerInfo[playerid][pHBan] = cache_get_field_content_int(0, "hban", MySQL);
- PlayerInfo[playerid][pJailTime] = cache_get_field_content_int(0, "jailtime", MySQL);
- PlayerInfo[playerid][pJail][0] = cache_get_field_content_float(0, "jailx", MySQL);
- PlayerInfo[playerid][pJail][1] = cache_get_field_content_float(0, "jaily", MySQL);
- PlayerInfo[playerid][pJail][2] = cache_get_field_content_float(0, "jailz", MySQL);
- PlayerInfo[playerid][pLast][0] = cache_get_field_content_float(0, "lastx", MySQL);
- PlayerInfo[playerid][pLast][1] = cache_get_field_content_float(0, "lasty", MySQL);
- PlayerInfo[playerid][pLast][2] = cache_get_field_content_float(0, "lastz", MySQL);
- PlayerInfo[playerid][pImmun] = cache_get_field_content_int(0, "immun", MySQL);
- PlayerInfo[playerid][pImmunt] = cache_get_field_content_int(0, "immuntype", MySQL);
- // Dialog de connexion etc etc
- }
- /*else
- {
- // Dialog d'enregistrement etc etc
- }*/
- return 1;
- }
- /*
- _____ __ .__ .__ __
- / _ \ _____/ |_|__| ____ | |__ ____ _____ _/ |_
- / /_\ \ / \ __\ | _/ ___\| | \_/ __ \\__ \\ __\
- / | \ | \ | | | \ \___| Y \ ___/ / __ \| |
- \____|__ /___| /__| |__| \___ >___| /\___ >____ /__|
- \/ \/ \/ \/ \/ \/
- */
- public OnPlayerAntiReload(playerid, weaponid)
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return 1;
- BanSQL(playerid, -2, "Cheat - Anti reload");
- return 1;
- }
- public OnPlayerFall(playerid, Float:height, Float:damage) { Enable_safe_health(playerid); return 1; }
- stock AC_SetPlayerHealth(playerid, Float:health) { Enable_safe_health(playerid); SetPlayerHealth(playerid, health); return 1; }
- stock AC_SetPlayerArmour(playerid, Float:armour) { Enable_safe_armour(playerid); SetPlayerArmour(playerid, armour); return 1; }
- stock AC_GivePlayerWeapon(playerid, weaponid, ammo) { Enable_safe_weapon(playerid); GivePlayerWeapon(playerid, weaponid, ammo); return 1; }
- stock AC_ResetPlayerWeapons(playerid) { Enable_safe_weapon(playerid); ResetPlayerWeapons(playerid); return 1; }
- stock AC_GivePlayerMoney(playerid, money) { Enable_safe_money(playerid); GivePlayerMoney(playerid,money); return 1; }
- stock AC_ResetPlayerMoney(playerid) { Enable_safe_money(playerid); ResetPlayerMoney(playerid); return 1; }
- stock AC_AddVehicleComponent(vehicleid, componentid)
- {
- foreach(new p : Player)
- {
- if(IsPlayerInAnyVehicle(p))
- {
- if(GetPlayerVehicleID(p) == vehicleid) Enable_safe_tuning(p);
- }
- }
- AddVehicleComponent(vehicleid, componentid);
- return 1;
- }
- stock Enable_safe_health(playerid, temps=CHEAT_RANGE)
- {
- PlayerInfo[playerid][cVie] = true;
- SetTimerEx("stopVie", temps, false, "i", playerid);
- return 1;
- }
- stock Enable_safe_armour(playerid, temps=CHEAT_RANGE)
- {
- PlayerInfo[playerid][cArmure] = true;
- SetTimerEx("stopArmure", temps, false, "i", playerid);
- return 1;
- }
- stock Enable_safe_weapon(playerid, temps=CHEAT_RANGE)
- {
- PlayerInfo[playerid][cArmes] = true;
- SetTimerEx("stopArmes", temps, false, "i", playerid);
- return 1;
- }
- stock Enable_safe_money(playerid, temps=CHEAT_RANGE)
- {
- PlayerInfo[playerid][cArmes] = true;
- SetTimerEx("stopArgent", temps, false, "i", playerid);
- return 1;
- }
- stock Enable_safe_tuning(playerid, temps=CHEAT_RANGE)
- {
- PlayerInfo[playerid][cTuning] = true;
- SetTimerEx("stopTuning", temps, false, "i", playerid);
- return 1;
- }
- forward stopVie(playerid);
- forward stopArmure(playerid);
- forward stopArmes(playerid);
- forward stopArgent(playerid);
- forward stopTuning(playerid);
- public stopVie(playerid) { PlayerInfo[playerid][cVie] = false; return 1; }
- public stopArmure(playerid) { PlayerInfo[playerid][cArmure] = false; return 1; }
- public stopArmes(playerid) { PlayerInfo[playerid][cArmes] = false; return 1; }
- public stopArgent(playerid) { PlayerInfo[playerid][cArgent] = false; return 1; }
- public stopTuning(playerid) { PlayerInfo[playerid][cTuning] = false; return 1; }
- /*
- _________ .___
- \_ ___ \ ____ _____ _____ _____ ____ __| _/____ ______
- / \ \/ / _ \ / \ / \\__ \ / \ / __ |/ __ \ / ___/
- \ \___( <_> ) Y Y \ Y Y \/ __ \| | \/ /_/ \ ___/ \___ \
- \______ /\____/|__|_| /__|_| (____ /___| /\____ |\___ >____ >
- \/ \/ \/ \/ \/ \/ \/ \/
- */
- CMD:credits(playerid, params[])
- {
- return ShowPlayerDialog(playerid, D_CREDITS, DIALOG_STYLE_MSGBOX, "Crédits", "{9ACD32}S4T3K/Soufiane{FFFFFF} : Gamemode\n{9ACD32}David Montana{FFFFFF} : Idées/Mapping\n{9ACD32}BlueG/Maddinat0r{FFFFFF} : MySQL plugin\n{9ACD32}ZeeX{FFFFFF} : ZCMD/Fix sur y_va\n{9ACD32}Y_Less{FFFFFF} : YSI/sscanf/Whirlpool\n{9ACD32}Slice{FFFFFF} : Mailer\n{9ACD32}Emmet_{FFFFFF} : Nouvelles callbacks\n{9ACD32}Incognito{FFFFFF} : Streamer\n{9ACD32}Mellnik{FFFFFF} : Hash plugin\n{9ACD32}Team SA-MP{FFFFFF} : SAMP\n", "OK", "");
- }
- CMD:cmds(playerid, params[])
- {
- new out[145];
- format(out, sizeof(out), "{D15401}[Général]{FFFFFF} • /me, /do, /b, /credits, /question, /comeback, /admins");
- return ShowPlayerDialog(playerid, DIALOG_PCOMMANDS, DIALOG_STYLE_MSGBOX, "Commandes", out, "Ok", "");
- }
- CMD:acmds(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- new out[512];
- strcat(out, ""COULEUR_AD_1"[Modérateur]{FFFFFF} /a (raccourci : #), /kick, /jail, /fban, /ban, /mute, /unmute, /unjail, /aduty, /spec\n\n\n");
- if(PlayerInfo[playerid][pAdmin] == GRADE_AD_1) return ShowPlayerDialog(playerid, DIALOG_ACOMMANDS, DIALOG_STYLE_MSGBOX, "Commandes admin", out, "Ok", "");
- else if(PlayerInfo[playerid][pAdmin] >= GRADE_AD_2) strcat(out, ""COULEUR_AD_2"[Administrateur niveau 2]{FFFFFF} • /unban /unbanip, /unbanid\n\n\n");
- else if(PlayerInfo[playerid][pAdmin] >= GRADE_AD_3) strcat(out, ""COULEUR_AD_3"[Administrateur niveau 3]{FFFFFF} [Rien pour le moment]\n\n\n");
- else if(PlayerInfo[playerid][pAdmin] >= GRADE_AD_4) strcat(out, ""COULEUR_AD_4"[Administrateur niveau 4]{FFFFFF} • /veh\n\n\n");
- else if(PlayerInfo[playerid][pAdmin] >= GRADE_AD_5) strcat(out, ""COULEUR_AD_5"[Administrateur Général]{FFFFFF} [Rien pour le moment]\n\n\n");
- else if(PlayerInfo[playerid][pAdmin] >= GRADE_AD_6) strcat(out, ""COULEUR_AD_6"[Super Administrateur]{FFFFFF} [Rien pour le moment]\n\n\n");
- else if(PlayerInfo[playerid][pAdmin] >= GRADE_AD_7) strcat(out, ""COULEUR_AD_7"[Administrateur suprême]{FFFFFF} [Rien pour le moment]\n\n\n");
- else if(PlayerInfo[playerid][pAdmin] >= GRADE_AD_8) strcat(out, ""COULEUR_AD_8"[Head administrator]{FFFFFF} • /makeadmin");
- return ShowPlayerDialog(playerid, DIALOG_ACOMMANDS, DIALOG_STYLE_MSGBOX, "Commandes admin", out, "Ok", "");
- }
- CMD:me(playerid, params[])
- {
- if(isnull(params)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /me [Action du personnage]");
- return ProxDetector(15.0, playerid, COULEUR_ME, "* %s %s", GetName(playerid), params);
- }
- CMD:action(playerid, params[]) { return cmd_me(playerid, params); }
- CMD:do(playerid, params[])
- {
- if(isnull(params)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /do [Description]");
- return ProxDetector(15.0, playerid, COULEUR_DO, "* %s [%s]", params, GetName(playerid));
- }
- CMD:description(playerid, params[]) { return cmd_do(playerid, params); }
- CMD:desc(playerid, params[]) { return cmd_do(playerid, params); }
- CMD:xgoto(playerid, params[])
- {
- new Float:pos[3];
- if(PlayerInfo[playerid][pAdmin] < 4) return 1;
- if(sscanf(params, "fff", pos[0], pos[1], pos[2])) return SCM(playerid, 0xFF0000FF, "[ADMIN]{FFFFFF} Mauvaise syntaxe");
- SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
- return 1;
- }
- CMD:skill(playerid, params[])
- {
- SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 999);
- SetPlayerSkillLevel(playerid, WEAPONSKILL_SNIPERRIFLE, 999);
- return 1;
- }
- CMD:armes(playerid, params[])
- {
- new arme, muni;
- if(sscanf(params, "dD", arme, muni)) return SCM(playerid, 0xFF0000FF, "[ADMIN]{FFFFFF} Mauvaise syntaxe");
- if(muni == 0) muni = 99999;
- GivePlayerWeapon(playerid, arme, muni);
- return 1;
- }
- CMD:question(playerid, params[])
- {
- if(isnull(params)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /irc [Message au staff]");
- if(PlayerInfo[playerid][pNextq] > gettime()) return SCM(playerid, 0x9ACD32FF, "[Rapport]{FFFFFF} Veuillez patienter 30 secondes entre chaque rapport.");
- PlayerInfo[playerid][pNextq] = gettime() + 30;
- return ABroadCast(1, -1, ""SPRING_GREEN_4"[IRC]"OLIVE_DRAB_4"[%s] [%s]", MakeRP(GetName(playerid)), params), SCM(playerid, -1, ""SPRING_GREEN_4"[IRC]"OLIVE_DRAB_4"[%s]");
- }
- CMD:rapport(playerid, params[]) { return cmd_question(playerid, params); }
- CMD:irc(playerid, params[]) { return cmd_question(playerid, params); }
- CMD:report(playerid, params[]) { return cmd_question(playerid, params); }
- CMD:b(playerid, params[])
- {
- if(isnull(params)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /b [Message OOC]");
- if(!CheckValid(params)) ABroadCast(1, 0xFF0000FF, "[Invalide]"FIREBRICK" %s (%d) a prononcé un mot jugé invalide par l'anti-pub.", GetName(playerid), playerid);
- return ProxDetectorEx(20.0, playerid, NORMAL_TEXT_1, NORMAL_TEXT_2, NORMAL_TEXT_3, NORMAL_TEXT_4, NORMAL_TEXT_5, "[HRP] [%s : %s]", MakeRP(GetName(playerid)), params);
- }
- CMD:oloc(playerid, params[]) { return cmd_b(playerid, params); }
- CMD:ban(playerid, params[])
- {
- if(sscanf(params, "us[145]", pid, raison)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /ban [Joueur] [Raison]");
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- if(PlayerInfo[pid][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendNoAdMessage(playerid);
- BanSQL(pid, playerid, raison);
- return 1;
- }
- CMD:fban(playerid, params[])
- {
- if(sscanf(params, "us[145]", pid, raison)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /ban [Joueur] [Raison]");
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- return SCMToAll(0xFF0000FF, "[Admin]"FIREBRICK" Le joueur %s (%d) a été banni de façon permanente par un Administrateur"RED_4" [%s].",
- GetName(playerid), playerid, raison);
- }
- CMD:hban(playerid, params[])
- {
- new heures;
- if(sscanf(params, "uds[145]", pid, heures, raison)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /banh [Joueur] [Heures] [Raison]");
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- if(PlayerInfo[pid][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendNoAdMessage(playerid);
- BanSQL(pid, playerid, raison, true, heures);
- return 1;
- }
- CMD:immun(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 9999) return 0;
- new type[16], temps, id;
- if(sscanf(params, "us[16]d", id, type, temps)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /immun [Joueur] [Type] [Temps (minutes)]\n\r{33CCFF}[Types]{FFFFFF} argent, vie, armure, tuning, armes, tous");
- temps *= 60;
- if(!strcmp(type, "argent", true))
- {
- PlayerInfo[id][pImmunt] = 1;
- PlayerInfo[id][pImmun] = gettime() + temps;
- return Enable_safe_money(playerid, temps*1000);
- }
- else if(!strcmp(type, "vie", true))
- {
- PlayerInfo[id][pImmunt] = 2;
- PlayerInfo[id][pImmun] = gettime() + temps;
- return Enable_safe_health(playerid, temps*1000);
- }
- else if(!strcmp(type, "armure", true))
- {
- PlayerInfo[id][pImmunt] = 3;
- PlayerInfo[id][pImmun] = gettime() + temps;
- return Enable_safe_armour(playerid, temps*1000);
- }
- else if(!strcmp(type, "tuning", true))
- {
- PlayerInfo[id][pImmunt] = 4;
- PlayerInfo[id][pImmun] = gettime() + temps;
- return Enable_safe_tuning(playerid, temps*1000);
- }
- else if(!strcmp(type, "armes", true))
- {
- PlayerInfo[id][pImmunt] = 5;
- PlayerInfo[id][pImmun] = gettime() + temps;
- return Enable_safe_weapon(playerid, temps*1000);
- }
- else if(!strcmp(type, "all", true) || !strcmp(type, "tous", true))
- {
- PlayerInfo[id][pImmunt] = 6;
- PlayerInfo[playerid][pImmun] = gettime() + temps;
- Enable_safe_money(playerid, temps*1000);
- Enable_safe_health(playerid, temps*1000);
- Enable_safe_armour(playerid, temps*1000);
- Enable_safe_tuning(playerid, temps*1000);
- return Enable_safe_weapon(playerid, temps*1000);
- }
- else return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /immun [Joueur] [Type] [Temps (minutes)]\n\r{33CCFF}[Types]{FFFFFF} argent, vie, armure, tuning, armes, tous");
- }
- CMD:a(playerid, params[])
- {
- if(isnull(params)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /a(dmin) [Message]");
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- return ABroadCast(1, -1, ""DEEP_SKY_BLUE_2"[Admin chat]"DEEP_SKY_BLUE_3"[%s - %s]"DEEP_SKY_BLUE_4" [%s]", GetName(playerid), GetARank(playerid), params);
- }
- CMD:admin(playerid, params[]) { return cmd_a(playerid, params); }
- CMD:unban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 2) return SendNoAMessage(playerid);
- new nom[MAX_PLAYER_NAME+1];
- if(sscanf(params, "s[MAX_PLAYER_NAME+1]", nom)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /unban [Nom du compte]");
- mysql_format(MySQL, query, sizeof(query), "DELETE FROM Banlist WHERE nom = '%e'", nom);
- mysql_tquery(MySQL, query, "OnUnbanDone", "iis", playerid, 1, nom);
- return 1;
- }
- CMD:unbanid(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 2) return SendNoAMessage(playerid);
- new banid;
- if(sscanf(params, "d", banid)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /unbanid [ID du ban]");
- format(query, sizeof(query), "DELETE FROM Banlist WHERE pid = '%d'", banid);
- mysql_tquery(MySQL, query, "OnUnbanDone", "iisi", playerid, 2, "", banid);
- return 1;
- }
- CMD:unbanip(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 2) return SendNoAMessage(playerid);
- new ip[17];
- if(sscanf(params, "s[17]", ip)) return SCM(playerid, 0x33CFFFFF, "[USAGE]{FFFFFF} /unbanip [IP bannie]");
- mysql_format(MySQL, query, sizeof(query), "DELETE FROM Banlist WHERE ip = '%e'", ip);
- mysql_tquery(MySQL, query, "OnUnbanDone", "iisis", playerid, 2, "", -1, ip);
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- if(sscanf(params, "us[145]", pid, raison)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /kick [Joueur] [Raison]");
- if(PlayerInfo[pid][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendNoAdMessage(playerid);
- KickSQL(pid, playerid, raison);
- return 1;
- }
- CMD:jail(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- new temps;
- if(sscanf(params, "uds[145]", pid, temps, raison)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /jail [Joueur] [Temps (minutes)] [Raison]");
- if(PlayerInfo[pid][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendNoAdMessage(playerid);
- JailSQL(pid, playerid, temps, raison);
- return 1;
- }
- CMD:unjail(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- if(sscanf(params, "u", pid)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /unjail [Joueur]");
- Unjail(pid);
- return 1;
- }
- CMD:mute(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- new temps;
- if(sscanf(params, "uds[145]", pid, temps, raison)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /mute [Joueur] [Temps (minutes)] [Raison]");
- if(PlayerInfo[pid][pAdmin] > PlayerInfo[playerid][pAdmin]) return SendNoAdMessage(playerid);
- MuteSQL(pid, playerid, temps, raison);
- return 1;
- }
- CMD:makeadmin(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return 0;
- new id, alevel;
- if(sscanf(params, "ud", id, alevel)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /makeadmin [Joueur] [Niveau]");
- if(PlayerInfo[playerid][pAdmin] <= alevel) return SendNoAMessage(playerid);
- MakeAdminSQL(id, playerid, alevel);
- return 1;
- }
- CMD:setadmin(playerid, params[]) { return cmd_makeadmin(playerid, params); }
- CMD:adminlevel(playerid, params[]) { return cmd_makeadmin(playerid, params); }
- CMD:unmute(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return SendNoAMessage(playerid);
- if(sscanf(params, "u", pid)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /unmute [Joueur]");
- Unmute(pid);
- return 1;
- }
- CMD:demute(playerid, params[]) { return cmd_unmute(playerid, params); }
- CMD:veh(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 4) return SendNoAMessage(playerid);
- new vehname[41], vehid, col1, col2, respawn, Float:pos[4];
- col1 = 1, col2 = 1, respawn = 20;
- if(sscanf(params, "s[41]DDD", vehname, col1, col2, respawn)) return SCM(playerid, SYNTAX, "[USAGE]{FFFFFF} /veh [ModelID/Nom] [Couleur 1 (optionnel)] [Couleur 2 (optionnel)] [Temps de respawn (Optionnel)]");
- vehid = GetVehicleModelIDFromName(vehname);
- GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
- GetPlayerFacingAngle(playerid, pos[3]);
- new veh = CreateVehicle(vehid, floatadd(pos[0], 1.5), floatadd(pos[1], 1.5), floatadd(pos[2], 1.5), pos[3], col1, col2, respawn);
- PutPlayerInVehicle(playerid, veh, 0);
- return SCM(playerid, -1, ""RED"[Admin]"WHITE" Tu as créé un véhicule, cependant il est considéré comme temporaire ! Il faut utiliser %s pour le sauvegarder dans la base de données !" CMD_SAVE);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement