Czy taki zapis jest poprawny
EufooZ
15.03.2011
Witam, jako iż to mój pierwszy plug, chciałbym się spytać, czy taki zapis jest poprawny ?
Plugin ma na celu resetowanie statystyk tylko i wyłącznie dla osób z immu. Jak widać resztę w pluginie.
Czekam na odpowiedzi.
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#define PLUGIN "Resetowanie Statystyk"
#define VERSION "1.0"
#define AUTHOR "PaCzeK"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("amx_reset","1")
register_clcmd("say /ress", "staty")
register_clcmd("say ress", "staty")
register_clcmd("ress", "staty")
}
public staty(id)
{
if( get_user_flags(id) & ADMIN_IMMUNITY )
{
if(get_cvar_num("amx_reset") == 1){
new szName [32];
get_user_name(id, szName, 31)
client_cmd(id, "amx_cvar csstats_reset 1")
ColorChat(0, RED, "[Staty]^x01 %s^x04 - zresetowal statystyki !", szName)
}
else if(get_cvar_num("amx_reset") == 0){
ColorChat(id, GREEN, "[Staty]^x01 Opcja resetowania statystyk wylaczona !")
}
}
else
{
ColorChat(id, GREEN, "[Staty]^x01 Nie masz uprawnien do uzycia tej komendy !")
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1045{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
Plugin ma na celu resetowanie statystyk tylko i wyłącznie dla osób z immu. Jak widać resztę w pluginie.
Czekam na odpowiedzi.
GoldeN 15.03.2011
Twój jest dobry, aczkolwiek lepiej zamiast ifów, użyć switch:
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
new ress_cvar;
public plugin_init() {
register_plugin("Resetowanie Statystyk", "1.0", "PaCzeK")
ress_cvar = register_cvar("amx_reset","1")
register_clcmd("say /ress", "staty")
register_clcmd("say ress", "staty")
register_clcmd("ress", "staty")
}
public staty(id){
if( get_user_flags(id) & ADMIN_IMMUNITY ){
switch(ress_cvar){
case 0: {
ColorChat(id, GREEN, "[Staty]^x01 Opcja resetowania statystyk wylaczona !")
return PLUGIN_HANDLED;
}
case 1:{
new szName [32];
get_user_name(id, szName, 31)
client_cmd(id, "amx_cvar csstats_reset 1")
ColorChat(0, RED, "[Staty]^x01 %s^x04 - zresetowal statystyki !", szName)
return PLUGIN_HANDLED;
}
}
}
else ColorChat(id, GREEN, "[Staty]^x01 Nie masz uprawnien do uzycia tej komendy !")
return PLUGIN_CONTINUE;
}
R3X
15.03.2011
no dobra zablokowałeś komendę, ale ludzie bez immunitetu w dalszym ciągu mogą zrobić:
amx_cvar csstats_reset 1ewentualnie
amx_rcon csstats_reset 1
EufooZ
15.03.2011
No dobra, ale jak to zrobią jak to zwykli gracze bez flag.
Mi chodzi tylko o takie coś, uczę się pisać pluginy to po prostu chciałbym spytać się czy dobrze robię
A da się tak jak R3X mówi w tym pluginie zrobić tak, aby ta komenda była zablokowana i działała tylko z tymi co jest w pluginie czyli only admin immu ?
Ale zdaje mi się, że to by było grzebać już gdzieś indziej, nie ?
GoldeN
Pewnie lepiej ze switch bo czytałem o tym, lecz tak mi było łatwiej
Edited by EufooZ, 15.03.2011 16:29.
Mi chodzi tylko o takie coś, uczę się pisać pluginy to po prostu chciałbym spytać się czy dobrze robię
A da się tak jak R3X mówi w tym pluginie zrobić tak, aby ta komenda była zablokowana i działała tylko z tymi co jest w pluginie czyli only admin immu ?
Ale zdaje mi się, że to by było grzebać już gdzieś indziej, nie ?
GoldeN
Pewnie lepiej ze switch bo czytałem o tym, lecz tak mi było łatwiej
Edited by EufooZ, 15.03.2011 16:29.