Witam. Prosiłbym was o modyfikację, która polega na tym, iż broń znika dopiero po 35 sek. od upuszczenia jej przez gracza.
Link do pluginu: Remove Weapons - AMXX.pl: Support AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Remove WeaponsBroń znika po 35 sek.
Temat rozp. Ircu, 17.08.2011 12:23
4 odpowiedzi w tym temacie
#1
Napisano 17.08.2011 12:23
#2
Napisano 17.08.2011 15:20
#include <amxmodx> #include <fakemeta> #define PLUGIN "RemoveWeapons" #define VERSION "1.0.1" #define AUTHOR "R3X" new gcvarDef,gcvarDrop; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_forward(FM_SetModel,"fwSetModel",1); gcvarDrop=register_cvar("amx_remove_dropped","1"); gcvarDef=register_cvar("amx_remove_default","1"); register_event("HLTV", "eventRoundInit", "a", "1=0", "2=0"); } public eventRoundInit(){ new bool:enabled=(get_pcvar_num(gcvarDef)==0) new ent=-1; do{ ent=engfunc(EngFunc_FindEntityByString, ent,"classname", "armoury_entity"); if(pev_valid ( ent )) { set_pev(ent, pev_solid, enabled?SOLID_TRIGGER:SOLID_NOT); fm_set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,enabled?255:0); } } while(ent); } public fwSetModel(ent, model[]){ if(get_pcvar_num(gcvarDrop)==0) return FMRES_IGNORED; new szClass[32]; pev(ent, pev_classname,szClass, 31); if(equal(szClass,"weaponbox")){ if(!equal(model, "models/w_backpack.mdl")) { remove_task(ent) set_task(35.0,"removeEnt",ent) dllfunc(DLLFunc_Think, ent); return FMRES_IGNORED } }else if(equal(szClass,"weapon_shield")){ remove_task(ent) set_task(35.0,"removeEnt",ent) return FMRES_IGNORED; } return FMRES_IGNORED; } stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) { new Float:RenderColor[3] RenderColor[0] = float(r) RenderColor[1] = float(g) RenderColor[2] = float(b) set_pev(entity, pev_renderfx, fx) set_pev(entity, pev_rendercolor, RenderColor) set_pev(entity, pev_rendermode, render) set_pev(entity, pev_renderamt, float(amount)) return 1 } public removeEnt(iEnt){ if(!pev_valid(iEnt)) return ; new szClass[64]; pev(iEnt, pev_classname,szClass, charsmax(szClass)); if(!equal(szClass,"weaponbox") && !equal(szClass,"weapon_shield")) return ; engfunc(EngFunc_RemoveEntity, iEnt); }
#3
Napisano 18.08.2011 00:20
Prościej, poprawnie [ dllfunc(DLLFunc_Think, ent); usuwa "weaponbox" ] i bez tasków
#include <amxmodx> #include <fakemeta> #define PLUGIN "RemoveWeapons" #define VERSION "1.0.2" #define AUTHOR "R3X" new gcvarDef,gcvarDrop; new gcvarDelay; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_forward(FM_SetModel,"fwSetModel",1); gcvarDrop=register_cvar("amx_remove_dropped","1"); gcvarDef=register_cvar("amx_remove_default","1"); gcvarDelay = register_cvar("amx_remove_delay", "35.0"); register_event("HLTV", "eventRoundInit", "a", "1=0", "2=0"); } public eventRoundInit(){ new bool:enabled=(get_pcvar_num(gcvarDef)==0) new ent=-1; do{ ent=engfunc(EngFunc_FindEntityByString, ent,"classname", "armoury_entity"); if(pev_valid ( ent )) { set_pev(ent, pev_solid, enabled?SOLID_TRIGGER:SOLID_NOT); fm_set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,enabled?255:0); } } while(ent); } public fwSetModel(ent, model[]){ if(get_pcvar_num(gcvarDrop)==0) return FMRES_IGNORED; new szClass[32]; pev(ent, pev_classname,szClass, 31); if(equal(szClass,"weaponbox") || equal(szClass,"weapon_shield")){ if(!equal(model, "models/w_backpack.mdl")){ set_pev(ent, pev_ltime, 0.0); set_pev(ent, pev_nextthink, get_gametime()+get_pcvar_float(gcvarDelay)); return FMRES_HANDLED; } } return FMRES_IGNORED; } stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) { new Float:RenderColor[3] RenderColor[0] = float(r) RenderColor[1] = float(g) RenderColor[2] = float(b) set_pev(entity, pev_renderfx, fx) set_pev(entity, pev_rendercolor, RenderColor) set_pev(entity, pev_rendermode, render) set_pev(entity, pev_renderamt, float(amount)) return 1 }
#4
Napisano 18.08.2011 17:19
Dzięki! Plusiki dla panów i można zamknąć.
#5
Napisano 18.08.2011 17:23
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Rozwiązane
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Rozwiązane
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych