DescriptionBonjours j'ai cree ce topic pour y mettre les commande utiles ainsi que les function
si vous voulait participer poser votre commande/function dans une réponse et je l'ajouterais
PS :: j'utliserait les plugin suivant dans mes function et commande
//-------------------------------- COMMAND -------------------------------------//gotop[playerid] // Teleporte l'admin vers l'id de joueur
CMD:gotop(playerid, params[])
{
new pid,
str[128],
Float:pos[3];
if(sscanf(params, "i", pid)) return SendClientMessage(playerid, COLOR_ERROR, "Usage : gotop [playerid]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_ERROR, "Id invalide du joueur");
GetPlayerPos(pid,pos[0],pos[1],pos[2]);
SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
format(str, sizeof(str), "Vous voues etes teleporté au joueur : %s", PlayerName(pid));
return SendClientMessage(playerid, COLOR_GREEN, str);
}
ban[playerid][Time][reason] // ban le joueur pour un temps defini(utilisation de mysql)
// Executez cette requete dans votre base de donnes //
DROP TABLE IF EXISTS `banlist`;
CREATE TABLE `banlist` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`ip` varchar(50) NOT NULL,
`time` int(29) NOT NULL,
`reason` varchar(256) NOT NULL,
`adminname` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
// Voici le Code A recopier //
SetTimer("CountTimeBan", 60000, true); // Dans OnGameModeIni
// a la fin de votre Code //
public CountTimeBan()
{
new query[129], time;
for (new i = 1; i < 100 ; i++)
{
format(query, sizeof(query), "SELECT time FROM banlist WHERE id = %d",i);
mysql_query(query);
mysql_store_result();
time = mysql_fetch_int();
if (mysql_num_rows() !=0)
{
if(time == 0)
{
format(query, sizeof(query), "DELETE FROM banlist WHERE id = %d ",i );
mysql_query(query);
}
else
{
format(query, sizeof(query), "UPDATE banlist SET time = %d WHERE id = %d",time-1, i);
mysql_query(query);
}
}
mysql_free_result();
}
return 1;
}
freeze/unfreeze[playerid]/color] // sert a freeze et unfreezer un joueur
CMD:freeze(playerid, params[])
{
new pid;
if (sscanf(params[], "i", pid)) return SendClientMessage(playerid, COLOR_RED, "Usage : freeze[playerid]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_ERROR, "Id invalide du joueur");
TogglePlayerControllable(pid, 0);
}
CMD:unfreeze(playerid, params[])
{
new pid;
if (sscanf(params[], "i", pid)) return SendClientMessage(playerid, COLOR_RED, "Usage : unfreeze[playerid]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid, COLOR_ERROR, "Id invalide du joueur");
TogglePlayerControllable(pid, 1);
}
//-------------------------------- Function -------------------------------------//AFKTimer // AFk systeme avec timer
// Au debut de votre Code
forward AFKTimer();
new Float:gPlayerPos[MAX_PLAYERS][6];
// Dans OnGameModeIni
SetTimer("AFKTimer", 3 * 60000, true);
// Au fin de votre code
public AFKTimer() {
for(new i =0 ; i< MAX_PLAYERS; i++)
{
GetPlayerPos(i, gPlayerPos[i][0], gPlayerPos[i][1], gPlayerPos[i][2]);
if(gPlayerPos[i][0] == gPlayerPos[i][3] && gPlayerPos[i][1] == gPlayerPos[i][4] && gPlayerPos[i][2] == gPlayerPos[i][5])
{
RemovePlayerFromVehicle(i);
SendClientMessage(i, COLOR_GREY, "Vous avait éte deconnecté a cause de votre inactivité.");
Kick(i);
}
else
{
gPlayerPos[i][3] = gPlayerPos[i][0];
gPlayerPos[i][4] = gPlayerPos[i][1];
gPlayerPos[i][5] = gPlayerPos[i][2];
}
}
}
PlayerName // function qui return le nom du joueur en utilisant l'id
stock PlayerName(playerid)
{
new pname[25];
GetPlayerName(playerid,pname,sizeof(pname));
return pname;
}
j'ajouterais au fur et a mesur de nouvelle function ...