Próbowałem napisać swój 1 plugin.
Jednak mam problem. Po wpisaniu do konsoli perm_mute nick ciągle wyskakuje mi
Użycie: <nick>.
"Dałem" sobie perm mute, jednak nie zapisało się to do pliku.
Wygląda to tak:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <engine>
new ma_mute[33]
new plik_vault
public plugin_init(){
plik_vault=nvault_open("mute_list")
register_clcmd("perm_mute","dawanie_mute",ADMIN_IMMUNITY,"<nick>")
}
public client_connect(id){
wczytaj_mute(id)
if(ma_mute[id]>0){
set_speak(id, SPEAK_MUTED)
}
}
public client_disconnect(id){
zapisz_mute(id)
ma_mute[id]=0
}
public plugin_end(){
nvault_close(plik_vault)
}
public dawanie_mute(id,level,cid){
if(!cmd_access(id,level,cid,3)) return PLUGIN_HANDLED
new arg1[32]
read_argv(1,arg1,31)
new player=cmd_target(id,arg1,CMDTARGET_ALLOW_SELF)
if (!player)
{
console_print(id, "Gracz %s nie zostal odnaleziony.",arg1)
return PLUGIN_HANDLED
}else
{
ma_mute[id]=1
set_speak(id, SPEAK_MUTED)
client_print(id,print_chat,"*** Zostales wyciszony na zawsze ***")
}
return PLUGIN_HANDLED
}
public wczytaj_mute(id)
{
new name[35]
get_user_name(id,name,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-mute",name)
format(vaultdata,255,"%d#",ma_mute[id])
nvault_get(plik_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new fragitemp[33],deadstemp[33]
parse(vaultdata,fragitemp,32,deadstemp,32)
return PLUGIN_CONTINUE
}
public zapisz_mute(id){
if(ma_mute[id] > 0){
new name[35]
get_user_name(id,name,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-mute",name)
format(vaultdata,255,"%d#",ma_mute[id])
nvault_set(plik_vault,vaultkey,vaultdata)
}
return PLUGIN_CONTINUE
}