ATomas 291 Odesláno: 22. Listopad, 2009 Share Odesláno: 22. Listopad, 2009 Jak odlehčit mód a optimalizovat streamery Obtížnost: cau takze jak sem slibil ukazu vam par triku jak odlehcit mod jak RAM tak CPU vim ze ty co s pawnem zacinaji tak zatez neresi staraji se o to aby to fungovalo jak chteji i kdyz v jejich pripade je to jedno jejich mody sou maly takze se ta zatez ani neprojevi Obsah Odlehčujeme RAM Odlehčujeme CPU Odlehčujeme RAM takze nejdrive jak odlehcit RAM asi jak uz znate stary zmany trik se MAX_PLAYERS_EX samozdreejmne si pojmenujete jak chcete v includu s_samp je MAX_PLAYERS 500 pro 500 slotovy server tak pochybuju ze budete mit 500 lidi na serveru zbytecne zrani RAM v promenych #define MAX_PLAYERS_EX 100//pozor sem si zapocitejte jak pocet slotu nebo hratelnost + pocet botu na serveru a nini pouziti new promena[MAX_PLAYERS]; new promena[MAX_PLAYERS_EX]; coz je vlastne new promena[500]; new promena[100]; i kdyz si rikaze usetrili jsme jenom 400 ale kdyz to pouzijete u vsech promenych tak se toho usetri hodne ale pozor na toto new romena[100][50]; tady se pocet promenych nasobi takze vlastne mate 5000 coz je hodne takovymto promenych se skuse vyhybat nebo nelpeje omezit na co nejmenci cisla to bylo jak odlehcit RAM teď vam ukazu jak odlehcit CPU Odlehčujeme CPU takze na CPU ma nejvetsi zatez cyklus for a timery spise SetTimerEx normalni SetTimer ani moc nezatezuje odesila pouze public zadne paramtery ale SetTimerEx ano takze kdyz mate treba SetTimer("Vezeni",1000,1); public Vezeni() { for(new i;i { if(IsPlayerConnected(i)) { if(!IsPayerNPC(i))//kdyz neni hrac NPC je dobre toto pouzivat vsude kde vyte ze neni npc spise nejlepe na cely public nez u jednotlivych akci { if(Cas[i] > 0) Cas[i] -- ; } } } return 1; } je lepsi pouzit SetTimerEx("Vezeni",1000,1,"i",playerid); public Vezeni(playerid) { Cas[playerid] -- ; return 1; } a zase kdyz mate jeden public a tam hodne akci je dobre ho zase rozlozit do dvou publicu a dvou timeru ale poroz na timery aby se vam nepotkavaly SetTimer("neco",5000,1); SetTimer("neco2",5000,1); chyba! takto je to spravne SetTimer("neco",5000,1); SetTimer("neco2",5010,1); takto se vam mozna potkaji ale az za hodne dlouho coz nebude mit takovou zatez protoze se akce rozlozi a nebudou se muset vykonavat najednou dale jedno z nejhorsich veci co muzete udelat je mit cyklus for ve for treba takto for(new i;i 1 Link to comment Share on other sites More sharing options...
Rayman 0 Odesláno: 22. Listopad, 2009 Share Odesláno: 22. Listopad, 2009 Výborne,určite využiem nice TuT Link to comment Share on other sites More sharing options...
Majitel ffredyk 168 Odesláno: 22. Listopad, 2009 Majitel Share Odesláno: 22. Listopad, 2009 Hned na zacatku mas chybu.. Mas tam MAX_PLAYERID_EX pritom tam ma byt MAX_PLAYERS_EX. Jinak vyborny tut... Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 22. Listopad, 2009 Author Share Odesláno: 22. Listopad, 2009 chybicka se vloudila dik Link to comment Share on other sites More sharing options...
癌癌癌 1 Odesláno: 22. Listopad, 2009 Share Odesláno: 22. Listopad, 2009 Je to super a hodi se to... je to na připíchnutí ps: ja použivam #undef MAX_PLAYERS #define MAX_PLAYERS 100 Link to comment Share on other sites More sharing options...
Guest Navod Odesláno: 28. Prosinec, 2010 Share Odesláno: 28. Prosinec, 2010 new romena[100][50]; tady se pocet promenych nasobi takze vlastne mate 5000 coz je hodne takovymto promenych se skuse vyhybat nebo nelpeje omezit na co nejmenci cisla abych pravdu rekl je to 5151 moznosti .. 5000 je nepresnej vypocet .. nepocital jsi moznosti romena[0-100][0-50] ale romena[1-100][1-50] ( 51*101 ) Link to comment Share on other sites More sharing options...
Petr 44 Odesláno: 6. Leden, 2011 Share Odesláno: 6. Leden, 2011 i když je to docela staré téma, tak to sem pisnu Našel jsem chybu if(Cas[i] > 0) Cas[playerid] -- ; nemá to být takto? if(Cas[i] > 0) Cas[i] -- ; Link to comment Share on other sites More sharing options...
_Martin_ 10 Odesláno: 22. Květen, 2011 Share Odesláno: 22. Květen, 2011 Dneska som to skúšal. Mód má teraz o 800 kB menej!!! Predtým mal 1,6 MB a boli lagy na servery. Dal som MAX_PLAYERS na 100 a MAX_SLOT na 20 lebo viac ludí by tam aj tak nebolo. Pred touto optimalizáciou bol priemerný ping serveru 55-70, teraz je 1-25 to je neuveriteľné!!! Máš u mňa + Link to comment Share on other sites More sharing options...
ATomas 291 Odesláno: 22. Květen, 2011 Author Share Odesláno: 22. Květen, 2011 new romena[100][50]; tady se pocet promenych nasobi takze vlastne mate 5000 coz je hodne takovymto promenych se skuse vyhybat nebo nelpeje omezit na co nejmenci cisla abych pravdu rekl je to 5151 moznosti .. 5000 je nepresnej vypocet .. nepocital jsi moznosti romena[0-100][0-50] ale romena[1-100][1-50] ( 51*101 ) akorat ze kdyz mas promenou s kapacitou 50 tak mas 0,1,2,3 ... 49 a promena 50 uz neexistuje Link to comment Share on other sites More sharing options...
VojnaGangov 0 Odesláno: 22. Květen, 2011 Share Odesláno: 22. Květen, 2011 Je logicke ked ma pole 50 prvkov tak ich ma 50 a nie 51... Link to comment Share on other sites More sharing options...
Frajtr 8 Odesláno: 22. Květen, 2011 Share Odesláno: 22. Květen, 2011 jejich 50 nula se nepocita omg takze jakoby 1-100 Link to comment Share on other sites More sharing options...
KarTooN 1 Odesláno: 2. Červen, 2011 Share Odesláno: 2. Červen, 2011 dobrý nápad :thumbup: Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now