Gag eklentisindeki sorun için Yardım
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 1394
- Kayıt: Prş Şub 08, 2018 7:48 am
- Konum: İstanbul
- Clan İsmi: IMMORTAL Gaming
- İletişim:
Gag eklentisindeki sorun için Yardım
Selam. Attiğim gag eklentisinde gaglanan kişinin süresi dolduğu zaman otomatik gag'ı kalkmıyor. Elle kaldırmamız gerekiyor. Bu sorunu düzeltebilecek varmı ? @ShooTeR @Yek'-ta
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
-
- Mesajlar: 922
- Kayıt: Pzt Şub 05, 2018 2:10 pm
- Konum: Bursa
- Server Ip/DNS: -
- Clan İsmi: -
- İletişim:
Gag eklentisindeki sorun için Yardım
Paneldeki Default Eklentiyi Niye Kullanmıyorsunuz ?
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 1394
- Kayıt: Prş Şub 08, 2018 7:48 am
- Konum: İstanbul
- Clan İsmi: IMMORTAL Gaming
- İletişim:
Gag eklentisindeki sorun için Yardım
Hem diğer eklentiler gibi renkli yazı olması hemde Türkçe ve daha belirgin olmasını istediğim için.
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 1394
- Kayıt: Prş Şub 08, 2018 7:48 am
- Konum: İstanbul
- Clan İsmi: IMMORTAL Gaming
- İletişim:
-
- Mesajlar: 4496
- Kayıt: Çrş Ağu 16, 2017 10:35 pm
- Server Ip/DNS: CSXX.CSDURAGI.COM
- Clan İsmi: NoMercy
Gag eklentisindeki sorun için Yardım
Kod: Tümünü seç
#define VoiceCommMute 1 // 0 = Disabled ( no extra module required ) | 1 = Voicecomm muteing enabled. ( requires engine module)
#define BlockNameChange 1 // 0 = Disabled | 1 = Block namechange on gagged clients
#define LogAdminActions 1 // 0 = Disabled | 1 = Admin actions will be logged
#define DefaultGagTime 60.0 // The std gag time if no other time was entered. ( this is 10 min ), Remember the value MUST contain a .0
#define PlaySound 0 // 0 = Disabled | 1 = Play a sound to gagged clients when their trying to talk
#define GagReason 0 // 0 = Disabled | 1 = Gagged clients can see why there where gagged when they try to talk
#define MaxPlayers 32
#define AllowOtherPlugin2Interface 1
#define TAG "IMMORTAL"
#include <amxmodx>
#include <amxmisc>
#include <engine>
new g_GagPlayers[MaxPlayers+1] // Used to check if a player is gagged
#if GagReason == 1
new gs_GagReason[MaxPlayers+1][48]
#endif
public plugin_init()
{
register_plugin("Admin Gag","1.8.3","EKS")
register_clcmd("say","block_gagged")
register_clcmd("say_team","block_gagged")
register_concmd("amx_gag","CMD_GagPlayer",ADMIN_KICK,"<nick or #userid> <a|b|c> <time>")
register_concmd("amx_ungag","CMD_UnGagPlayer",ADMIN_KICK,"<nick or #userid>")
}
public block_gagged(id){ // This function is what check the say / team_say messages & block them if the client is blocked.
if(!g_GagPlayers[id]) return PLUGIN_CONTINUE // Is true if the client is NOT blocked.
new cmd[5]
read_argv(0,cmd,4)
if ( cmd[3] == '_' )
{
if (g_GagPlayers[id] & 2){
#if GagReason == 1
renkli_yazi(id,"!n[!t%s!n] !t%s !gSebiyle !tGag !gyedin.",TAG,gs_GagReason[id])
#else
renkli_yazi(id,"!n[!t%s!n] !gGag yedigin icin yazi yazamazsin!g. !g[!tYazdiklarina Dikkat Et!g]",TAG)
#endif
#if PlaySound == 1
client_cmd(id,"spk barney/youtalkmuch")
#endif
return PLUGIN_HANDLED
}
}
else if (g_GagPlayers[id] & 1) {
#if GagReason == 1
renkli_yazi(id,"!n[!g%s!n] !t%s !gSebiyle !tGag !gyedin.",TAG,gs_GagReason[id])
#else
renkli_yazi(id,"!n[!g%s!n] !gGag yedigin icin yazi yazamazsin!g. !g[!tYazdiklarina Dikkat Et!g]",TAG)
#endif
#if PlaySound == 1
client_cmd(id,"spk barney/youtalkmuch")
#endif
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public CMD_GagPlayer(id,level,cid)
{
if(!cmd_access (id,level,cid,1)) return PLUGIN_HANDLED
new arg[32],VictimID
read_argv(1,arg,31) // Arg contains Targets nick or Userid
VictimID = cmd_target(id,arg,8) // This code here tryes to find out the player index. Either from a nick or #userid
if ((get_user_flags(VictimID) & ADMIN_IMMUNITY) && VictimID != id || !cmd_access (id,level,cid,2) ) { return PLUGIN_HANDLED; } // This code is kind of "long", its job is to. Stop actions against admins with immunity, Stop actions action if the user lacks access, or is a bot/hltv
new s_Flags[4],VictimName[32],AdminName[32],flags,ShowFlags[32],CountFlags,s_GagTime[8],Float:f_GagTime
read_argv(2,arg,31)
if (!arg[0]) // This means amx_gag <nick / userid> and no other flag or time was used.
{
f_GagTime = DefaultGagTime
format(s_Flags,7,"abc")
}
else
{
if(contain(arg,"m")!=-1 && contain(arg,"!")==-1) // This means the time was entered in minuts and not seconds
{
copyc(s_GagTime,7,arg, 'm')
f_GagTime = floatstr(s_GagTime)
}
else if(isdigit(arg[0])&& contain(arg,"!")==-1) // The value was entered in seconds
{
format(s_GagTime,7,arg)
f_GagTime = floatstr(s_GagTime)
}
read_argv(3,arg,8)
if (!arg[0]) // No flag has been entered
format(s_Flags,7,"abc")
else if(contain(arg,"!")==-1) // This means that arg did NOT contain the ! symbot
format(s_Flags,7,arg)
else if(contain(arg,"!")!=-1) // This means that arg did DOES contain the ! symbot
format(s_Flags,7,"abc")
if (f_GagTime == 0.0)
{
read_argv(2,arg,8)
if(contain(arg,"!")!=-1)
format(s_Flags,3,"abc") // Flag was entered.
else
format(s_Flags,3,arg) // Flag was entered.
f_GagTime = DefaultGagTime
}
#if GagReason == 1
new GagReasonFound=0
for(new i=2;i<=4;i++)
{
read_argv(i,arg,31)
if(contain(arg,"!")!=-1)
{
read_args(arg,31)
new tmp[32]
copyc(tmp,32,arg,33)
copy(gs_GagReason[VictimID],47,arg[strlen(tmp)+1])
GagReasonFound = 1
}
}
if(GagReasonFound == 0) // If no reason was entered, add the std reason.
format(gs_GagReason[VictimID],47,"Kurallara uymadigin icin Gaglandin.")
#endif
}
flags = read_flags(s_Flags) // Converts the string flags ( a,b or c ) into a int
g_GagPlayers[VictimID] = flags
#if VoiceCommMute == 1
if(flags & 4) // This code checks if the c flag was used ( reprisented by the number 4 ), If pressent it mutes his voicecomm.
set_speak(VictimID, SPEAK_MUTED)
#endif
new TaskParm[1] // For some reason set_task requires a array. So i make a array :)
TaskParm[0] = VictimID
set_task(f_GagTime,"task_UnGagPlayer",VictimID,TaskParm,1)
CountFlags = 0
if (flags & 1)
{
format(ShowFlags,31,"say")
CountFlags++
}
if (flags & 2)
{
if(CountFlags)
format(ShowFlags,31,"%s / say_team",ShowFlags)
if(!CountFlags)
format(ShowFlags,31,"say_team")
}
#if VoiceCommMute != 0
if(flags & 4)
{
if(CountFlags)
format(ShowFlags,31,"%s / voicecomm",ShowFlags)
if(!CountFlags)
format(ShowFlags,31,"voicecomm")
}
#endif
get_user_name(id,AdminName,31)
get_user_name(VictimID,VictimName,31)
switch(get_cvar_num("amx_show_activity"))
{
#if GagReason == 1
case 2: renkli_yazi(0,"!n[!g%s!n] !n[!t%s!n] !gyetkili !n[!t%s!n] !gadli oyuncuyu !t%0.0f !gSaniye !tGag'ladi., !tSebeb!n: !g%s !n( %s )",TAG,AdminName,VictimName,(f_GagTime),gs_GagReason[VictimID],ShowFlags) // debug added
case 1: renkli_yazi(0,"!n[!g%s!n] !t[%s] !gadli oyuncu !t%0.0f !gSaniye !tGag'landi., !tSebeb!n: !g%s !n( %s )",TAG,VictimName,(f_GagTime),gs_GagReason[VictimID],ShowFlags)
#else
case 2: renkli_yazi(0,"!n[!g%s!n] !n[!t%s!n] !gyetkili !n[!t%s!n] !gadli oyuncuyu !t%0.0f !gSaniye !tGag'ladi., ( %s )",TAG,AdminName,VictimName,(f_GagTime),ShowFlags) // debug added
case 1: renkli_yazi(0,"!n[!g%s!n] !t[%s] !gadli oyuncu !t%0.0f Saniye !tGag'landi., ( %s )",TAG,VictimName,(f_GagTime),ShowFlags)
#endif
}
#if LogAdminActions == 1
new parm[5] /*0 = Victim id | 1 = Admin id | 2 = Used to control if its a gag or Ungag | 3 = The gag flags | 4 = Length of the gag */
parm[0] = VictimID
parm[1] = id
parm[2] = 0
parm[3] = flags
parm[4] = floatround(Float:f_GagTime)
LogAdminAction(parm)
#endif
return PLUGIN_HANDLED
}
public CMD_UnGagPlayer(id,level,cid) /// Removed gagged player ( done via console command )
{
new arg[32],VictimID
read_argv(1,arg,31) // Arg contains Targets nick
VictimID = cmd_target(id,arg,8) // This code here tryes to find out the player index. Either from a nick or #userid
if ((get_user_flags(VictimID) & ADMIN_IMMUNITY) && VictimID != id || !cmd_access (id,level,cid,2) ) { return PLUGIN_HANDLED; } // This code is kind of "long", its job is to. Stop actions against admins with immunity, Stop actions action if the user lacks access, or is a bot/hltv
new AdminName[32],VictimName[32]
get_user_name(id,AdminName,31) // Gets Admin name
get_user_name(VictimID,VictimName,31)
if(!g_GagPlayers[VictimID]) // Checks if player has gagged flag
{
console_print(id,"%s Is Not Gagged & Cannot Be Ungagged.",arg)
return PLUGIN_HANDLED
}
switch(get_cvar_num("amx_show_activity"))
{
case 2: renkli_yazi(0,"!n[!g%s!n] !n[!t%s!n] !gyetkili !n[!t%s!n] !gAdli oyuncunun Gag'ini !tKALDIRDI!g!",TAG,AdminName,VictimName)
case 1: renkli_yazi(0,"!n[!g%s!n] !t[%s] !gadli oyuncunun Gag'i !tKALDIRILDI!g!",TAG,VictimName)
}
#if LogAdminActions == 1
new parm[3] /*0 = Victim id | 1 = Admin id | 2 = Used to control if its a gag or Ungag | 3 = The gag flags | 4 = Length of the gag */
parm[0] = VictimID
parm[1] = id
parm[2] = 1
LogAdminAction(parm)
#endif
remove_task(VictimID) // Removes the set_task set to ungag the player
UnGagPlayer(VictimID) // This is the function that does the actual removal of the gag info
return PLUGIN_HANDLED
}
public client_disconnect(id)
{
if(g_GagPlayers[id]) // Checks if disconnected player is gagged, and removes flags from his id.
{
new Nick[32],Authid[35]
get_user_name(id,Nick,31)
get_user_authid(id,Authid,34)
renkli_yazi(0,"!n[!t%s!n] ( !g%s <%s> !n) !gGag'liyken oyundan !tAyrildi.",TAG,Nick,Authid)
remove_task(id) // Removes the set_task set to ungag the player
UnGagPlayer(id) // This is the function that does the actual removal of the gag info
}
}
#if BlockNameChange == 1
public client_infochanged(id)
{
if(g_GagPlayers[id])
{
new newname[32], oldname[32]
get_user_info(id, "name", newname,31)
get_user_name(id,oldname,31)
if (!equal(oldname,newname))
{
renkli_yazi(id,"!n[!g%s!n] !gGag'li iken !tNick !gDegistiremezsin!t!",TAG)
set_user_info(id,"name",oldname)
}
}
}
#endif
public task_UnGagPlayer(TaskParm[]) // This function is called when the task expires
{
new VictimName[32]
get_user_name(TaskParm[0],VictimName,31)
renkli_yazi(0,"!n[!t%s!n] !t%s !gadli oyuncunun !gGag'i !tKALDIRILDI!g!",VictimName)
ungaghuman(TaskParm[0])
}
public ungaghuman(id)
{
new name[32]
get_user_name(id,name,31)
server_cmd("amx_ungag %s",name)
}
#if LogAdminActions == 1
stock LogAdminAction(parm[]) // This code is what logs the admin actions.
{
new VictimName[32],AdminName[32],AdminAuth[35],VictimAuth[35]
get_user_name(parm[1],AdminName,31)
get_user_name(parm[0],VictimName,31)
get_user_authid(parm[1],AdminAuth,34)
get_user_authid(parm[0],VictimAuth,34)
#if GagReason == 1
if(parm[2] == 0)
log_amx("Gag: ^"%s<%s>^" Has Gagged %s <%s> for %d ( %d ) Reason: %s",AdminName,AdminAuth,VictimName,VictimAuth,parm[4],parm[3],gs_GagReason[parm[0]])
#else
if(parm[2] == 0)
log_amx("Gag: ^"%s<%s>^" Has Gagged %s <%s> for %d ( %d )",AdminName,AdminAuth,VictimName,VictimAuth,parm[4],parm[3])
#endif
if(parm[2] == 1)
log_amx("UnGag: ^"%s<%s>^" Has Ungagged %s<%s>",AdminName,AdminAuth,VictimName,VictimAuth)
}
#endif
stock UnGagPlayer(id) // This code is what removes the gag.
{
#if VoiceCommMute == 1
if(g_GagPlayers[id] & 4) // Unmutes the player if he had voicecomm muted.
{
if(get_cvar_num("sv_alltalk") == 1)
set_speak(id, SPEAK_ALL)
else
set_speak(id, SPEAK_NORMAL)
}
#endif
g_GagPlayers[id] = 0
#if GagReason == 1
setc(gs_GagReason[id],31,0)
#endif
}
#if AllowOtherPlugin2Interface == 1
public func_AddGag(id)
{
g_GagPlayers[id] = 7
new TaskParm[1] // For some reason set_task requires a array. So i make a array :)
TaskParm[0] = id
#if VoiceCommMute == 1
set_speak(id, SPEAK_MUTED)
#endif
set_task( DefaultGagTime,"task_UnGagPlayer",id,TaskParm,1)
}
public func_RemoveGag(id)
{
remove_task(id) // Removes the set_task set to ungag the player
UnGagPlayer(id)
#endif
}
stock renkli_yazi(const id, const input[], any:...) {
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!n", "^x01");
replace_all(msg, 190, "!g", "^x04");
replace_all(msg, 190, "!t", "^x03");
if (id) players[0] = id; else get_players(players, count, "ch"); {
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 1394
- Kayıt: Prş Şub 08, 2018 7:48 am
- Konum: İstanbul
- Clan İsmi: IMMORTAL Gaming
- İletişim:
Gag eklentisindeki sorun için Yardım
Malesef aynı sorun. Gag atarken say mesajında saniye bazında görünüyor. Ama plugin içinde dakika olarak düzenlenmiş olabilirmi.ShooTeR yazdı: Cum Şub 23, 2018 10:06 pmDene bakimKod: Tümünü seç
#define VoiceCommMute 1 // 0 = Disabled ( no extra module required ) | 1 = Voicecomm muteing enabled. ( requires engine module) #define BlockNameChange 1 // 0 = Disabled | 1 = Block namechange on gagged clients #define LogAdminActions 1 // 0 = Disabled | 1 = Admin actions will be logged #define DefaultGagTime 60.0 // The std gag time if no other time was entered. ( this is 10 min ), Remember the value MUST contain a .0 #define PlaySound 0 // 0 = Disabled | 1 = Play a sound to gagged clients when their trying to talk #define GagReason 0 // 0 = Disabled | 1 = Gagged clients can see why there where gagged when they try to talk #define MaxPlayers 32 #define AllowOtherPlugin2Interface 1 #define TAG "IMMORTAL" #include <amxmodx> #include <amxmisc> #include <engine> new g_GagPlayers[MaxPlayers+1] // Used to check if a player is gagged #if GagReason == 1 new gs_GagReason[MaxPlayers+1][48] #endif public plugin_init() { register_plugin("Admin Gag","1.8.3","EKS") register_clcmd("say","block_gagged") register_clcmd("say_team","block_gagged") register_concmd("amx_gag","CMD_GagPlayer",ADMIN_KICK,"<nick or #userid> <a|b|c> <time>") register_concmd("amx_ungag","CMD_UnGagPlayer",ADMIN_KICK,"<nick or #userid>") } public block_gagged(id){ // This function is what check the say / team_say messages & block them if the client is blocked. if(!g_GagPlayers[id]) return PLUGIN_CONTINUE // Is true if the client is NOT blocked. new cmd[5] read_argv(0,cmd,4) if ( cmd[3] == '_' ) { if (g_GagPlayers[id] & 2){ #if GagReason == 1 renkli_yazi(id,"!n[!t%s!n] !t%s !gSebiyle !tGag !gyedin.",TAG,gs_GagReason[id]) #else renkli_yazi(id,"!n[!t%s!n] !gGag yedigin icin yazi yazamazsin!g. !g[!tYazdiklarina Dikkat Et!g]",TAG) #endif #if PlaySound == 1 client_cmd(id,"spk barney/youtalkmuch") #endif return PLUGIN_HANDLED } } else if (g_GagPlayers[id] & 1) { #if GagReason == 1 renkli_yazi(id,"!n[!g%s!n] !t%s !gSebiyle !tGag !gyedin.",TAG,gs_GagReason[id]) #else renkli_yazi(id,"!n[!g%s!n] !gGag yedigin icin yazi yazamazsin!g. !g[!tYazdiklarina Dikkat Et!g]",TAG) #endif #if PlaySound == 1 client_cmd(id,"spk barney/youtalkmuch") #endif return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public CMD_GagPlayer(id,level,cid) { if(!cmd_access (id,level,cid,1)) return PLUGIN_HANDLED new arg[32],VictimID read_argv(1,arg,31) // Arg contains Targets nick or Userid VictimID = cmd_target(id,arg,8) // This code here tryes to find out the player index. Either from a nick or #userid if ((get_user_flags(VictimID) & ADMIN_IMMUNITY) && VictimID != id || !cmd_access (id,level,cid,2) ) { return PLUGIN_HANDLED; } // This code is kind of "long", its job is to. Stop actions against admins with immunity, Stop actions action if the user lacks access, or is a bot/hltv new s_Flags[4],VictimName[32],AdminName[32],flags,ShowFlags[32],CountFlags,s_GagTime[8],Float:f_GagTime read_argv(2,arg,31) if (!arg[0]) // This means amx_gag <nick / userid> and no other flag or time was used. { f_GagTime = DefaultGagTime format(s_Flags,7,"abc") } else { if(contain(arg,"m")!=-1 && contain(arg,"!")==-1) // This means the time was entered in minuts and not seconds { copyc(s_GagTime,7,arg, 'm') f_GagTime = floatstr(s_GagTime) } else if(isdigit(arg[0])&& contain(arg,"!")==-1) // The value was entered in seconds { format(s_GagTime,7,arg) f_GagTime = floatstr(s_GagTime) } read_argv(3,arg,8) if (!arg[0]) // No flag has been entered format(s_Flags,7,"abc") else if(contain(arg,"!")==-1) // This means that arg did NOT contain the ! symbot format(s_Flags,7,arg) else if(contain(arg,"!")!=-1) // This means that arg did DOES contain the ! symbot format(s_Flags,7,"abc") if (f_GagTime == 0.0) { read_argv(2,arg,8) if(contain(arg,"!")!=-1) format(s_Flags,3,"abc") // Flag was entered. else format(s_Flags,3,arg) // Flag was entered. f_GagTime = DefaultGagTime } #if GagReason == 1 new GagReasonFound=0 for(new i=2;i<=4;i++) { read_argv(i,arg,31) if(contain(arg,"!")!=-1) { read_args(arg,31) new tmp[32] copyc(tmp,32,arg,33) copy(gs_GagReason[VictimID],47,arg[strlen(tmp)+1]) GagReasonFound = 1 } } if(GagReasonFound == 0) // If no reason was entered, add the std reason. format(gs_GagReason[VictimID],47,"Kurallara uymadigin icin Gaglandin.") #endif } flags = read_flags(s_Flags) // Converts the string flags ( a,b or c ) into a int g_GagPlayers[VictimID] = flags #if VoiceCommMute == 1 if(flags & 4) // This code checks if the c flag was used ( reprisented by the number 4 ), If pressent it mutes his voicecomm. set_speak(VictimID, SPEAK_MUTED) #endif new TaskParm[1] // For some reason set_task requires a array. So i make a array :) TaskParm[0] = VictimID set_task(f_GagTime,"task_UnGagPlayer",VictimID,TaskParm,1) CountFlags = 0 if (flags & 1) { format(ShowFlags,31,"say") CountFlags++ } if (flags & 2) { if(CountFlags) format(ShowFlags,31,"%s / say_team",ShowFlags) if(!CountFlags) format(ShowFlags,31,"say_team") } #if VoiceCommMute != 0 if(flags & 4) { if(CountFlags) format(ShowFlags,31,"%s / voicecomm",ShowFlags) if(!CountFlags) format(ShowFlags,31,"voicecomm") } #endif get_user_name(id,AdminName,31) get_user_name(VictimID,VictimName,31) switch(get_cvar_num("amx_show_activity")) { #if GagReason == 1 case 2: renkli_yazi(0,"!n[!g%s!n] !n[!t%s!n] !gyetkili !n[!t%s!n] !gadli oyuncuyu !t%0.0f !gSaniye !tGag'ladi., !tSebeb!n: !g%s !n( %s )",TAG,AdminName,VictimName,(f_GagTime),gs_GagReason[VictimID],ShowFlags) // debug added case 1: renkli_yazi(0,"!n[!g%s!n] !t[%s] !gadli oyuncu !t%0.0f !gSaniye !tGag'landi., !tSebeb!n: !g%s !n( %s )",TAG,VictimName,(f_GagTime),gs_GagReason[VictimID],ShowFlags) #else case 2: renkli_yazi(0,"!n[!g%s!n] !n[!t%s!n] !gyetkili !n[!t%s!n] !gadli oyuncuyu !t%0.0f !gSaniye !tGag'ladi., ( %s )",TAG,AdminName,VictimName,(f_GagTime),ShowFlags) // debug added case 1: renkli_yazi(0,"!n[!g%s!n] !t[%s] !gadli oyuncu !t%0.0f Saniye !tGag'landi., ( %s )",TAG,VictimName,(f_GagTime),ShowFlags) #endif } #if LogAdminActions == 1 new parm[5] /*0 = Victim id | 1 = Admin id | 2 = Used to control if its a gag or Ungag | 3 = The gag flags | 4 = Length of the gag */ parm[0] = VictimID parm[1] = id parm[2] = 0 parm[3] = flags parm[4] = floatround(Float:f_GagTime) LogAdminAction(parm) #endif return PLUGIN_HANDLED } public CMD_UnGagPlayer(id,level,cid) /// Removed gagged player ( done via console command ) { new arg[32],VictimID read_argv(1,arg,31) // Arg contains Targets nick VictimID = cmd_target(id,arg,8) // This code here tryes to find out the player index. Either from a nick or #userid if ((get_user_flags(VictimID) & ADMIN_IMMUNITY) && VictimID != id || !cmd_access (id,level,cid,2) ) { return PLUGIN_HANDLED; } // This code is kind of "long", its job is to. Stop actions against admins with immunity, Stop actions action if the user lacks access, or is a bot/hltv new AdminName[32],VictimName[32] get_user_name(id,AdminName,31) // Gets Admin name get_user_name(VictimID,VictimName,31) if(!g_GagPlayers[VictimID]) // Checks if player has gagged flag { console_print(id,"%s Is Not Gagged & Cannot Be Ungagged.",arg) return PLUGIN_HANDLED } switch(get_cvar_num("amx_show_activity")) { case 2: renkli_yazi(0,"!n[!g%s!n] !n[!t%s!n] !gyetkili !n[!t%s!n] !gAdli oyuncunun Gag'ini !tKALDIRDI!g!",TAG,AdminName,VictimName) case 1: renkli_yazi(0,"!n[!g%s!n] !t[%s] !gadli oyuncunun Gag'i !tKALDIRILDI!g!",TAG,VictimName) } #if LogAdminActions == 1 new parm[3] /*0 = Victim id | 1 = Admin id | 2 = Used to control if its a gag or Ungag | 3 = The gag flags | 4 = Length of the gag */ parm[0] = VictimID parm[1] = id parm[2] = 1 LogAdminAction(parm) #endif remove_task(VictimID) // Removes the set_task set to ungag the player UnGagPlayer(VictimID) // This is the function that does the actual removal of the gag info return PLUGIN_HANDLED } public client_disconnect(id) { if(g_GagPlayers[id]) // Checks if disconnected player is gagged, and removes flags from his id. { new Nick[32],Authid[35] get_user_name(id,Nick,31) get_user_authid(id,Authid,34) renkli_yazi(0,"!n[!t%s!n] ( !g%s <%s> !n) !gGag'liyken oyundan !tAyrildi.",TAG,Nick,Authid) remove_task(id) // Removes the set_task set to ungag the player UnGagPlayer(id) // This is the function that does the actual removal of the gag info } } #if BlockNameChange == 1 public client_infochanged(id) { if(g_GagPlayers[id]) { new newname[32], oldname[32] get_user_info(id, "name", newname,31) get_user_name(id,oldname,31) if (!equal(oldname,newname)) { renkli_yazi(id,"!n[!g%s!n] !gGag'li iken !tNick !gDegistiremezsin!t!",TAG) set_user_info(id,"name",oldname) } } } #endif public task_UnGagPlayer(TaskParm[]) // This function is called when the task expires { new VictimName[32] get_user_name(TaskParm[0],VictimName,31) renkli_yazi(0,"!n[!t%s!n] !t%s !gadli oyuncunun !gGag'i !tKALDIRILDI!g!",VictimName) ungaghuman(TaskParm[0]) } public ungaghuman(id) { new name[32] get_user_name(id,name,31) server_cmd("amx_ungag %s",name) } #if LogAdminActions == 1 stock LogAdminAction(parm[]) // This code is what logs the admin actions. { new VictimName[32],AdminName[32],AdminAuth[35],VictimAuth[35] get_user_name(parm[1],AdminName,31) get_user_name(parm[0],VictimName,31) get_user_authid(parm[1],AdminAuth,34) get_user_authid(parm[0],VictimAuth,34) #if GagReason == 1 if(parm[2] == 0) log_amx("Gag: ^"%s<%s>^" Has Gagged %s <%s> for %d ( %d ) Reason: %s",AdminName,AdminAuth,VictimName,VictimAuth,parm[4],parm[3],gs_GagReason[parm[0]]) #else if(parm[2] == 0) log_amx("Gag: ^"%s<%s>^" Has Gagged %s <%s> for %d ( %d )",AdminName,AdminAuth,VictimName,VictimAuth,parm[4],parm[3]) #endif if(parm[2] == 1) log_amx("UnGag: ^"%s<%s>^" Has Ungagged %s<%s>",AdminName,AdminAuth,VictimName,VictimAuth) } #endif stock UnGagPlayer(id) // This code is what removes the gag. { #if VoiceCommMute == 1 if(g_GagPlayers[id] & 4) // Unmutes the player if he had voicecomm muted. { if(get_cvar_num("sv_alltalk") == 1) set_speak(id, SPEAK_ALL) else set_speak(id, SPEAK_NORMAL) } #endif g_GagPlayers[id] = 0 #if GagReason == 1 setc(gs_GagReason[id],31,0) #endif } #if AllowOtherPlugin2Interface == 1 public func_AddGag(id) { g_GagPlayers[id] = 7 new TaskParm[1] // For some reason set_task requires a array. So i make a array :) TaskParm[0] = id #if VoiceCommMute == 1 set_speak(id, SPEAK_MUTED) #endif set_task( DefaultGagTime,"task_UnGagPlayer",id,TaskParm,1) } public func_RemoveGag(id) { remove_task(id) // Removes the set_task set to ungag the player UnGagPlayer(id) #endif } stock renkli_yazi(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!n", "^x01"); replace_all(msg, 190, "!g", "^x04"); replace_all(msg, 190, "!t", "^x03"); if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]); write_string(msg); message_end(); } } } }
Mesela 30 saniye gag atiyoruz diyelim otomatik 30 dakika felan atıyor olmasın?
Link: | |
Linklerini gizle |
-
- Mesajlar: 994
- Kayıt: Çrş Haz 22, 2016 6:38 pm
- Konum: ANKARA
- Server Ip/DNS: cs6.csduragi.net
- Clan İsmi: STH Gaming
- İletişim:
Gag eklentisindeki sorun için Yardım
bunu dene buda türkçeGozyasi` yazdı: Cum Şub 23, 2018 7:23 pm Selam. Attiğim gag eklentisinde gaglanan kişinin süresi dolduğu zaman otomatik gag'ı kalkmıyor. Elle kaldırmamız gerekiyor. Bu sorunu düzeltebilecek varmı ? @ShooTeR @Yek'-ta
STH Gaming COMMUNITY Pro Pub Server
Server ip : cs6.csduragi.net / 213.238.173.206 / cs1.sthgaming.org
Web Adresi : http://www.sthgaming.org
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
-
- Mesajlar: 4496
- Kayıt: Çrş Ağu 16, 2017 10:35 pm
- Server Ip/DNS: CSXX.CSDURAGI.COM
- Clan İsmi: NoMercy
Gag eklentisindeki sorun için Yardım
Attıgınız eklentiyle konu sahibinin eklentisi aynı zaten|.Gene[R]aL.| yazdı: Cum Şub 23, 2018 10:32 pmSTH_gag.smaGozyasi` yazdı: Cum Şub 23, 2018 7:23 pm Selam. Attiğim gag eklentisinde gaglanan kişinin süresi dolduğu zaman otomatik gag'ı kalkmıyor. Elle kaldırmamız gerekiyor. Bu sorunu düzeltebilecek varmı ? @ShooTeR @Yek'-ta
bunu dene buda türkçe
STH Gaming COMMUNITY Pro Pub Server
Server ip : cs6.csduragi.net / 213.238.173.206 / cs1.sthgaming.org
Web Adresi : http://www.sthgaming.org
Link: | |
Linklerini gizle |
-
- Mesajlar: 4496
- Kayıt: Çrş Ağu 16, 2017 10:35 pm
- Server Ip/DNS: CSXX.CSDURAGI.COM
- Clan İsmi: NoMercy
Gag eklentisindeki sorun için Yardım
Diyecegim ancak iki eklentiyi karşılastırdıgımda ikisindede kodlama sayısı farklı konu sahibi buyuk oranla editinde yanlışlık yaptığı için oto gag kalkmıyor bakalım...
Link: | |
Linklerini gizle |
-
- Mesajlar: 994
- Kayıt: Çrş Haz 22, 2016 6:38 pm
- Konum: ANKARA
- Server Ip/DNS: cs6.csduragi.net
- Clan İsmi: STH Gaming
- İletişim:
Gag eklentisindeki sorun için Yardım
ozaman baska eklentıyle çakısıyor benım serverımde gayet normal calısmaktaShooTeR yazdı: Cum Şub 23, 2018 10:35 pmAttıgınız eklentiyle konu sahibinin eklentisi aynı zaten|.Gene[R]aL.| yazdı: Cum Şub 23, 2018 10:32 pmSTH_gag.smaGozyasi` yazdı: Cum Şub 23, 2018 7:23 pm Selam. Attiğim gag eklentisinde gaglanan kişinin süresi dolduğu zaman otomatik gag'ı kalkmıyor. Elle kaldırmamız gerekiyor. Bu sorunu düzeltebilecek varmı ? @ShooTeR @Yek'-ta
bunu dene buda türkçe
STH Gaming COMMUNITY Pro Pub Server
Server ip : cs6.csduragi.net / 213.238.173.206 / cs1.sthgaming.org
Web Adresi : http://www.sthgaming.org
Link: | |
Linklerini gizle |