Wyjaśnię na moim pluginie

Jest to prosty plugin polegający na wpisaniu rr lub /rr i pokazuje menu pod 1 są zasady a pod 2 funkcja Restart Rundy

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "RestartRound"
#define VERSION "1.0"
#define AUTHOR "Kacper"
public plugin_init() { // rozpoczynamy plugin
register_plugin(RestartRound, 1.0, Kacper)
register_clcmd("say /rr","funkcja") // pod jaka komenda ma byc wyswietlane menu
register_clcmd("say rr","funkcja") // up mozna dodac dwie komendy
}
// Wyglad menu i kto ma do niego dostep.
public funkcja(id){
new menu = menu_create("RestartRound Menu","sterowanie") // główna nazwa naszego menu
menu_additem(menu," Zasady","1",ADMIN_MENU) // 1 opcja w naszym menu . ADMIN_MENU czyli admin który ma dostęp do amxmodmenu
menu_additem(menu," Restart Rundy","2",ADMIN_PASSWORD) // 2 opcja w naszym menu. ADMIN_PASSWORD czyli admin który ma dostęp do amx_cvar
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) // opcja do zamknięcia menu
menu_display(id,menu,0)
}
// uczymy plugin co i jak
public sterowanie(id,menu,item){
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:{
show_motd(id,"zasady.txt","Zasady") // case 1:{ oznacza 1 opcje w menu. show_mot(id,"zasady.txt","Zasady") - czyta plik zasady.txt z cstrike
}
case 2:{
client_cmd(id,"sv_restart 1") // client_cmd(id,"sv_restart 1") wywołuje komende u admina w consoli
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
Mi ten plugin działa tak jak sobie to wyobrażałem.

Mam nadzieję, że już wiesz coś więcej o pisaniu pluginów.
PS. Nie wiem czy dobrze wytłumaczyłem, bo w tłumaczeniu nie jestem zbytnio dobry
Użytkownik Kacper357 edytował ten post 23.10.2011 10:18