Witam,
Mam plugin, w którym po wpisaniu /modele można wybrać jeden z 4 modeli. Chciałbym aby na wstępie na serwer gracz miał wylosowany jeden z tych modeli bez wpisywania /modele. Jak mógłbym to zestawić razem?
#include <amxmodx> #include <cstrike> #pragma semicolon 1 #define MENUITEM_DISABLED (1<<26) new g_Model[33]; new g_ModelFiles[][][] = { {"saperterro", "ctsplinter"}, {"oranget", "camoct"}, {"phoenixt", "urbanos"}, {"viptt", "snowct"} }; new g_ModelNames[][] = { "Model 1", "Model 2", "Model 3", "Model 4" }; #if ( sizeof g_ModelNames != sizeof g_ModelFiles ) #error You have to format the g_ModelFiles to the same size as g_ModelNames #endif public plugin_init() { register_plugin("Modele VIP", "1.0", "Gasior"); register_event("ResetHUD", "resetModel", "b"); register_clcmd("say /modele", "modelevip"); return PLUGIN_CONTINUE; } public plugin_precache() { new tempfile[128]; for ( new i = 0 ; i < sizeof g_ModelFiles ; i++ ) { for ( new j = 0 ; j < 2 ; j++ ) { formatex(tempfile, 127, "models/player/%s/%s.mdl", g_ModelFiles[i][j], g_ModelFiles[i][j]); precache_model(tempfile); } } } public client_connect(id) { g_Model[id] = 0; } public modelevip(id) { if ( ! ( get_user_flags(id) & ADMIN_LEVEL_H ) ) return; new menu = menu_create( "\yWybierz swoj VIP Model:", "menu_handler" ); new i; for ( i = 0 ; i < sizeof g_ModelFiles ; i++ ) { new menuitem[64]; formatex(menuitem, charsmax(menuitem), "\%c%s", g_Model[id] - 1 == i ? 'd' : 'w', g_ModelNames[i]); menu_additem(menu, menuitem,_, g_Model[id] - 1 == i ? MENUITEM_DISABLED : 0); } menu_addblank(menu, 0); menu_additem(menu, "Domyslny Model"); menu_addblank(menu, 0); menu_addtext(menu, "Dziekujemy za bycie VIPem na FFA ProjektSpark.pl", 0); menu_display(id, menu); } public menu_handler(id, menu, item) { if ( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } if ( item == sizeof g_ModelFiles ) g_Model[id] = 0; else g_Model[id] = item + 1; resetModel(id); return PLUGIN_CONTINUE; } public resetModel(id) { if ( ! is_user_connected(id) ) return; new userTeam2, CsTeams:userTeam = cs_get_user_team(id); switch ( userTeam ) { case CS_TEAM_T: userTeam2 = 1; case CS_TEAM_CT: userTeam2 = 2; } if ( g_Model[id] && userTeam2 ) cs_set_user_model(id, g_ModelFiles[g_Model[id] - 1][userTeam2 - 1]); else cs_reset_user_model(id); return; }