Offline |
|
|
Csatlakozott: 2016.05.28. 18:14 Hozzászólások: 34
Megköszönték neki: 1 alkalommal
|
voga955 írta: Hogyan tudném megoldani, hogy mikor valaki csapatot választ ennél a pluginnal ne azt írja ki ,hogy csak 1 csapatváltás engedélyezett 1 körben ,mivel az gungame-ra nem lenne előnyös Hanem azt ,hogy csak xy perc után válthatsz csapatot! És ezt is funkcionálja ne ezt írja csak ,tehát időnként lehessen csapatot váltani egy adott időnként. #include <amxmodx> #include <fakemeta> new bool:ChooseTeam_Used[33]; new bool:DetectVIPMap[33]; public plugin_init() { register_plugin("xy" , "2.0" , "xy" ); register_message(get_user_msgid("ShowMenu"), "MenuTeam"); register_message(get_user_msgid("VGUIMenu"), "VGUITeam"); register_concmd( "say /team", "OpenMenu" ); register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0"); new entity = -1; if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0) { DetectVIPMap[0] = true; } else { DetectVIPMap[0] = false; } } public Event_HLTV_New_Round(id) { arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used)); } public client_authorized(id) { ChooseTeam_Used[id] = false; } public OpenMenu(id) { if(DetectVIPMap[0] == false) { menu_cancel(id); TeamMenu(id); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public MenuTeam(msg, des, rec) { if(DetectVIPMap[0] == false) { static const TeamSelect[] = "#Team_Select"; static sz_Menu[sizeof(TeamSelect)]; get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu)); if(!equal( sz_Menu, TeamSelect)) { return PLUGIN_CONTINUE; } set_pdata_int(rec, 205, 0); TeamMenu(rec); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public VGUITeam(msg, des, rec) { if(get_msg_arg_int(1) != 2) { return PLUGIN_CONTINUE; } TeamMenu(rec); return PLUGIN_HANDLED; } public TeamMenu(id) { if(ChooseTeam_Used[id] == true) { client_print(id, print_center, "Csak 1 csapat valtas engedelyezett 1 korben."); return PLUGIN_HANDLED; } new iPlayers[32], iNumCT , iNumT; get_players(iPlayers, iNumCT, "e", "CT" ); get_players(iPlayers, iNumT, "e", "TERRORIST"); new menu = menu_create("\r-|MNK|-\y Válassz csapatot\r!", "TeamMenu_Handler"); new szTittle[124]; formatex(szTittle, charsmax(szTittle), "\r[\wTerrorista\r] \r[\y%d\r]", iNumT); menu_additem(menu, szTittle, "1") formatex(szTittle, charsmax(szTittle), "\r[\wAnti-Terrorista\r] \r[\y%d\r]^n", iNumCT); menu_additem(menu, szTittle, "2") menu_additem(menu, "\wAutomatikus választás^n", "3"); menu_additem(menu, "\r[\wNĂ©zĹ‘\r]", "4"); menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s"); menu_display(id, menu, 0); return PLUGIN_CONTINUE; } public TeamMenu_Handler(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_HANDLED; } new Name[64], Data[6], Access, Callback; menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback); static choose[4][2] = {"1","2","5","6"}; engclient_cmd(id, "jointeam", choose[Data[0] - '1']); ChooseTeam_Used[id] = true; menu_destroy(menu); return PLUGIN_HANDLED; }
Kiveszed a változót belőle, aztán az initbe raksz egy taskot, ami ellenőrzi, h lejárt-e az adott játékos csapatváltó ideje. Ha lejárt akkor válthat, ha még nm járt le, akk üzenetet dobsz neki.
Ők köszönték meg Ni[T]r0 nek ezt a hozzászólást: voga955 (2016.07.31. 14:09) |
|
|