Čaute, rád by som vám predstavil prácu členov RW Týmu.
Nesie názov Object Streamer v2. Tento object streamer som začal robiť niakeho marca minulý rok (xx.03.2010). Len BlackJoker zo samp skončil a ja som skončil s projektom. Znova som z5, ešte lepší a vytrvalejší.
Tento streamer funguje na princípe "zón" (Atomas tu písal návod...). Ak máte v zóne 200 objektov tak nekontroluje či ste pri niakom z objektov, ale iba kontroluje či ste v zóne.
MinX = Pozícia zóny X
MinY = Pozícia zóny Y
MaxX = Pozícia zóny X2
MaxY = Pozícia zóny Y2
(dáva sa do OnGameModeinit)
areaid = id areay, v našom prípade 5
(využitie ? toto využije streamer, vy ani moc nie)
ob = id objektu ja nwm npr. niaka dialnica
xx = súradnice xx
yy = súradnice yy
zz = súradnice zz
rx = rotácia x
ry = rotácia y
rz = rotácia z
(dáva sa do OnGameModeInit)
(dáva sa do OnPlayerConnect)
http://pastebin.com/DqpnEbYW
pastebin = http://pastebin.com/sTAp3RQq
http://solidfiles.com/d/1715b/
Aj bez testov sa dá úspora pochopiť, predstavte si že máte 20 000 objektov v obyčajnom streamery. Každú sekundu by kontrolovalo vašu pozíciu s 20 000 objektamy...
A na druhú stranu predstavte si že máte 100 zón po 200 objektov. Miesto 20 000 pozícii by kontrolovalo iba 100...
S Pozdravom
QWER
Nesie názov Object Streamer v2. Tento object streamer som začal robiť niakeho marca minulý rok (xx.03.2010). Len BlackJoker zo samp skončil a ja som skončil s projektom. Znova som z5, ešte lepší a vytrvalejší.
Ako funguje ?
Vačšina object streamerov funguje na princípe "IsPlayerRageOfPoint" čiže ak je blízko objektu, ukáže. Nevýhodou je že ak máte v móde 20 000 objektov tak kontroluje vašu pozíciu s 20 000 objektamy... čo dosť zaťažuje CPU...Tento streamer funguje na princípe "zón" (Atomas tu písal návod...). Ak máte v zóne 200 objektov tak nekontroluje či ste pri niakom z objektov, ale iba kontroluje či ste v zóne.
Funckie
- kód:
CreateObjectArea(id,Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
MinX = Pozícia zóny X
MinY = Pozícia zóny Y
MaxX = Pozícia zóny X2
MaxY = Pozícia zóny Y2
(dáva sa do OnGameModeinit)
- kód:
IsPlayerInObjectArea(playerid, areaid)
areaid = id areay, v našom prípade 5
(využitie ? toto využije streamer, vy ani moc nie)
- kód:
CreateStreamedObject(area,Ob,Float:xx,Float:yy,Float:zz,Float:rx,Float:ry,Float:rz)
ob = id objektu ja nwm npr. niaka dialnica
xx = súradnice xx
yy = súradnice yy
zz = súradnice zz
rx = rotácia x
ry = rotácia y
rz = rotácia z
(dáva sa do OnGameModeInit)
- kód:
OnPlayerConnectedObject(playerid)
(dáva sa do OnPlayerConnect)
- kód:
OnObjectGameModeInit()
Ukážkový script
http://pastebin.com/DqpnEbYW
Download INC
pastebin = http://pastebin.com/sTAp3RQq
http://solidfiles.com/d/1715b/
Úspora
Aj bez testov sa dá úspora pochopiť, predstavte si že máte 20 000 objektov v obyčajnom streamery. Každú sekundu by kontrolovalo vašu pozíciu s 20 000 objektamy...
A na druhú stranu predstavte si že máte 100 zón po 200 objektov. Miesto 20 000 pozícii by kontrolovalo iba 100...
S Pozdravom
QWER