ATomas 288 Odesláno: 8. Leden, 2011 Share Odesláno: 8. Leden, 2011 Zdravim,rozhodl jsem se pro vas udelal tut jak na nejoptimalizovanejsi streamerfunguje na principu ze nekontrolujete kazdy object zvlast jako to u streameru byva ale kontrolujete jestli je nebo neni v zone a podle toho zobrazite nebo schovate objektyvytvorime si public ktery se bude vyvolavat kazdou terinu (nebo pridame do publicu) SetTimer("MultiTimer",1000,1); forward MultiTimer(); public MultiTimer() { for(new i;i pokud nemate stock IsPlayerInArea(playerid,Float:minx1,Float:maxx1,Float:miny1,Float:maxy1) { new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); if(x > minx1 && x < maxx1 && y > miny1 && y < maxy1) return 1; return 0; } jak vidite je to velmi jednoduche a vymyslel by to asi kazdytakze pokud chcete setrit svoji milovanou CPU tak prvni co odstranite je CreateDynamictObject nebo Xstreamer;o++)>;i++) Návod označen jako platný Ten to návod byl označen jako platný.Návod může být kdykoli označen jako nevhodný či neplatný Link to comment Share on other sites More sharing options...
MinecraftPlayer 0 Odesláno: 8. Leden, 2011 Share Odesláno: 8. Leden, 2011 dal sem si to do party modu kde mam přes 850 objektů a je to good Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 8. Leden, 2011 Share Odesláno: 8. Leden, 2011 Chapu to dobře že pokud je hráč v nějaký zóně, tak se mu zobrazí objekty (hráčovo) a proměna na kontrolu jestli je v zóně, a pak když ta proměna je true ale on není v zoně tak to ty objekty smaže? Link to comment Share on other sites More sharing options...
ATomas 288 Odesláno: 8. Leden, 2011 Author Share Odesláno: 8. Leden, 2011 Chapu to dobře že pokud je hráč v nějaký zóně, tak se mu zobrazí objekty (hráčovo) a proměna na kontrolu jestli je v zóně, a pak když ta proměna je true ale on není v zoně tak to ty objekty smaže? jo je to tak ta promena neni v bool z toho duvodu kdyby byly zony dve tak se musi pouzit ta sama promena treba s hodnotou 2 Link to comment Share on other sites More sharing options...
Guest Frodo Odesláno: 8. Leden, 2011 Share Odesláno: 8. Leden, 2011 Chapu to dobře že pokud je hráč v nějaký zóně, tak se mu zobrazí objekty (hráčovo) a proměna na kontrolu jestli je v zóně, a pak když ta proměna je true ale on není v zoně tak to ty objekty smaže? jo je to tak ta promena neni v bool z toho duvodu kdyby byly zony dve tak se musi pouzit ta sama promena treba s hodnotou 2 Pak mi to příjde jako lehká věc ale vůbec by mě to takhle nenapadlo, pěkný : -) :thumbup: Ještě dotaz - když třeba příjde 20 lidí do jedný zóny najednou, nebude to víc zatěžovat než kdyby se udělalo to že kdyby kdokoliv byl v zóně tak by se objevili normální CreateObjecty, ošetřilo by se to aby když příjde další to nevytvořilo objekty 2x a když v zóně nebude vůbec nikdo tak by se objekty smazali? Link to comment Share on other sites More sharing options...
ATomas 288 Odesláno: 8. Leden, 2011 Author Share Odesláno: 8. Leden, 2011 Chapu to dobře že pokud je hráč v nějaký zóně, tak se mu zobrazí objekty (hráčovo) a proměna na kontrolu jestli je v zóně, a pak když ta proměna je true ale on není v zoně tak to ty objekty smaže? jo je to tak ta promena neni v bool z toho duvodu kdyby byly zony dve tak se musi pouzit ta sama promena treba s hodnotou 2 Pak mi to příjde jako lehká věc ale vůbec by mě to takhle nenapadlo, pěkný : -) :thumbup: Ještě dotaz - když třeba příjde 20 lidí do jedný zóny najednou, nebude to víc zatěžovat než kdyby se udělalo to že kdyby kdokoliv byl v zóně tak by se objevili normální CreateObjecty, ošetřilo by se to aby když příjde další to nevytvořilo objekty 2x a když v zóně nebude vůbec nikdo tak by se objekty smazali? zobrazeni objektu zere spis z clienta logicky to jemu musi zobrazit CreateObject musi byt logicky udelany tim zpusobem jako jsou streamery i CreateObject (nemohly vedet kam si date objekty) je streamovany ale zatezuje mene protoze je v sa-mp aplikaci takze vlastne CreatePlayerObject (hlida jen jednoho hrace) je uspornejsi nez CreateObject (hlida vsechny) ale ten rozdil je zanedbatelny je to jednoduchy a prave proto ze to hodne lidi nenapadne sem to napsal Link to comment Share on other sites More sharing options...
lamik 0 Odesláno: 17. Leden, 2011 Share Odesláno: 17. Leden, 2011 hej som ece zaciatocnik v pawne a píše mi to tieto errory asi tam niečo nemam nadefinovane a ani neviem čo .. pls poradte C:\DOCUME~1\Martin\Plocha\zabij.pwn(1738) : error 017: undefined symbol "MAX_PLAYERS_EX" C:\DOCUME~1\Martin\Plocha\zabij.pwn(1744) : error 017: undefined symbol "Objekty" C:\DOCUME~1\Martin\Plocha\zabij.pwn(1744) : warning 215: expression has no effect C:\DOCUME~1\Martin\Plocha\zabij.pwn(1744) : error 001: expected token: ";", but found "]" C:\DOCUME~1\Martin\Plocha\zabij.pwn(1744) : error 029: invalid expression, assumed zero C:\DOCUME~1\Martin\Plocha\zabij.pwn(1744) : fatal error 107: too many error messages on one line radky 1738: for(new i;i 1744: if(Objekty != 1)//pokud nema objekty zobrazene "help" Link to comment Share on other sites More sharing options...
Guest [BJ]boban88 Odesláno: 17. Leden, 2011 Share Odesláno: 17. Leden, 2011 for(new i;i a hore do modu new Objekty[MAX_PLAYERS]; Link to comment Share on other sites More sharing options...
lamik 0 Odesláno: 17. Leden, 2011 Share Odesláno: 17. Leden, 2011 C:\DOCUME~1\Martin\Plocha\zabij.pwn(1747) : error 017: undefined symbol "PrvniObj" C:\DOCUME~1\Martin\Plocha\zabij.pwn(1747) : warning 215: expression has no effect C:\DOCUME~1\Martin\Plocha\zabij.pwn(1747) : error 001: expected token: ";", but found "]" C:\DOCUME~1\Martin\Plocha\zabij.pwn(1747) : error 029: invalid expression, assumed zero C:\DOCUME~1\Martin\Plocha\zabij.pwn(1747) : fatal error 107: too many error messages on one line PrvniObj = CreatePlayerObject(playerid,5428,803.4574,-3245.8669,3.0372,0,0,0); Link to comment Share on other sites More sharing options...
Guest [BJ]boban88 Odesláno: 17. Leden, 2011 Share Odesláno: 17. Leden, 2011 zase hore do modu new PrvniObj[MAX_PLAYERS]; Link to comment Share on other sites More sharing options...
lamik 0 Odesláno: 17. Leden, 2011 Share Odesláno: 17. Leden, 2011 omg nejde .. furt to píše viac a viac errorov .. si sem mal dat vsechno do navodu..a ne ze : sak to si domyslite ,ja som zaciatocnik a nedomyslim si to...nejaky iny TUT tu eni Link to comment Share on other sites More sharing options...
Ivo Král 0 Odesláno: 17. Leden, 2011 Share Odesláno: 17. Leden, 2011 omg nejde .. furt to píše viac a viac errorov .. si sem mal dat vsechno do navodu..a ne ze : sak to si domyslite ,ja som zaciatocnik a nedomyslim si to...nejaky iny TUT tu eni Navody jsou od toho aby jsi se učil a ne aby jsi to kopiroval.. Link to comment Share on other sites More sharing options...
lamik 0 Odesláno: 17. Leden, 2011 Share Odesláno: 17. Leden, 2011 hej su...sak ja si to vždi čítam... lenže jak sa mám učit ked to nejde "confused" mam sa učit z toho čo nejde? to je načo potom Link to comment Share on other sites More sharing options...
Cz_Ritch 0 Odesláno: 5. Březen, 2011 Share Odesláno: 5. Březen, 2011 D:\VSE\Vse s pawnem\Monster.pwn(434) : error 017: undefined symbol "CreateStreamerObject" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error. "help" Link to comment Share on other sites More sharing options...
Guest Odesláno: 6. Březen, 2011 Share Odesláno: 6. Březen, 2011 tento návod není na kopírovanie.... Link to comment Share on other sites More sharing options...
G4NG 1 Odesláno: 6. Březen, 2011 Share Odesláno: 6. Březen, 2011 D:\VSE\Vse s pawnem\Monster.pwn(434) : error 017: undefined symbol "CreateStreamerObject"Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error. "help" Hore v mode si nadefinuj CreateStreamerObject a už nekopčite a :spam: Link to comment Share on other sites More sharing options...
Guest Odesláno: 6. Březen, 2011 Share Odesláno: 6. Březen, 2011 omfg tak jednoduché to nieje tak ja ti poviem ako si to "nadefinueš" sprav si pár premien (6 floatov, 1 modelid, 1 created = createobject(...),bool:cr) sprav si stock... stock CreateStreamerObject(modelid,Float:x,Float:y,Float:z,Float:rx,Float:ry,Flot:rz){ sem nastavíš modré hodnoty zeleným premenám } a potom postupuj podľa návodu od ATomasa... Hore v mode si nadefinuj CreateStreamerObject gratulujem k hlúpemu postu Link to comment Share on other sites More sharing options...
tomiselma 0 Odesláno: 15. Květen, 2011 Share Odesláno: 15. Květen, 2011 Mohli by ste mi povedat ze ked vojdu do tej zony dvaja tak preco tie objekty zacnu miznut?...kym som tam bol sam videl som ich ale ked dakto bol pri mne tak mizli... "help" Link to comment Share on other sites More sharing options...
DominusKristus 0 Odesláno: 22. Červenec, 2014 Share Odesláno: 22. Červenec, 2014 Proč mi tento kod hádže error 001: expected token: "#endif", but found "-end of file-" // This is a comment // uncomment the line below if you want to write a filterscript //#define FILTERSCRIPT #include #if defined FILTERSCRIPT #if MAX_PLAYERS_EX > MAX_PLAYERS public OnFilterScriptExit() { return 1; } #else #define dcmd(%1,%2,%3) if((strcmp((%3)[1],#%1,true,(%2))==0)&&((((%3)[(%2)+1]==0)&&(dcmd_%1(playerid,"")))||(((%3)[(%2)+1]==32)&&(dcmd_%1(playerid,(%3)[(%2)+2]))))) return 1 #define COLOR_G0LD 0xFFCC00FF #define COLOR_W4RN1NG 0xFF1400FF #define COLOR_GR33N 0x00BA00AA #define MAX_PLAYERS_EX 100 new Objekty[MAX_PLAYERS]; new PrvniObj[MAX_PLAYERS]; new PocetObj[MAX_PLAYERS]; #endif public OnGameModeInit() { SetTimer("MultiTimer",1000,1); return 1; } forward MultiTimer(); public MultiTimer() { for(new i;i { if(IsPlayerConnected(i)) { if(IsPlayerInArea(i,594.0875,1346.0394,-3467.1555,-3077.8024))//pokud je v zone udelejte ji o neco vetsi nez slozeni objektu aby se objekty neukazaly na posledni chvily (zadavejte v poradi minx,maxx,miny,maxy jinak to nebude fungovat) { if(Objekty[i] != 1)//pokud nema objekty zobrazene { PrvniObj[i] = CreatePlayerObject(playerid,5428,803.4574,-3245.8669,3.0372,0,0,0);// u prvniho objketu musi byt PrvniObj[i] = CreatePlayerObject je to kuli tomu ze kdzy v modu mate treba CreateObjet tak id neni 0 Objekty[i] = 1;//zvolime si id zony podle ktere budeme poznavat jestli uz ma objekty zobrazene viz pozminka vise PocetObj[i] = 1;//napiseme kolik je objektu dohromady celkem velmi dulezite kdyz zadate cislo mensi nebudou se mazat vsechny objekty kdyz cislo vetsi bude vam to umazavat jine objekty } }else{//pokud neni v zone if(Objekty[i] == 1)//pokud ma zobrazene objekty { for(new o;o Objekty[i] = 0;//vynulujeme ze neni v zadne zone PocetObj[i] = 0;//toto neni tak dulezite ale pro jistotu } } } } return 1; } stock IsPlayerInArea(playerid,Float:minx1,Float:maxx1,Float:miny1,Float:maxy1) { new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); if(x > minx1 && x < maxx1 && y > miny1 && y < maxy1) return 1; return 0; } ;o++)>;i++) Prosím o Help fakt už neviem si s tým poradiť mam to aj odtabovane to len tu nejak neodtabovalo 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