Problem z "block"
Najlepsza odpowiedź Muminek 29.10.2013 16:37
Dzięki wielkie, po analizie doszedłem do wniosku, że nie działało mi to co ja zrobiłem w 1 poście ponieważ nie miałem biblioteki: #include <amxmisc>
Pozdrawiam, serdecznie i dziękuję!
Przejdź do postu
Muminek
28.10.2013
Witam,
Otóż pozwoliłem sobie "przerobić" plugin ultimate_warmup 1.7 (http://amxx.pl/topic...ate-warm-up-17/), żeby w trakcie rozgrzewki zablokować wszystko prócz wybranej broni, która ma być grana w tym przypadku granaty. Myślałem, że automatycznie będzie to zablokowane, lecz tak nie było. Sugerując się innymi pluginami (chociażby tym: http://amxx.pl/topic...okowanie-broni/) dodałem coś takiego:
register_clcmd("cl_setautobuy","block"); register_clcmd("cl_autobuy","block"); register_clcmd("cl_setrebuy","block"); register_clcmd("cl_rebuy","block"); register_clcmd("buy","block"); register_clcmd("glock","block"); register_clcmd("usp","block"); register_clcmd("p228","block"); register_clcmd("deagle","block"); register_clcmd("elites","block"); register_clcmd("fn57","block"); register_clcmd("m3","block"); register_clcmd("autoshotgun","block"); register_clcmd("mac10","block"); register_clcmd("tmp","block"); register_clcmd("mp5","block"); register_clcmd("ump45","block"); register_clcmd("p90","block"); register_clcmd("galil","block"); register_clcmd("ak47","block"); register_clcmd("scout","block"); register_clcmd("sg552","block"); register_clcmd("awp","block"); register_clcmd("g3sg1","block"); register_clcmd("famas","block"); register_clcmd("m4a1","block"); register_clcmd("bullpup","block"); register_clcmd("sg550","block"); register_clcmd("m249","block"); register_clcmd("shield","block"); register_clcmd("primammo","block"); register_clcmd("secammo","block"); register_clcmd("vest","block"); register_clcmd("vesthelm","block"); register_clcmd("flash","block"); register_clcmd("sgren","block"); register_clcmd("nvgs","block"); register_clcmd("weapon_knife", "block"); register_clcmd("weapon_sg550", "block"); register_clcmd("weapon_mac10", "block"); register_clcmd("weapon_aug", "block"); register_clcmd("weapon_xm1014", "block"); register_clcmd("weapon_p90", "block"); register_clcmd("weapon_c4", "block"); register_clcmd("weapon_tmp", "block"); register_clcmd("weapon_mp5navy", "block"); register_clcmd("weapon_ump45", "block"); register_clcmd("weapon_m4a1", "block"); register_clcmd("weapon_awp", "block"); register_clcmd("weapon_g3sg1", "block"); register_clcmd("weapon_sg552", "block"); register_clcmd("weapon_scout", "block"); register_clcmd("weapon_m3", "block"); register_clcmd("weapon_m249", "block"); register_clcmd("weapon_ak47", "block"); register_clcmd("weapon_fiveseven", "block"); register_clcmd("weapon_usp", "block"); register_clcmd("weapon_glock18", "block"); register_clcmd("weapon_deagle", "block"); register_clcmd("weapon_p228", "block"); register_clcmd("weapon_elite", "block"); register_clcmd("weapon_flashbang", "block"); register_clcmd("weapon_smokegrenade", "block"); register_clcmd("lastinv", "block");
Raz działało, a raz nie... Więc dopisałem w plugins.ini debug. I wyskoczył mi taki błąd:
L 10/28/2013 - 16:39:05: [AMXX] Displaying debug trace (plugin "rzgrzewka.amxx") L 10/28/2013 - 16:39:05: [AMXX] Run time error 19: function not found L 10/28/2013 - 16:39:05: [AMXX] [0] rzgrzewka_1832260.sma::plugin_init (line 29)
I nie mam pojęcia dlaczego on tej funkcji nie widzi... Biblioteka amxmodx jest... Nie mogę sobie z tym poradzić... Może jest łatwiejszy sposób na zablokowanie innych broni?
Użytkownik Muminek edytował ten post 28.10.2013 17:00
Muminek
28.10.2013
Nie mogę już edytować 1 postu więc dopisuje.
Cały czas próbuje coś sam działać ale dalej nie działa to... Pozmieniałem trochę i mam teraz tak:
public blokowanie() { register_clcmd("glock","block"); register_clcmd("usp","block"); register_clcmd("p228","block"); register_clcmd("deagle","block"); register_clcmd("fn57","block"); register_clcmd("elites","block"); register_clcmd("m3","block"); register_clcmd("xm1014","block"); register_clcmd("tmp","block"); register_clcmd("mac10","block"); register_clcmd("mp5","block"); register_clcmd("ump45","block"); register_clcmd("p90","block"); register_clcmd("galil","block"); register_clcmd("famas","block"); register_clcmd("ak47","block"); register_clcmd("m4a1","block"); register_clcmd("sg552","block"); register_clcmd("aug","block"); register_clcmd("scout","block"); register_clcmd("sg550","block"); register_clcmd("awp","block"); register_clcmd("g3sg1","block"); register_clcmd("m249","block"); register_clcmd("primammo","block"); register_clcmd("secammo","block"); register_clcmd("vest","block"); register_clcmd("vesthelm","block"); register_clcmd("flash","block"); register_clcmd("hegren","block"); register_clcmd("sgren","block"); register_clcmd("nvgs","block"); register_clcmd("shield","block"); }
ale to dalej nie działa... kompilacje przechodzi bez problemu cały plugin, a ta funkcja nie działa...
Przy debugowaniu wywala mi:
L 10/28/2013 - 17:27:51: Function "block" was not found L 10/28/2013 - 17:27:51: [AMXX] Displaying debug trace (plugin "rozgrzewka.amxx") L 10/28/2013 - 17:27:51: [AMXX] Run time error 19: function not found L 10/28/2013 - 17:27:51: [AMXX] [0] rozgrzewka_1832413.sma::blokowanie (line 34) L 10/28/2013 - 17:27:51: [AMXX] [1] rozgrzewka_1832413.sma::restart_time (line 75)
FORMOZA
28.10.2013
Łatwiej będzie cały buyzone
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "Remove Buyzone" #define VERSION "1.0" #define AUTHOR "FORMOZA" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) } public plugin_precache() RegisterHam(Ham_Spawn,"func_buyzone","buyZoneSpawn") public buyZoneSpawn(id) { return HAM_SUPERCEDE; }
Muminek
28.10.2013
Fajnie działa blokowanie to co mi podesłałeś, ale mam problem teraz bo nie wyłącza mi się...
Z tego co mi się wydaję za stopowanie pluginów odpowiada:
public restart() { //unpausing plugins server_cmd("amx_pausecfg enable lokalizator.amxx"); g_is_warmup = false; remove_task(4567); remove_task(2345); server_cmd("sv_restart 1"); new Players[32], playerCount; get_players(Players, playerCount); for (new i=0; i<playerCount; i++) { new id = Players[i]; if(cs_get_user_bpammo(id, CSW_HEGRENADE)) cs_set_user_bpammo(id, CSW_HEGRENADE, 0); } }
no i dopisałem po
remove_task
buyZoneSpawn() ;
tylko, że to nie działa tak jakbym chciał...Żeby nie przedłużać wiadomości, kod *.sma podsyłam tutaj (http://wklej.org/id/1160972/). Programowanie tak tylko liznąłem... A programowanie pod cs w ogóle...
Użytkownik Muminek edytował ten post 28.10.2013 22:05
FORMOZA
28.10.2013
A po co dodajesz do restart() buyzonespawn ? nie wiem czy Cie dobrze zrozumiałem ale chyba o to Ci chodzi:
#include <amxmodx> #include <fun> #include <cstrike> #include <hamsandwich> #include <fakemeta> #include <amxmisc> #pragma semicolon 1 new bool:gPlayerFirstSpawn[33]; new bool:g_is_warmup; new g_warmup_time; new time_left; new g_cvar_respawn; public plugin_init() { register_plugin("Rozgrzewka (Ultimate-Warmup)", "1.7.1", "naven (Edit - Mumin)"); g_warmup_time = register_cvar("amx_warmup_time", "65"); g_cvar_respawn = register_cvar("amx_warmup_respawn", "1"); register_cvar("amx_warmup_weapon", "1"); register_event("ResetHUD", "Event_ResetHud", "be"); register_event("DeathMsg", "DeathMsg", "a"); register_dictionary("ultimate_warmup.txt"); register_event("TextMsg","restart_time","a","2&#Game_C"); //thx Pavulon register_clcmd("amx_start_warmup", "restart_time", ADMIN_KICK); RegisterHam( Ham_Touch, "weaponbox", "HamTouchPre", 0 ); RegisterHam( Ham_Touch, "armoury_entity", "HamTouchPre", 0 ); /*==============Blokowanie==============*/ register_clcmd("cl_setautobuy","block"); register_clcmd("cl_autobuy","block"); register_clcmd("cl_setrebuy","block"); register_clcmd("cl_rebuy","block"); register_clcmd("buy","block"); register_clcmd("glock","block"); register_clcmd("usp","block"); register_clcmd("p228","block"); register_clcmd("deagle","block"); register_clcmd("elites","block"); register_clcmd("fn57","block"); register_clcmd("m3","block"); register_clcmd("autoshotgun","block"); register_clcmd("mac10","block"); register_clcmd("tmp","block"); register_clcmd("mp5","block"); register_clcmd("ump45","block"); register_clcmd("p90","block"); register_clcmd("galil","block"); register_clcmd("ak47","block"); register_clcmd("scout","block"); register_clcmd("sg552","block"); register_clcmd("awp","block"); register_clcmd("g3sg1","block"); register_clcmd("famas","block"); register_clcmd("m4a1","block"); register_clcmd("bullpup","block"); register_clcmd("sg550","block"); register_clcmd("m249","block"); register_clcmd("shield","block"); register_clcmd("primammo","block"); register_clcmd("secammo","block"); register_clcmd("vest","block"); register_clcmd("vesthelm","block"); register_clcmd("flash","block"); register_clcmd("sgren","block"); register_clcmd("nvgs","block"); register_clcmd("weapon_knife", "block"); register_clcmd("weapon_sg550", "block"); register_clcmd("weapon_mac10", "block"); register_clcmd("weapon_aug", "block"); register_clcmd("weapon_xm1014", "block"); register_clcmd("weapon_p90", "block"); register_clcmd("weapon_c4", "block"); register_clcmd("weapon_tmp", "block"); register_clcmd("weapon_mp5navy", "block"); register_clcmd("weapon_ump45", "block"); register_clcmd("weapon_m4a1", "block"); register_clcmd("weapon_awp", "block"); register_clcmd("weapon_g3sg1", "block"); register_clcmd("weapon_sg552", "block"); register_clcmd("weapon_scout", "block"); register_clcmd("weapon_m3", "block"); register_clcmd("weapon_m249", "block"); register_clcmd("weapon_ak47", "block"); register_clcmd("weapon_fiveseven", "block"); register_clcmd("weapon_usp", "block"); register_clcmd("weapon_glock18", "block"); register_clcmd("weapon_deagle", "block"); register_clcmd("weapon_p228", "block"); register_clcmd("weapon_elite", "block"); register_clcmd("weapon_flashbang", "block"); register_clcmd("weapon_smokegrenade", "block"); register_clcmd("lastinv", "block"); } public plugin_precache() { precache_sound("misc/sound_name.wav"); //precache_sound("misc/sound_name.mp3");//MP3 version } public block() { if(time_left >= 0) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } public restart_time() { //pausing plugins server_cmd("amx_pausecfg pause lokalizator.amxx"); g_is_warmup = true; init_warmup_time(); return PLUGIN_HANDLED; } public restartround(id) { gPlayerFirstSpawn[id] = true; return PLUGIN_HANDLED; } public countdown() { time_left--; if(time_left < 0) { restart(); } return PLUGIN_CONTINUE; } public init_warmup_time() { new time[256], temp[2][6]; get_pcvar_string(g_warmup_time, time, 255); parse(time, temp[0], 5, temp[1], 5); time_left = str_to_num(temp[0]) /** 60*/ + str_to_num(temp[1]); set_task(1.0, "countdown", 4567,_,_,"b"); set_task(1.0, "show_time", 2345,_,_,"b"); } public show_time() { set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, random_float(0.15, 0.40), /*0.31,*/ 0, 6.0, 2.0); show_hudmessage(0, "%L", LANG_PLAYER, "WARMUP_COUNTDOWN", time_left / 60, time_left % 60); //countdown } public restart() { //unpausing plugins server_cmd("amx_pausecfg enable lokalizator.amxx"); g_is_warmup = false; remove_task(4567); remove_task(2345); server_cmd("sv_restart 1"); new Players[32], playerCount; get_players(Players, playerCount); for (new i=0; i<playerCount; i++) { new id = Players[i]; if(cs_get_user_bpammo(id, CSW_HEGRENADE)) cs_set_user_bpammo(id, CSW_HEGRENADE, 0); } } public Event_ResetHud(id) { if(g_is_warmup) { set_task(0.1, "task_give", id); //after spawn } } public DeathMsg() { new l_cvar_respawn = get_pcvar_num(g_cvar_respawn); if((g_is_warmup) && (l_cvar_respawn ==1)) { new id = read_data(2); set_task(1.0,"respawn_player",id); } } public respawn_player(id) //thx sniffer { if(is_user_connected(id)) ExecuteHamB(Ham_CS_RoundRespawn, id); //let's respawn player } public task_give(id) { if (!is_user_alive(id)) return; strip_user_weapons(id); new l_cvar_weapon; if(get_cvar_num("amx_warmup_weapon") == 27) { l_cvar_weapon = random_num(1, 26); } else { l_cvar_weapon = get_cvar_num("amx_warmup_weapon"); } switch(l_cvar_weapon) { case 1 : { //now, we have to give weapons that we promised earlier cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_p228"); cs_set_user_bpammo(id, CSW_P228, 52); } case 2 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_scout"); cs_set_user_bpammo(id, CSW_SCOUT, 90); } case 3 : { give_item(id, "weapon_hegrenade"); cs_set_user_bpammo(id, CSW_HEGRENADE, 100); } case 4 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_xm1014"); cs_set_user_bpammo(id, CSW_XM1014, 32); } case 5 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_mac10"); cs_set_user_bpammo(id, CSW_MAC10, 100); } case 6 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_aug"); cs_set_user_bpammo(id,CSW_AUG, 90); } case 7 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_elite"); cs_set_user_bpammo(id, CSW_ELITE, 120); } case 8 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_fiveseven"); cs_set_user_bpammo(id, CSW_FIVESEVEN, 100); } case 9 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0) ; give_item(id, "weapon_ump45"); cs_set_user_bpammo(id, CSW_UMP45, 100); } case 10 : { give_item(id, "weapon_sg550"); cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); cs_set_user_bpammo(id, CSW_SG550, 90); } case 11 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_galil"); cs_set_user_bpammo(id, CSW_GALIL, 90); } case 12 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_famas"); cs_set_user_bpammo(id, CSW_FAMAS, 90); } case 13 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); cs_set_user_bpammo(id, CSW_USP, 100); } case 14 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_glock18"); cs_set_user_bpammo(id, CSW_GLOCK18, 120); } case 15 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_awp"); cs_set_user_bpammo(id,CSW_AWP, 30); } case 16 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_mp5navy"); cs_set_user_bpammo(id, CSW_MP5NAVY, 120); } case 17 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_m249"); cs_set_user_bpammo(id, CSW_M249, 200); } case 18 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_m3"); cs_set_user_bpammo(id, CSW_M3, 32); } case 19 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 90); } case 20 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_tmp"); cs_set_user_bpammo(id, CSW_TMP, 120); } case 21 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_g3sg1"); cs_set_user_bpammo(id, CSW_G3SG1, 90); } case 22 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); } case 23 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_sg552"); cs_set_user_bpammo(id, CSW_SG552, 90); } case 24 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 90); } case 25 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_p90"); cs_set_user_bpammo(id, CSW_P90, 100); } case 26 : { cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM); cs_set_user_money (id , 0); give_item(id, "weapon_knife"); } } } public HamTouchPre(weapon) { if(g_is_warmup) { return HAM_SUPERCEDE; } return HAM_IGNORED; } public handle_drop(id) { if(g_is_warmup) { return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
Najlepsza odpowiedź
Muminek
29.10.2013
Dzięki wielkie, po analizie doszedłem do wniosku, że nie działało mi to co ja zrobiłem w 1 poście ponieważ nie miałem biblioteki: #include <amxmisc>
Pozdrawiam, serdecznie i dziękuję!