Offline |
|
|
Csatlakozott: 2013.09.14. 08:21 Hozzászólások: 547
Megköszönt másnak: 95 alkalommal Megköszönték neki: 71 alkalommal
|
kornyiktamass írta: és tényleg elfelejtettem a modellt. beraktam és elindult. lefut a plugin jön a kérdés a kör elején viszont utána semmi nem történik ( ha viszont egyedül vagy a szerveren ugye nincs szavazás és alapból ejtőernyő 2 ugrás van.. nemtudom miért) illetve a legnagyobb probéma hogy a pluginnal konkrétan olyan lagg van az egész szerveren hogy egymást nem látjuk van hogy csak halljuk egymást mert a modellje befagy és hasonló. kód szempontjából lehet nem a legszebb/legjobb megoldás viszont müködik. vagy épp maradt bent valami felesleges sor vagy rész. (ha valakinek lesz/van jobb ötlete jelezze) körkezdésnél nem fog elindulni addig amíg nincs kiszavazva hogy legyen-e fun mod. #include <amxmodx> #include <amxmisc> #define TOGGLE_PLUGINS //pause plugin #define PLUGIN "HNS fun mode vote" #define VERSION "1.0" #define AUTHOR "Akitakarszvagyamitjonaklatsz" //Nem irok ide semmit || credits DMC - DeROiD, Kiki - szavazo menu keszites. #if defined TOGGLE_PLUGINS new const PLUGINS[][] = { "ugras.amxx", "ernyo.amxx" }; #endif new iVotesg[2], sPrefixg, bool:bvotedg, cVotesming, bool:bRunnedg, iVotinGg, bool:enabled = false; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_logevent("round_start", 2, "1=Round_Start"); //Kor eleje logevent, ez minden kor elejen lefuttatja a round_start() publicot. sPrefixg = register_cvar("server_prefix", "Szerver Prefix"); //Ide pedig a szerver prefixet ird ajanlom [] es tarsai nelkul, mert chatbe/menube [%] - kent hivatkozok ra. cVotesming = register_cvar("Vote_Min", "1"); // ha 1 az osszes jatekosnak kell szavaznia, ha 2 akkor a felenek es stb...(mindig osztod a fentlevo jatekosokkal, de ajanlom csak az 1 es 2 hasznalatat) register_cvar("Vote_Onoff","1") //Ha 1 elindul a szavazas kor elejen es a kovetkezo korben indul a fun mode, szerintem igy jobb, megindoklom ha kéred. Ha 0 ki van kapcsolva! } public plugin_pause() { if(!enabled) { return; } #if defined TOGGLE_PLUGINS Toggle_Plugins(true); #endif } public round_start() { if(!get_cvar_num("Vote_Onoff")) return; new sPlayers[32], iNum get_players(sPlayers, iNum, "c"); if(iNum == 1)//ha 1 player van fent nem fut le mivel felesleges. return; //de ha le szeretned futtatni 1 playernel is akkor lentebb vedd ki a // jelet, es a fenti ifet tuntesd el. if(bRunnedg) { iVotesg[0] = 0; bRunnedg = false; iVotinGg = 0; } //floatround(iVotesg, floatround_ceil); if(iVotesg[0] >= iNum/get_pcvar_num(cVotesming)) bvotedg = true; else bvotedg = false; for(new i; i < iNum; i++) { if(!is_user_connected(sPlayers[i]) || !is_user_alive(sPlayers[i])) return; if(!bvotedg) { client_print_color(sPlayers[i], print_team_default, "^4[%s]^1 Szavazz! Mi legyen a kovetkezo korben?", server_prefix()); menu_vote_start(sPlayers[i]); } else { client_print_color(sPlayers[i], print_team_default, "^4[%s]^1 Teszt!", server_prefix()); bRunnedg = true; } } #if defined TOGGLE_PLUGINS Toggle_Plugins(false); #endif } public menu_vote_start(iId) { new iMenu, sString[64]; formatex(sString, charsmax(sString), "\r%s \w| \dSzeretnel a kovetkezo korben fun modot?", server_prefix()); iMenu = menu_create(sString, "menu_vote_start_h"); menu_additem(iMenu, "Igen, szeretnek", "0", 0); menu_additem(iMenu, "Nem szeretnek^n", "1", 0); menu_additem(iMenu, "A fun mode jelenti a 2 ugrast, es ejtoernyot!", "2", 0); new players[32], pnum, tempid; get_players(players, pnum, "c"); for(new i; i<pnum; i++) { tempid = players[i]; menu_display(tempid, iMenu, 0); iVotinGg++; } menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL); } public menu_vote_start_h(iId, iMenu, iItem) { if(iItem == MENU_EXIT || !iVotinGg) { menu_destroy(iMenu); return PLUGIN_HANDLED; } new sData[6], sName[64], iAccess, iKey; menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName)); iKey = str_to_num(sData); /* iVotesg[iKey]++; if(iKey == 0) { client_print_color(0, print_team_default, "^4[%s]^1 Azt szavaztad hogy legyen fun mode", server_prefix()); }*/ switch(iKey) { case false: { iVotesg[iKey] = true; #if defined TOGGLE_PLUGINS Toggle_Plugins(true); #endif client_print_color(0, print_team_default, "^4[%s]^1 Azt szavaztad hogy legyen fun mode", server_prefix()); } case true: { iVotesg[iKey] = false; #if defined TOGGLE_PLUGINS Toggle_Plugins(false); #endif client_print_color(0, print_team_default, "^4[%s]^1 Azt szavaztad hogy ne legyen fun mode", server_prefix()); } } menu_destroy(iMenu); return PLUGIN_HANDLED; } public plugin_natives() { register_native("get_votedbool","native_get_votedbool",1) } public bool:native_get_votedbool(iId) { return bool:bvotedg; } server_prefix() { new sPrefix[64]; get_pcvar_string(sPrefixg, sPrefix, charsmax(sPrefix)); return sPrefix; } #if defined TOGGLE_PLUGINS Toggle_Plugins(const bool:enable) { for (new i = 0; i < sizeof(PLUGINS); i++) { if (enable) { unpause("ac", PLUGINS[i]); } else { pause("ac", PLUGINS[i]); } } } #endif
#include <amxmodx> #include <reapi> #include <HNS> #define MAXJUMPS 2 // maximum jumps new const PLUGIN[] = "Multijump" new const VERSION[] = "1.0" new const AUTHOR[] = "serfreeman1337" // Reapi modification by mforce enum _:jdata { bool:DOJUMP, JUMPCOUNT } new player_jumps[33][jdata] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); RegisterHookChain(RG_CBasePlayer_Jump, "Hook_PlayerJump", false); } public Hook_PlayerJump(id) { if(get_votedbool(id)) //itt volt egy ! jel return; static bitFlags; bitFlags = get_entvar(id, var_flags) if(~bitFlags & FL_ONGROUND && ~get_entvar(id, var_oldbuttons) & IN_JUMP) { if(player_jumps[id][JUMPCOUNT] < MAXJUMPS - 1) { player_jumps[id][DOJUMP] = true player_jumps[id][JUMPCOUNT] ++ } } else if(bitFlags & FL_ONGROUND) { player_jumps[id][JUMPCOUNT] = 0 } if(player_jumps[id][DOJUMP]) { static Float:velocity[3] get_entvar(id, var_velocity, velocity) velocity[2] = random_float(265.0,285.0) set_entvar(id, var_velocity, velocity) player_jumps[id][DOJUMP] = false } } public client_disconnected(id) { arrayset(player_jumps[id], 0, jdata) }
#include <amxmodx> #include <reapi> #include <HNS> public plugin_init() { register_plugin("Parachute", "1.1", "ReHLDS Team"); RegisterHookChain(RG_PM_AirMove, "PM_AirMove", .post = false); } public PM_AirMove(const playerIndex) { if(get_votedbool(playerIndex)) //itt volt egy ! jel return; if(!(get_entvar(playerIndex, var_button) & IN_USE) || get_entvar(playerIndex, var_waterlevel) > 0) return; new Float:flVelocity[3]; get_entvar(playerIndex, var_velocity, flVelocity); if (flVelocity[2] < 0.0) { flVelocity[2] = (flVelocity[2] + 40.0 < -100.0) ? flVelocity[2] + 40.0 : -100.0; set_entvar(playerIndex, var_sequence, ACT_WALK); set_entvar(playerIndex, var_gaitsequence, ACT_IDLE); set_pmove(pm_velocity, flVelocity); } }
a kettő plugint úgy oldottam meg hogy a plugin neveit itt bírod át írni ha kell. #if defined TOGGLE_PLUGINS new const PLUGINS[][] = { "ugras.amxx", "ernyo.amxx" }; #endif
mindig egyezzen ha más a neve mert akkor nem fog müködni. FONTOS!!a kettő pluginhoz ernyo+ugras-hoz reapi kell. (nem tudom hogy használsz-e rehlds-t de az kell mindenképpen hozzá mert nem fog müködni) innét bírod letölteni reapiinc-t berakod a fordítodba. lefordítod a fájlokat azt kész. reapi telepítés. modules mappába felrakod a "reapi_amxx_i386.so" fájlt. utána belépsz a configsba ott "modules.ini" és beleírod hogy "reapi" a végére aztán elmented. ui: jobb ötletem nem volt azért oldottam meg így.
_________________
|
|