Üdv.
Most este unalmamban megcsináltam egy kisebb Mute parancsot. Némításnál nem enged beszélni.
Készítési idõ: 4-5 perc
Parancsok :
/mute
/unmute
Kód:
#include <a_samp>
#include zcmd
#include sscanf2
#define COLOR_GREEN 0x33FF33AA
#define COLOR_RED 0xFF0000AA
public OnPlayerConnect(playerid)
{
SetPVarInt(playerid,\"Muted\",0);
return 1;
}
CMD:mute(playerid,params[])
{
new str[128],indok,id;
if(sscanf(params,\"us\",id,indok)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /mute [iD] [indok]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen játékos!\");
if(id == playerid) return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod lenémítani!\");
if(GetPVarInt(id,\"Muted\") == 1) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos már némítva van!\");
{
SetPVarInt(id,\"Muted\",1);
format(str,sizeof(str),\"%s játékos lenémította %s játékost! Indok : %s\",pName(playerid),pName(id),indok);
SendClientMessageToAll(COLOR_GREEN,str);
}
return 1;
}
CMD:unmute(playerid,params[])
{
new str[128],id;
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /unmute [iD]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen játékos!\");
if(id == playerid) return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod felnémítani!\");
if(GetPVarInt(id,\"Muted\") == 0) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos nincs még lenémítva!!\");
{
SetPVarInt(id,\"Muted\",0);
format(str,sizeof(str),\"%s játékos engedélyezte a beszédet %s játékosnak! \",pName(playerid),pName(id));
SendClientMessageToAll(COLOR_GREEN,str);
}
return 1;
}
stock pName(playerid)
{
new name[24];
GetPlayerName(playerid,name,24);
return name;
}
public OnPlayerText(playerid, text[])
{
if(GetPVarInt(playerid,\"Muted\") == 1)
{
SendClientMessage(playerid,COLOR_RED,\"Lenémítva nem tudsz beszélni öcsi!\");
return 0;
}
return 1;
}
Frissített :
Újdonság : Percre meg lehet adni hogy mikor oldja fel a némítást a játékosról
Kód:
#include <a_samp>
#include zcmd
#include sscanf2
#define COLOR_GREEN 0x33FF33AA
#define COLOR_RED 0xFF0000AA
new mut;
public OnPlayerConnect(playerid)
{
SetPVarInt(playerid,\"Muted\",0);
return 1;
}
CMD:mute(playerid,params[])
{
new str[128],indok,id,perc;
if(sscanf(params,\"usd\",id,indok,perc)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /mute [iD][indok] [Perc] \");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen játékos!\");
if(id == playerid) return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod lenémítani!\");
if(GetPVarInt(id,\"Muted\") == 1) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos már némítva van!\");
{
perc *= 60000;
mut = SetTimerEx(\"MutedTime\",perc,false,\"d\",id);
SetPVarInt(id,\"Muted\",1);
format(str,sizeof(str),\"%s játékos lenémította %s játékost! Indok : %s Perc : %d\",pName(playerid),pName(id),indok,perc);
SendClientMessageToAll(COLOR_GREEN,str);
}
return 1;
}
CMD:unmute(playerid,params[])
{
new str[128],id;
if(sscanf(params,\"u\",id)) return SendClientMessage(playerid,COLOR_RED,\"Használat : /unmute [iD]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,COLOR_RED,\"HIBA:Nincs ilyen játékos!\");
if(id == playerid) return SendClientMessage(playerid,COLOR_RED,\"Hiba:Magadat nem tudod felnémítani!\");
if(GetPVarInt(id,\"Muted\") == 0) return SendClientMessage(playerid,COLOR_RED,\"Hiba: A Játékos nincs még lenémítva!!\");
{
SetPVarInt(id,\"Muted\",0);
format(str,sizeof(str),\"%s játékos engedélyezte a beszédet %s játékosnak! \",pName(playerid),pName(id));
SendClientMessageToAll(COLOR_GREEN,str);
KillTimer(mut);
}
return 1;
}
stock pName(playerid)
{
new name[24];
GetPlayerName(playerid,name,24);
return name;
}
public OnPlayerText(playerid, text[])
{
if(GetPVarInt(playerid,\"Muted\") == 1)
{
SendClientMessage(playerid,COLOR_RED,\"Lenémítva nem tudsz beszélni öcsi!\");
return 0;
}
return 1;
}
forward MutedTime(playerid);
public MutedTime(playerid)
{
SetPVarInt(playerid,\"Muted\",0);
SendClientMessage(playerid,COLOR_GREEN,\"Fel lett oldva a némításod legközelebb okosan!\");
return 1;
}
public OnPlayerCommandReceived( playerid, cmdtext[] )
{
if(GetPVarInt(playerid,\"Muted\") == 1)
{
SendClientMessage(playerid,COLOR_RED,\"Lenémítva nem tudsz parancsot használni!\");
return 0;
}
return 1;
}
Tesztelve mûködik.