error plugin need fix |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
error plugin need fix |
raizo |
11.8.2017, 1:01
Сообщение
|
Can someone help me about this error please guys? Код L 06/27/2017 - 21:15:05: [ENGINE] Invalid entity 157 L 06/27/2017 - 21:15:05: [AMXX] Displaying debug trace (plugin "kdc.amxx", version "1.0") L 06/27/2017 - 21:15:05: [AMXX] Run time error 10: native error (native "find_ent_by_class") L 06/27/2017 - 21:15:05: [AMXX] [0] ko9568km.sma.p::dArena (line 903) L 06/27/2017 - 21:15:05: [AMXX] [1] ko9568km.sma.p::DisableChecks (line 265) L 06/27/2017 - 21:15:05: [AMXX] [2] ko9568km.sma.p::PlayerKilled (line 148) L 06/27/2017 - 21:16:10: [ENGINE] Invalid entity 158 L 06/27/2017 - 21:16:10: [AMXX] Displaying debug trace (plugin "kdc.amxx", version "1.0") L 06/27/2017 - 21:16:10: [AMXX] Run time error 10: native error (native "find_ent_by_class") L 06/27/2017 - 21:16:10: [AMXX] [0] ko9568km.sma.p::dArena (line 903) L 06/27/2017 - 21:16:10: [AMXX] [1] ko9568km.sma.p::DisableChecks (line 297) L 06/27/2017 - 21:16:10: [AMXX] [2] ko9568km.sma.p::client_disconnect (line 328) L 06/27/2017 - 21:16:10: [FUN] Invalid player 1 Код #include <amxmodx> #include <engine> #include <hamsandwich> #include <fun> #include <cstrike> new const INFO[3][] = { "Knife duels", "1.0", "Invisible" } #define MAX_PLAYERS 32 new Float:vSizeMin[3], Float:vSizeMax[3], Float:vAngles[3]; new const gModel[] = "models/iwalls.mdl"; new const gCName[] = "info_target"; enum { X, Y, Z }; new bool:in_Duel[MAX_PLAYERS+1]; new g_Challenge[MAX_PLAYERS+1]; new g_Area[MAX_PLAYERS+1] = 0; new g_DuelK[MAX_PLAYERS+1] = 0; new g_DuelC[MAX_PLAYERS+1] = 0; new g_MenuCallback; new bool:Arena1in = false; new bool:Arena2in = false; new bool:Arena3in = false; new bool:Arena4in = false; new bool:Arena5in = false; new bool:Arena6in = false; public plugin_init() { register_plugin(INFO[0x00], INFO[0x01], INFO[0x02]); register_clcmd("say /kd","choose_playermenu"); register_clcmd("say_team /kd","choose_playermenu"); register_clcmd("say /knifeduel","choose_playermenu"); register_clcmd("say_team /knifeduel","choose_playermenu"); g_MenuCallback = menu_makecallback("menuitem_callback"); RegisterHam(Ham_Touch, "weaponbox", "hamTouchWeapon"); RegisterHam(Ham_Touch, "armoury_entity", "hamTouchWeapon"); RegisterHam(Ham_Touch, "weapon_shield", "hamTouchWeapon"); RegisterHam(Ham_TakeDamage, "player", "TakeDMG"); RegisterHam(Ham_Killed, "player", "PlayerKilled"); RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1); set_task(300.0, "Advert", _,_,_, "b"); } public plugin_precache() { precache_model(gModel); } public client_command(id) { static const szJoinCommand[] = "jointeam"; static const szJoinCommand1[] = "chooseteam"; static szCommand[10]; read_argv(0, szCommand, 9); if (equal(szCommand, szJoinCommand) && CS_TEAM_T <= cs_get_user_team(id) <= CS_TEAM_CT) { return PLUGIN_HANDLED; } if (equal(szCommand, szJoinCommand1)) { return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public Advert() { print_cc(0, "!t[!gKnife Duels!t] By: !gInvisible!t."); print_cc(0, "!t[!gKnife Duels!t] Type !g/kd !tor !g/knifeduel !tto open the knife duel menu."); } public hamTouchWeapon(id) { return 4; } public TakeDMG(victim, idinflictor, attacker, Float:damage, Float:direction[3], tracehandle, damagebits) { if (victim != attacker) { if (in_Duel[victim] && !in_Duel[attacker]) { return 4; } } return 1; } public PlayerKilled(victim, killer, shouldgib) { if (is_user_alive(killer)) { new victimname[32] , attackername[32]; get_user_name(victim, victimname, 31); get_user_name(killer, attackername, 31); if (victim != killer && killer != 0 ) { if (in_Duel[killer] && in_Duel[victim]) { if (killer) { g_DuelK[killer]+=1; } if (g_Challenge[killer]) { g_DuelC[g_Challenge[killer]]+=1; } } } if (in_Duel[killer] && in_Duel[victim]) { if(g_DuelK[killer]<10 && g_DuelC[g_Challenge[killer]]<10) { if (!g_Challenge[victim]) { set_task(0.1, "GoToSpawn", killer); set_task(0.1, "GoToSpawn", g_Challenge[victim]); } else { set_task(0.1, "GoToSpawn", g_Challenge[killer]); set_task(0.1, "GoToSpawn", victim); } client_printc(killer, "!t[!gKnife Duels!t] !g%s (!t%i!g) !tvs. !g(!t%i!g) %s!t.", attackername, g_DuelK[killer], g_DuelK[victim], victimname); client_printc(victim, "!t[!gKnife Duels!t] !g%s (!t%i!g) !tvs. !g(!t%i!g) %s!t.", victimname, g_DuelK[victim], g_DuelK[killer], attackername); } else { if (victim) { print_cc(0, "!t[!gKnife Duels!t] !g%s (!t%i!g) !tvs. !g(!t%i!g) %s!t. Winner - !g%s", attackername, g_DuelC[g_Challenge[killer]], g_DuelK[victim], victimname, attackername); DisableChecks(victim); set_task(0.1, "GoToSpawn", killer); set_task(0.1, "GoToSpawn", victim); } if (g_Challenge[victim]) { print_cc(0, "!t[!gKnife Duels!t] !g%s (!t%i!g) !tvs. !g(!t%i!g) %s!t. Winner - !g%s", attackername, g_DuelK[killer], g_DuelC[g_Challenge[victim]], victimname, attackername); DisableChecks(g_Challenge[victim]); set_task(0.1, "GoToSpawn", killer); set_task(0.1, "GoToSpawn", victim); } g_DuelC[killer] = 0; g_DuelK[victim] = 0; g_DuelC[victim] = 0; g_DuelK[killer] = 0; } } } } public PlayerSpawn(id) { if (is_user_alive(id)) { if (in_Duel[id]) { whileinduel(id); set_user_health(g_Challenge[id], 35); } } if (is_user_alive(g_Challenge[id])) { if (in_Duel[g_Challenge[id]]) { whileinduel(g_Challenge[id]); set_user_health(id, 35); } } } public whileinduel(id) { switch (g_Area[id]) { case 1: { set_iAngle(id, Float:{0.0, 0.0, 0.0}, Float:{738, 327, -360}); set_iAngle(g_Challenge[id], Float:{0.0, 180.0, 0.0}, Float:{1207, 327, -360}); } case 2: { set_iAngle(id, Float:{0.0, 0.0, 0.0}, Float:{738, -2252, -360}); set_iAngle(g_Challenge[id], Float:{0.0, 180.0, 0.0}, Float:{1207, -2252, -360}); } case 3: { set_iAngle(id, Float:{0.0, 0.0, 0.0}, Float:{1368, 327, -360}); set_iAngle(g_Challenge[id], Float:{0.0, 180.0, 0.0}, Float:{1847, 327, -360}); } case 4: { set_iAngle(id, Float:{0.0, 0.0, 0.0}, Float:{88, -2252, -360}); set_iAngle(g_Challenge[id], Float:{0.0, 180.0, 0.0}, Float:{566, -2252, -360}); } case 5: { set_iAngle(id, Float:{0.0, 0.0, 0.0}, Float:{88, 327, -360}); set_iAngle(g_Challenge[id], Float:{0.0, 180.0, 0.0}, Float:{566, 327, -360}); } case 6: { set_iAngle(id, Float:{0.0, 0.0, 0.0}, Float:{1368, -2252, -360}); set_iAngle(g_Challenge[id], Float:{0.0, 180.0, 0.0}, Float:{1847, -2252, -360}); } } } public GoToSpawn(killer) {ExecuteHamB(Ham_CS_RoundRespawn, killer);} public DisableChecks(id) { if(in_Duel[id]) { if (!g_Area[id]) { switch (g_Area[g_Challenge[id]]) { case 1: { Arena1in = false; } case 2: { Arena2in = false; } case 3: { Arena3in = false; } case 4: { Arena4in = false; } case 5: { Arena5in = false; } case 6: { Arena6in = false; } } dArena(g_Area[g_Challenge[id]]); g_Area[g_Challenge[id]] = 0; } else { switch (g_Area[id]) { case 1: { Arena1in = false; } case 2: { Arena2in = false; } case 3: { Arena3in = false; } case 4: { Arena4in = false; } case 5: { Arena5in = false; } case 6: { Arena6in = false; } } dArena(g_Area[id]); g_Area[id] = 0; } in_Duel[g_Challenge[id]] = false; in_Duel[id] = false; } if(g_Challenge[id]) { g_Challenge[g_Challenge[id]] = 0; g_Challenge[id] = 0; } } public client_disconnect(id) { new cname[32], ccname[32]; get_user_name(g_Challenge[id], ccname, 31); get_user_name(g_Challenge[g_Challenge[id]], cname, 31); if (in_Duel[g_Challenge[id]]) { set_task(0.1, "GoToSpawn", g_Challenge[id]); client_printc(g_Challenge[id], "!t[!gKnife Duels!t] !g%s !thas disconnected.", cname); } if (in_Duel[g_Challenge[g_Challenge[id]]]) { set_task(0.1, "GoToSpawn", g_Challenge[g_Challenge[id]]); client_printc(g_Challenge[g_Challenge[id]], "!t[!gKnife Duels!t] !g%s !thas disconnected.", ccname); } g_DuelC[g_Challenge[id]] = 0; g_DuelC[id] = 0; g_DuelK[g_Challenge[id]] = 0; g_DuelK[id] = 0; DisableChecks(id); } public choose_playermenu(Challenger, Challenged) { if (!in_Duel[Challenger] && is_user_alive(Challenger)) { if (Arena1in && Arena2in && Arena3in && Arena4in && Arena5in && Arena6in) { client_printc(Challenger, "!t[!gKnife Duels!t] All the knife duel arenas are in use."); return PLUGIN_HANDLED } } if (in_Duel[Challenger]) { return PLUGIN_HANDLED } if (!is_user_alive(Challenger)) { return PLUGIN_HANDLED } new menu = menu_create( "\y[\rKnife Duels\y]", "choose_playermenu_handler"); menu_additem(menu, "\r[!]\yUpdate players\r[!]^n\yChallenge a player:", "0", 0); new players[32], pnum; new szName[32], szTempid[32], Desc[64]; get_players(players, pnum); for (new i; i<pnum; i++) { Challenged = players[i]; if (is_user_alive(Challenged) && (Challenger != Challenged)) { get_user_name(Challenged, szName, charsmax(szName)); formatex(Desc, charsmax(Desc), in_Duel[Challenged] ? "\d%s \y[\rIn duel\y]" : "%s", szName); num_to_str(Challenged, szTempid, charsmax(szTempid)); menu_additem(menu, Desc, szTempid, 0, g_MenuCallback); } } menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(Challenger, menu, 0); return PLUGIN_HANDLED } public menuitem_callback(Challenger, menu, item) { new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data, charsmax(data), szName,charsmax(szName), callback); new tempid = str_to_num(data); if (in_Duel[tempid] || !is_user_alive(tempid)) { return ITEM_DISABLED; } return ITEM_ENABLED; } public choose_playermenu_handler(Challenger, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName, charsmax(szName), callback); new tempid = str_to_num(data); switch(item) { case 0: { choose_playermenu(Challenger, Challenger); } } if (is_user_alive(tempid) && !in_Duel[tempid]) { g_Challenge[Challenger] = tempid; g_Challenge[tempid] = Challenger; Questionm(tempid); } menu_destroy(menu); return PLUGIN_HANDLED; } public Questionm(Challenged) { if (is_user_alive(Challenged) && is_user_alive(g_Challenge[Challenged])) { new szAddItemText[555 char], ChallengerName[32]; get_user_name(g_Challenge[Challenged], ChallengerName, 31); format(szAddItemText, charsmax(szAddItemText), "\y[\rKnife Duels\y]^n\wKnife duel vs. \r%s\w?", ChallengerName); new menu = menu_create(szAddItemText, "Questionm_handler") menu_additem(menu, "\yYes", "1", 0); menu_additem(menu, "\rNo", "2", 0); menu_setprop(menu, MPROP_PERPAGE, 0); menu_display(Challenged, menu, 0); return PLUGIN_HANDLED } else { return PLUGIN_HANDLED } return PLUGIN_HANDLED } public Questionm_handler(Challenged, menu, item) { new data[6], szName[64], ccname[32], cname[32]; new access, callback; menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback); new key = str_to_num(data); get_user_name(Challenged, ccname, 31); get_user_name(g_Challenge[Challenged], cname, 31); switch(key) { case 1: { if (in_Duel[g_Challenge[Challenged]]) { if (task_exists(Challenged)) { menu_destroy(menu); remove_task(Challenged); } client_printc(Challenged, "!t[!gKnife Duels!t] !gYou !twere late, !g%s !tis in duel right now.", cname); DisableChecks(Challenged); return PLUGIN_HANDLED } if (!is_user_alive(Challenged)) { if (task_exists(Challenged)) { menu_destroy(menu); remove_task(Challenged); } client_printc(Challenged, "!t[!gKnife Duels!t] !gYou !tare !gdead!t.", ccname); DisableChecks(Challenged); return PLUGIN_HANDLED } if (!is_user_alive(g_Challenge[Challenged])) { if (task_exists(Challenged)) { menu_destroy(menu); remove_task(Challenged); } client_printc(Challenged, "!t[!gKnife Duels!t] !g%s !thas !gdied/disconnected!t.", cname); DisableChecks(Challenged); return PLUGIN_HANDLED } if (task_exists(Challenged)) { menu_destroy(menu); remove_task(Challenged); } if (!g_Challenge[Challenged]) { menu_destroy(menu); return PLUGIN_HANDLED } else { choose_area(Challenged); client_printc(g_Challenge[Challenged], "!t[!gKnife Duels!t] !g%s !taccepted the duel.", ccname); in_Duel[Challenged] = true; in_Duel[g_Challenge[Challenged]] = true; } return PLUGIN_HANDLED } case 2: { if (task_exists(Challenged)) { menu_destroy(menu); remove_task(Challenged); } client_printc(g_Challenge[Challenged], "!t[!gKnife Duels!t] !g%s !trefused the duel.", ccname); DisableChecks(Challenged); return PLUGIN_HANDLED } } menu_destroy(menu); return PLUGIN_HANDLED } public choose_area(Challenged) { if (cs_get_user_team(g_Challenge[Challenged]) == cs_get_user_team(Challenged)) { switch (cs_get_user_team(g_Challenge[Challenged])) { case (CS_TEAM_CT): { cs_set_user_team(Challenged, CS_TEAM_T, CS_T_LEET); } case (CS_TEAM_T): { cs_set_user_team(Challenged, CS_TEAM_CT, CS_CT_GIGN); } } } g_Area[Challenged] = 1; switch (g_Area[Challenged]) { case 1: { if (Arena1in) { g_Area[Challenged]+=1; } switch (g_Area[Challenged]) { case 2: { if (Arena2in) { g_Area[Challenged]+=1; } switch (g_Area[Challenged]) { case 3: { if (Arena3in) { g_Area[Challenged]+=1; } switch (g_Area[Challenged]) { case 4: { if (Arena4in) { g_Area[Challenged]+=1; } switch (g_Area[Challenged]) { case 5: { if (Arena5in) { g_Area[Challenged]+=1; } switch (g_Area[Challenged]) { case 6: { if (Arena6in) { new cccname[32]; get_user_name(Challenged, cccname, 31); client_printc(Challenged, "!t[!gKnife Duels!t] All the knife duel arenas are in use, you were too late."); client_printc(g_Challenge[Challenged], "!t[!gKnife Duels!t] All the knife duel arenas are in use, !g%s !twas too late with his/her decision", cccname); DisableChecks(Challenged); } } } } } } } } } } } } } startduel(Challenged); } public startduel(Challenged) { if (task_exists(Challenged)) { remove_task(Challenged); } set_user_health(Challenged, 35); set_user_health(g_Challenge[Challenged], 35); set_user_armor(Challenged, 0); set_user_armor(g_Challenge[Challenged], 0); strip_user_weapons(Challenged); strip_user_weapons(g_Challenge[Challenged]); give_item(Challenged, "weapon_knife"); give_item(g_Challenge[Challenged], "weapon_knife"); set_user_maxspeed(Challenged, 250.0); set_user_maxspeed(g_Challenge[Challenged], 250.0); set_user_gravity(Challenged, 1.0); set_user_gravity(g_Challenge[Challenged], 1.0); switch (g_Area[Challenged]) { case 1: { Arena1in = true; Arena1(); set_iAngle(Challenged, Float:{0.0, 0.0, 0.0}, Float:{738, 327, -360}); set_iAngle(g_Challenge[Challenged], Float:{0.0, 180.0, 0.0}, Float:{1207, 327, -360}); } case 2: { Arena2in = true; Arena2(); set_iAngle(Challenged, Float:{0.0, 0.0, 0.0}, Float:{738, -2252, -360}); set_iAngle(g_Challenge[Challenged], Float:{0.0, 180.0, 0.0}, Float:{1207, -2252, -360}); } case 3: { Arena3in = true; Arena3(); set_iAngle(Challenged, Float:{0.0, 0.0, 0.0}, Float:{1368, 327, -360}); set_iAngle(g_Challenge[Challenged], Float:{0.0, 180.0, 0.0}, Float:{1847, 327, -360}); } case 4: { Arena4in = true; Arena4(); set_iAngle(Challenged, Float:{0.0, 0.0, 0.0}, Float:{88, -2252, -360}); set_iAngle(g_Challenge[Challenged], Float:{0.0, 180.0, 0.0}, Float:{566, -2252, -360}); } case 5: { Arena5in = true; Arena5(); set_iAngle(Challenged, Float:{0.0, 0.0, 0.0}, Float:{88, 327, -360}); set_iAngle(g_Challenge[Challenged], Float:{0.0, 180.0, 0.0}, Float:{566, 327, -360}); } case 6: { Arena6in = true; Arena6(); set_iAngle(Challenged, Float:{0.0, 0.0, 0.0}, Float:{1368, -2252, -360}); set_iAngle(g_Challenge[Challenged], Float:{0.0, 180.0, 0.0}, Float:{1847, -2252, -360}); } } return PLUGIN_HANDLED } public Arena1() { createBlock(Float:{775.065368, 327.047912, -401.000000}, Z, 0, 1); createBlock(Float:{775.065368, 199.047912, -401.000000}, Z, 0, 1); createBlock(Float:{775.065368, 455.047912, -401.000000}, Z, 0, 1); createBlock(Float:{903.065368, 327.047912, -401.000000}, Z, 0, 1); createBlock(Float:{903.065368, 455.047912, -401.000000}, Z, 0, 1); createBlock(Float:{903.065368, 199.047912, -401.000000}, Z, 0, 1); createBlock(Float:{1031.065429, 455.047912, -401.000000}, Z, 0, 1); createBlock(Float:{1031.065429, 199.047912, -401.000000}, Z, 0, 1); createBlock(Float:{1031.065429, 327.047912, -401.000000}, Z, 0, 1); createBlock(Float:{1159.065429, 327.047912, -401.000000}, Z, 0, 1); createBlock(Float:{1159.065429, 455.047912, -401.000000}, Z, 0, 1); createBlock(Float:{1159.065429, 199.047912, -401.000000}, Z, 0, 1); createBlock(Float:{775.254150, 131.397644, -333.000000}, Y, 1, 1); createBlock(Float:{903.254150, 131.397644, -333.000000}, Y, 1, 1); createBlock(Float:{1031.254150, 131.397644, -333.000000}, Y, 1, 1); createBlock(Float:{1159.254150, 131.397644, -333.000000}, Y, 1, 1); createBlock(Float:{708.103942, 454.809265, -334.000000}, X, 1, 1); createBlock(Float:{708.103942, 326.809265, -334.000000}, X, 1, 1); createBlock(Float:{708.103942, 198.809265, -334.000000}, X, 1, 1); createBlock(Float:{1227.110351, 455.312744, -333.000000}, X, 1, 1); createBlock(Float:{1227.110351, 327.312744, -333.000000}, X, 1, 1); createBlock(Float:{1227.110351, 199.312744, -333.000000}, X, 1, 1); } public Arena2() { createBlock(Float:{775.480957, -2377.705566, -401.000000}, Z, 2, 2); createBlock(Float:{775.480957, -2121.705566, -401.000000}, Z, 2, 2); createBlock(Float:{775.480957, -2249.705566, -401.000000}, Z, 2, 2); createBlock(Float:{903.480957, -2377.705566, -401.000000}, Z, 2, 2); createBlock(Float:{903.480957, -2121.705566, -401.000000}, Z, 2, 2); createBlock(Float:{903.480957, -2249.705566, -401.000000}, Z, 2, 2); createBlock(Float:{1031.480957, -2121.705566, -401.000000}, Z, 2, 2); createBlock(Float:{1031.480957, -2249.705566, -401.000000}, Z, 2, 2); createBlock(Float:{1031.480957, -2377.705566, -401.000000}, Z, 2, 2); createBlock(Float:{1159.480957, -2121.705566, -401.000000}, Z, 2, 2); createBlock(Float:{1159.480957, -2249.705566, -401.000000}, Z, 2, 2); createBlock(Float:{1159.480957, -2377.705566, -401.000000}, Z, 2, 2); createBlock(Float:{775.384826, -2055.561279, -334.000000}, Y, 1, 2); createBlock(Float:{903.384826, -2055.561279, -334.000000}, Y, 1, 2); createBlock(Float:{1031.384765, -2055.561279, -334.000000}, Y, 1, 2); createBlock(Float:{1159.384765, -2055.561279, -334.000000}, Y, 1, 2); createBlock(Float:{707.239074, -2250.012207, -333.000000}, X, 1, 2); createBlock(Float:{707.239074, -2122.012207, -333.000000}, X, 1, 2); createBlock(Float:{707.239074, -2378.012207, -333.000000}, X, 1, 2); createBlock(Float:{1227.693481, -2120.965332, -333.000000}, X, 1, 2); createBlock(Float:{1227.693481, -2248.965332, -333.000000}, X, 1, 2); createBlock(Float:{1227.693481, -2376.965332, -333.000000}, X, 1, 2); } public Arena3() { createBlock(Float:{1415.065429, 199.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1415.065429, 455.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1415.065429, 327.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1543.065429, 199.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1543.065429, 455.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1543.065429, 327.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1671.065429, 455.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1671.065429, 327.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1671.065429, 199.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1799.065429, 455.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1799.065429, 327.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1799.065429, 199.047912, -401.000000}, Z, 3, 3); createBlock(Float:{1415.254150, 131.397644, -333.000000}, Y, 1, 3); createBlock(Float:{1543.254150, 131.397644, -333.000000}, Y, 1, 3); createBlock(Float:{1671.254150, 131.397644, -333.000000}, Y, 1, 3); createBlock(Float:{1799.254150, 131.397644, -333.000000}, Y, 1, 3); createBlock(Float:{1347.110351, 455.312744, -333.000000}, X, 1, 3); createBlock(Float:{1347.110351, 199.312744, -333.000000}, X, 1, 3); createBlock(Float:{1347.110351, 327.312744, -333.000000}, X, 1, 3); createBlock(Float:{1867.993286, 199.052581, -334.000000}, X, 1, 3); createBlock(Float:{1867.993286, 327.052581, -334.000000}, X, 1, 3); createBlock(Float:{1867.993286, 455.052581, -334.000000}, X, 1, 3); } public Arena4() { createBlock(Float:{135.480957, -2377.705566, -401.000000}, Z, 4, 4); createBlock(Float:{135.480957, -2249.705566, -401.000000}, Z, 4, 4); createBlock(Float:{135.480957, -2121.705566, -401.000000}, Z, 4, 4); createBlock(Float:{263.480957, -2121.705566, -401.000000}, Z, 4, 4); createBlock(Float:{263.480957, -2249.705566, -401.000000}, Z, 4, 4); createBlock(Float:{263.480957, -2377.705566, -401.000000}, Z, 4, 4); createBlock(Float:{391.480957, -2121.705566, -401.000000}, Z, 4, 4); createBlock(Float:{391.480957, -2249.705566, -401.000000}, Z, 4, 4); createBlock(Float:{391.480957, -2377.705566, -401.000000}, Z, 4, 4); createBlock(Float:{519.480957, -2121.705566, -401.000000}, Z, 4, 4); createBlock(Float:{519.480957, -2249.705566, -401.000000}, Z, 4, 4); createBlock(Float:{519.480957, -2377.705566, -401.000000}, Z, 4, 4); createBlock(Float:{135.384826, -2055.561279, -334.000000}, Y, 1, 4); createBlock(Float:{263.384826, -2055.561279, -334.000000}, Y, 1, 4); createBlock(Float:{391.384826, -2055.561279, -334.000000}, Y, 1, 4); createBlock(Float:{519.384826, -2055.561279, -334.000000}, Y, 1, 4); createBlock(Float:{67.456420, -2122.505859, -334.000000}, X, 1, 4); createBlock(Float:{67.456420, -2250.505859, -334.000000}, X, 1, 4); createBlock(Float:{67.456420, -2378.505859, -334.000000}, X, 1, 4); createBlock(Float:{587.239074, -2122.012207, -333.000000}, X, 1, 4); createBlock(Float:{587.239074, -2250.012207, -333.000000}, X, 1, 4); createBlock(Float:{587.239074, -2378.012207, -333.000000}, X, 1, 4); } public Arena5() { createBlock(Float:{135.065368, 199.047912, -401.000000}, Z, 5, 5); createBlock(Float:{135.065368, 327.047912, -401.000000}, Z, 5, 5); createBlock(Float:{135.065368, 455.047912, -401.000000}, Z, 5, 5); createBlock(Float:{263.065368, 455.047912, -401.000000}, Z, 5, 5); createBlock(Float:{263.065368, 327.047912, -401.000000}, Z, 5, 5); createBlock(Float:{263.065368, 199.047912, -401.000000}, Z, 5, 5); createBlock(Float:{391.065368, 327.047912, -401.000000}, Z, 5, 5); createBlock(Float:{391.065368, 455.047912, -401.000000}, Z, 5, 5); createBlock(Float:{391.065368, 199.047912, -401.000000}, Z, 5, 5); createBlock(Float:{519.065368, 327.047912, -401.000000}, Z, 5, 5); createBlock(Float:{519.065368, 199.047912, -401.000000}, Z, 5, 5); createBlock(Float:{519.065368, 455.047912, -401.000000}, Z, 5, 5); createBlock(Float:{135.254165, 131.397644, -333.000000}, Y, 1, 5); createBlock(Float:{263.254150, 131.397644, -333.000000}, Y, 1, 5); createBlock(Float:{391.254150, 131.397644, -333.000000}, Y, 1, 5); createBlock(Float:{519.254150, 131.397644, -333.000000}, Y, 1, 5); createBlock(Float:{68.532188, 326.920654, -333.000000}, X, 1, 5); createBlock(Float:{68.532188, 198.920654, -333.000000}, X, 1, 5); createBlock(Float:{68.532188, 454.920654, -333.000000}, X, 1, 5); createBlock(Float:{586.069213, 327.133148, -334.000000}, X, 1, 5); createBlock(Float:{586.069213, 199.133148, -334.000000}, X, 1, 5); createBlock(Float:{586.069213, 455.133148, -334.000000}, X, 1, 5); } public Arena6() { createBlock(Float:{1415.480957, -2377.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1415.480957, -2121.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1415.480957, -2249.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1543.480957, -2121.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1543.480957, -2249.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1543.480957, -2377.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1671.480957, -2121.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1671.480957, -2377.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1671.480957, -2249.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1799.480957, -2121.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1799.480957, -2249.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1799.480957, -2377.705566, -401.000000}, Z, 6, 6); createBlock(Float:{1415.384765, -2055.561279, -334.000000}, Y, 1, 6); createBlock(Float:{1543.384765, -2055.561279, -334.000000}, Y, 1, 6); createBlock(Float:{1671.384765, -2055.561279, -334.000000}, Y, 1, 6); createBlock(Float:{1799.384765, -2055.561279, -334.000000}, Y, 1, 6); createBlock(Float:{1348.344604, -2377.144531, -333.000000}, X, 1, 6); createBlock(Float:{1348.344604, -2249.144531, -333.000000}, X, 1, 6); createBlock(Float:{1348.344604, -2121.144531, -333.000000}, X, 1, 6); createBlock(Float:{1867.397583, -2377.233154, -333.000000}, X, 1, 6); createBlock(Float:{1867.397583, -2249.233154, -333.000000}, X, 1, 6); createBlock(Float:{1867.397583, -2121.233154, -333.000000}, X, 1, 6); } stock bool:createBlock(Float:vOrigin[3], const blocktype, const invisible, const aclass) { new ent = create_entity(gCName); if (is_valid_ent(ent)) { switch (aclass) { case 1: { entity_set_string(ent, EV_SZ_classname, "ArenaA"); } case 2: { entity_set_string(ent, EV_SZ_classname, "ArenaB"); } case 3: { entity_set_string(ent, EV_SZ_classname, "ArenaC"); } case 4: { entity_set_string(ent, EV_SZ_classname, "ArenaD"); } case 5: { entity_set_string(ent, EV_SZ_classname, "ArenaE"); } case 6: { entity_set_string(ent, EV_SZ_classname, "ArenaF"); } } entity_set_int(ent, EV_INT_solid, SOLID_BBOX); entity_set_int(ent, EV_INT_movetype, MOVETYPE_NONE); entity_set_model(ent, gModel); switch (blocktype) { //ñòåíè2 ( - ) íàñòðàíè case X: { vSizeMin[0] = -4.0; vSizeMin[1] = -64.0; vSizeMin[2] = -64.0; vSizeMax[0] = 4.0; vSizeMax[1] = 64.0; vSizeMax[2] = 64.0; vAngles[0] = 90.0; vAngles[1] = 0.0; vAngles[2] = 0.0; } //ñòåíè1 ( | ) îò áàçà äî áàçà case Y: { vSizeMin[0] = -64.0; vSizeMin[1] = -4.0; vSizeMin[2] = -64.0; vSizeMax[0] = 64.0; vSizeMax[1] = 4.0; vSizeMax[2] = 64.0; vAngles[0] = 90.0; vAngles[1] = 0.0; vAngles[2] = 90.0; } //ïîä, òàâàí - ëåãíàë áëîê case Z: { vSizeMin[0] = -64.0; vSizeMin[1] = -64.0; vSizeMin[2] = -4.0; vSizeMax[0] = 64.0; vSizeMax[1] = 64.0; vSizeMax[2] = 4.0; vAngles[0] = 0.0; vAngles[1] = 0.0; vAngles[2] = 0.0; } } entity_set_vector(ent, EV_VEC_angles, vAngles); entity_set_size(ent, vSizeMin, vSizeMax); entity_set_origin(ent, vOrigin); switch (invisible) { case 0: { set_rendering(ent, kRenderFxGlowShell, 204, 0, 68, kRenderTransColor, 1); } case 1: { set_rendering(ent, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0); } case 2: { set_rendering(ent, kRenderFxGlowShell, 255, 100, 0, kRenderTransColor, 1); } case 3: { set_rendering(ent, kRenderFxGlowShell, 255, 255, 0, kRenderTransColor, 1); } case 4: { set_rendering(ent, kRenderFxGlowShell, 0, 255, 0, kRenderTransColor, 1); } case 5: { set_rendering(ent, kRenderFxGlowShell, 0, 255, 255, kRenderTransColor, 1); } case 6: { set_rendering(ent, kRenderFxGlowShell, 68, 0, 204, kRenderTransColor, 1); } } return true; } return false; } stock dArena(const iarena) { new ent = -1; switch (iarena) { case 1: { while ((ent = find_ent_by_class(ent, "ArenaA"))) { remove_entity(ent); } } case 2: { while ((ent = find_ent_by_class(ent, "ArenaB"))) { remove_entity(ent); } } case 3: { while ((ent = find_ent_by_class(ent, "ArenaC"))) { remove_entity(ent); } } case 4: { while ((ent = find_ent_by_class(ent, "ArenaD"))) { remove_entity(ent); } } case 5: { while ((ent = find_ent_by_class(ent, "ArenaE"))) { remove_entity(ent); } } case 6: { while ((ent = find_ent_by_class(ent, "ArenaF"))) { remove_entity(ent); } } } } client_printc(index, const text[], any:...) { new szMsg[128]; vformat(szMsg, sizeof(szMsg) - 1, text, 3); replace_all(szMsg, sizeof(szMsg) - 1, "!g", "^x04"); replace_all(szMsg, sizeof(szMsg) - 1, "!n", "^x01"); replace_all(szMsg, sizeof(szMsg) - 1, "!t", "^x03"); message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, index); write_byte(index); write_string(szMsg); message_end(); } print_cc(id, fmt[], any:...) { static saytext = 0, fake_user; if (!saytext) { saytext = get_user_msgid("SayText"); fake_user = get_maxplayers() + 1; } new msg[192]; vformat(msg, charsmax(msg), fmt, 3) replace_all(msg, sizeof(msg) - 1, "!g", "^x04"); replace_all(msg, sizeof(msg) - 1, "!n", "^x01"); replace_all(msg, sizeof(msg) - 1, "!t", "^x03"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, saytext, _, id); write_byte(id ? id : fake_user); write_string(msg); message_end(); } stock set_iAngle(index, Float:iAngle[3], Float:iOrigin[3]) { entity_set_vector(index, EV_VEC_angles, iAngle); entity_set_int(index, EV_INT_fixangle, 1); set_user_origin(index, iOrigin); } |
|
|
|