From c1c4df5bf44e542325f4c498e3e135b4ff3f68bc Mon Sep 17 00:00:00 2001 From: Jackz Date: Fri, 19 Feb 2021 00:14:23 -0600 Subject: [PATCH] l4d2_population_control: Properly precache models --- plugins/l4d2_population_control.smx | Bin 3911 -> 3702 bytes scripting/l4d2_population_control.sp | 20 +++++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/plugins/l4d2_population_control.smx b/plugins/l4d2_population_control.smx index 8500723b3bce8755bdf346c43474d53b4d31fafb..c25ac39c1b53db253b4a52d737cc9422a17c0a19 100644 GIT binary patch delta 3559 zcmYk2c|4SD`-i8oBo(q`84O95qQ#am45qSVi;!oOJY;DsF{ZH$ca~6=M9MyI_QLR> zG?t;1J!6X)GmXc-Pbu3l{q8>R?~nJ7?|mHib)KK=Ia>dR8df>o)Aqa%7 z27!pOArJ`p0QmWT@`^wp{Git!gFwz4hCq&h&Xk2fR6$CB;g^FzE`pQ?V+8s+kSbsT zKqv4(Aex}hDnKBvApi84DE`+kgPyMl0U&;$*n>HA0s=vTyb0zq=(j=ssg;193NjRo zmJ$Ra1u_=QRnW6||67{|PXy4ZF9w+QyjP0bP`gcB|Fjf8{NBHF44_ zSJp6_Ef3?|v$)sFSmndg213BO2^2!9XusVZ;URvdu+XV8(f$pBn`l>JIauy!@OWfB zY^xdGl*`j)6VOi~MQ(LcwwgEAng}n(RKI-nQw4S_9e1@lFGT-5S9a9gr5L@Jf9ziz z6fkE!5!{PwljMuCWO?&O*{~#eZL%{%o7$$Kwt~d6HZxu$<$GqVgM3jp{&b#?CW&kp zw%H!qOKzhb+AC~>DSaRwLTa*$+X#Y0S5_SqFlHt2MOm>9Ls80Xjo4c@yz*Y;Zo728!z=1{W z7fs2dGUiy-c-@D+@OSM3zRGLgNd8Q|M_Jo#ULK(o#4OF%D;10myITA8|`NcCwNyc>`mFlZf<3p8t+w z((~2FDHIR-T)(GEo=Wy4bMQ@zQg^TB7JAIB<%1#9Khrv0`njPw&&&0#EE`hxef2xI zzUZ1qDLGr$gYRTe?3-%G11jvyCF^+f>F1NYvdL;UwsP<{RtuPze*L+C-X4In+w2h@ zzU9}rvglFgG=9w_yTwU=c@do%L*x8#LJ%2Q4*e3|F~q>ZZv73DDCeM4f$`+^x8?sT zpxnK*1%IHOC~5r_IS4;J)ZNlLvVMWhT+Lced!w$|GFh#%skDY{J+*A8b#XoSeV9Lg zL;JomV?8Quel4MAyivYS6UZr(r}NC!i+z0|;PvV`WzJE{-%DqDyyEYPmAj>%tG$p# zUw$o4mH&-A>6q-@&w*YdtundmJr zi>Atrh;28}OpVs+(ntp*1&IuAML@W&hUPpby&d_1kpD4xaTDhWpuQUdA7J z%hA9xu_3der*fH$mAe^K8GJ9lpRj2s&o#LFTqL2-&#k|&DAn@mgp8IPgRg2swGqLo zufR#V-qfqc%j-MO&!G`IDagWtZ~P&xM;D@C1N*v@s@?v^Tl5EO4O7dL@u`K5r)-Kh zB!*#0Cc|%swMqe$E;G|T6%ku0qlQU+(|RFap!8KLW5Tf=N&nDScfJpaY45Ak??ckt z`(Ux*rJWz9PuqsE4Q(T>3#?xM%}kN-^0SxNXx8rgTC6_D@N=IF3oyi43tnupx287I zqLUo|X*4>h>HKMFSN7d)iHc?1o2&8jX2GAA^q&!{nT|lk#1VI$(T(>(S&K$>D=Q44 z#Y4FMUkuz0^IM6FI?^T4xlE2Z7w zW2$R?rTL+a7ll71uj>uUaXV5m*;XZaJ{>aWqaujqghE1ygY0ZWC*kM{13z}-CWfpb zH9OPe|M87sP}8%HJKyWAyL3poQftdN*n=L85r7^Wv<)nE&VJ`qecAP1A$A6`^{j(Y>3oDrb?YLv=`k}hja-Be&4?lt zz1dw2k^2$h<9{?E;^5G!VhwXcbGYe+r+&q@u-&}5pyIML{$U(rC(k9sPv_@Ubo9vA zZD1iE9Z_#INH;V>zP4A}#`oMz#(vo#c&_X8>c-ni%(>T;i00GZ;!oYH-eNku$4xk2 z@TJRYCEf4uW??p3Pi<6HfwaG$KG={hRDNYSq5%-Xkfpy6jeI+FdISun!7XS?2( zl{4!i`>|zqkrCptO9|?Iue$8wu-5ElZQ#&PnXVp^IC#}zcE`CSZ;Mz-=vTCb=Jiiq zi$45a%EH^xrS*UpHeY*YO40T?kQaHS6eI{g3pKts!;jNq>#P$x_9@ce5UZ_3lL>#GqZH2HBolJB zwWnxX2cddt7lFF&Gv`}RDvmu;9LN^dEGUeHa|b^{e?8Vse@gv?da$h<$VFP`>ZN^~ zf~yi==r$_0cA~TuY;$7wjDFu{Nplt3gts637Kcy%P7_*CASu&KzX8C^I*|$MgFidAg9SxWI1a6h9 zP^Pe`XM#)9NJ~(}9F0sH_F9OAUAhS1`Gb$n{7~O7%94`Z2}Z+fTn|tre)y*;rC}Al z6|3Wrke&Nzcw(CH(19+U8Qgifl;;Z751R!jLbY-YYy(9-Q)=%(QV9VTuJs}+#36<# zJZ=lC10M?SiSn-nFTM;u%9ix*=r`j{bihfDVjwt8;2)mg@&ogfR;aazIV1D7+ip+8v$@`Zlq@6jY=crD!`kql^gqhu}j5+lsRW_!(C1vd{#?Xy#Y)N_d zu=~ZLvH7LU#I*{7@+XX*RG1xJ#ce5=#{w-7;1c5IZNc~|q8Zf^7%WEmtYei>u(Zl_ z7&?STikDw+Cmttr2fjQ8&Syzd{s^ZlK3{XW;Z&N<}6T?X~^?wP}=sPtI?Kvxm~*a!dsR8T?7 z|M5Ro05}Kv$7}!)%K!k3kYDEq02zoJka#ZxfHFh~fEl!CK@^4b8uC0e03ZeVQb7Rl zhxoraApr1zye^~!ApitkLdFadr!WAhLA3w7hrA=izrkwACqoQ@q;(Adu0V`|I_ig616|Hr@VgLGo;OTqtuSc_Y1q9HxAfqBE6Q3#CT(NZpa%2 zp5z#}JLL~B{U6nGa8+GcPqTb+;4!#6OHW3dPrXn;>S zPxeKjIfyQBN-Y-69x_%f(`JXCpd**VG$jepFj{{jH&M|2HL$ZXY}*xrKMZuhkLAW4 zbHLgR@p3S*6zk1JEW?`6HH#5wX($>fO>qK_h7yY%JWn2hon>MN>B+jN6dV})hmGik znwKK{h9NHybzo;-uxM6d8tm*TbTyIqZ#xSEG#rVB!i-XaQ?juF97L#3K2}qd;6g)r zipAN+1tRencoYVk!q6;4U|}G0!6}V!VyEQq9b>+YrpS{Eb2w2`(3qtU^R&P)@}jmE zN^RrIm*eA5N$GZQSKY37g0sw@`g0PyRnIYboE#x1H12zDIvjz&lll0DCgS_SLms7^ zQ)xnTf$@<@)a4bTEvrViC&H*=zTY2w9(?q&eAw@yol?Czhp4@++NZiW5-Zw%F^tn6 zDgAIeN{VGkS+k92VzD6SC|_~?Xgt-Jr8o{mw;xljrRadlUB}bP-n0Y#^*)rC2KTGs zgk4;^Rv6t1*H=vn^KM3JFt2vd?T3^X_1S}*>!l|CDm9tG^eOhlDZ5#@Vm=S^JBTFY zYZ4o&iG9TYF*P968~nJ&VV3)7le+N{Vys3{UUPcNxT8MS&8pr!yow^Xwcy8+`vDXB zyKF?)m4~vl6%DpZOs*QMHbQ3kGMa3E8ZXUKQ}wjq=UANb zv|z|myDxD}j&@sH2*@+8v(7sI>(se$^*haDsL$AfFZtbD#N1b*Dw(D#j4AoDS<)d}+_9#vpuAn$?rRpav2d8XsigVbe^2Mw zL!4HRs|3gSGo~k>eKnm~uQF0Jg46_(pMObrF~al z`3BlW8uXN0Wp)^>q<+-KoO-INb-3ZvB0ND=jimh=#ozipFqJE*NcnSyLgz-}r+Ci| z^Z0oshi@`0&gV=O?CSX3O+01!8O^C1sxZlW0Sx|G$xZ_!3g1IjpQ)G}$*dgQ64H-c z_`|>wO2~ZHDwQm*tL*)6oQkDbN2n$5vULGSw{o{$X61pG&`QZgf`?(?AJ+_O_Cy~h zPi7;j4ux73nRdE~q2;36@i=|i{#92p!IiV+`-AxH zEQJ20^=~@Mvik;)7gWtcCnHfOLAuW#fnu|I=W9YNHhH;yB!E}$uA_zbCCJiCI=iDS zmTo4)AsL2-mhCcI2i?2E-0w`SO_mlN>uwqp1{6o@od&IC3o5-mV#Srb`T0U6e*bk& zkPN!%PmEYC`po4M(O9u-M-Sb#=Q4>O{1vW<-w3H>71ikq?sZpC6~NAOMy+&&f{`lI zoEo^`0mU%UuHg8eJ}k_CJg@7_U7&;0gsa|Kylcv=*j1B-}n-$IeS^Yp;Jr9DfI9rY!}lF)nbNbQi!z0Y1ho!>A{!?whC zMkNRpX5D`AvoG#cQDmQgX%Q;;?Dtc~JR4-r+`AX#VFmBMJUU%$b;P_@WDcfmrKMt& zRbqCG98|KOwB9#Gc&xASJ2zNgchA_MtF~zIa5)g)PVPBp(BevqzhqhK_MhsSF8h1~ zqi!VNhI5qbm9bOU4U3xg2}kWB@Cb?aUEAJ)`!lcg@mqc3!yUI8N4&ZM$F{R>q+jBm z8B6PDI$ZIyRtQw*P;Uw)>wv3rI8s?ed2GDA#*;BeJ|C@~Ewc)_i4VOCq?M4WOeJ^t zLq3cw)2lnZ?wGB%(V5V76D5+oZJ#m0A!{bFW+uh?25nE;rcUFbxy)un-D+~}4|isd z@wZCUPb@|<;HM=1+Q2KKi83LnteloD*(LkNc138t92M@5?mq(f6v1J-ncONb3oUk^ zgo>Q7q+@A&9o095J(nyQY~Uk7y2X#nM~t!P@!CpQsz*r|a9_9ceS!jxSoOKP*0Ai_ z_y;YK@#ew1>Gy3dHY}xJp*JeJGYBs@6T9mbuVy^&{`kumzg2FNc8(40xez*nBid~+ zqHn8rwO%|G$$HygZ33!i<@=*2rWyo;RnX5Ir!V3voso&o4g)Uy<#qxmLlPH{hmXW| z3&eCO7YFT!3V-o1oQxeLL~MxYQaDZ(POLrHPo^ANYxLWaD4c_DhgXcncQL_YyDjeo z&oD24zFw@!i{+fPRYP)tc~Z%tR(=j-`;oFPWW9>=M)6r>BluxJaRc<#$go@Q8P_gZ zjJG00{76?MnWac?5ely0aFJs3MkgJ{9qBSVu@dTQg{05Y>YZ%K)+X#pzeGQN70h~) z`zosHgAIx1XgMt;oN+;-xkMvQG?leAp~055wFkKn!S79de22HT#2dc_8y`S+MjQC_tkViB?M#^^Trjsx)ZDA)iH{+fJ0b-~FL(u7i`W+FYqU)hE}% z#~bMhp)*S`%KNt0MEa~iSZj2HaI~hb#JPwI-mj>@9;7rrU7ZU6lTUPzWY__11pNUm znPZ)W=sqeyP%6^I^FiLW_4JG%VmNfh2+mKRQ9(hT1KKX%sX6UPc`BklR4{?UXj2gD z4-t6}#9AGXpHvoUzW*Hx6}_Rud8i0xQxaDh@?#QR<24zHCQyY55^TPt^~DJ_h2emf z%kKg-fYQ1^p6zP{uyP#4j@#GJVj^%mvg17%PcN^sfRnHgPM=qLRy;Sc9MOpiO}ZZN z8Rp4z%2dw<61HePXw_ic6RSbq#d-~)$~7j`K|mJL2x(aN^p^C<>iCxZss%95q|Epq zpARoV78?`2Grana(UaA?yFx32x|z*~nIN7t=VJ*IaT0Ii@?pZ06n#iU^yF>d8NSB~52!vjpRHW(1dq8WK zaw476=zsYO`@ys0pK&MDURtMA7*nu$7@|@xC0YsU)c|PB88>*;Y{{n&!YFL>yVJb` zzGAmX+lguRT)!R-(n1mip@r*Lz^}-g#u8XVAAhS{ewahIlGT5Ld{oW6E8S)`JeJp7 zty)EHA$D77J}qX@@2b3|Dd)ohmHH%;p4W>I%&a{rMG1I|?kRiN3B&DM3o*VY%!^iD{eNmW6^-R>#wId$V49k6eGJ?sHm-8g-~XZT#r6ZqQsme7RH7^_s6k$})-!Ymzhw z9O!R&JP;=x7bGkj6=X-l95D2D?6x!_Z232R6S{L#DwE#Rku1`}D=12=ztc&dw6SwO PB=xE3Da-m5jO_maEgvh- diff --git a/scripting/l4d2_population_control.sp b/scripting/l4d2_population_control.sp index 81816c0..d565754 100644 --- a/scripting/l4d2_population_control.sp +++ b/scripting/l4d2_population_control.sp @@ -22,6 +22,16 @@ static ConVar hPercentTotal; static ConVar hPercentClown; static ConVar hPercentMud; +#define COMMON_MODELS_COUNT 2 +static char INFECTED_MODELS[COMMON_MODELS_COUNT][] = { + "models/infected/common_male_clown.mdl", + "models/infected/common_male_mud.mdl" +}; +enum CommonTypes { + Common_Clown, + Common_Mud +}; + public void OnPluginStart() { EngineVersion g_Game = GetEngineVersion(); if(g_Game != Engine_Left4Dead2) { @@ -34,21 +44,21 @@ public void OnPluginStart() { } public void OnMapStart() { - PrecacheModel("models/infected/common_male_clown.mdl"); - PrecacheModel("models/infected/common_male_mud.mdl"); + for(int i = 0; i < COMMON_MODELS_COUNT; i++) { + PrecacheModel(INFECTED_MODELS[i], true); + } } public void OnEntityCreated(int entity, const char[] classname) { if (StrEqual(classname, "infected")) { char m_ModelName[PLATFORM_MAX_PATH]; GetEntPropString(entity, Prop_Data, "m_ModelName", m_ModelName, sizeof(m_ModelName)); - PrintToConsoleAll("Infected -> %s", m_ModelName); if(GetRandomFloat() <= hPercentTotal.FloatValue) { float spawnPercentage = GetRandomFloat(); if(spawnPercentage <= hPercentClown.FloatValue) { - SetEntityModel(entity, "models/infected/common_male_clown.mdl"); + SetEntityModel(entity, INFECTED_MODELS[Common_Clown]); }else if(spawnPercentage <= hPercentMud.FloatValue) { - SetEntityModel(entity, "models/infected/common_male_mud.mdl"); + SetEntityModel(entity, INFECTED_MODELS[Common_Mud]); } } }