[INC] Object Streamer v2

Sekcia určená pre programovací jazyk pawn.

[INC] Object Streamer v2

Poslaťod QWER » Ned 20. Mar 2011 9:09:28

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: Vybrať všetko
CreateObjectArea(id,Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)

id    = id zóny npr. 5 a potom objekty dávate do zóny 5...
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: Vybrať všetko
IsPlayerInObjectArea(playerid, areaid)

playerid = hráčove id
areaid  =  id areay, v našom prípade 5
(využitie ? toto využije streamer, vy ani moc nie)

Kód: Vybrať všetko
CreateStreamedObject(area,Ob,Float:xx,Float:yy,Float:zz,Float:rx,Float:ry,Float:rz)

area = id zóny, v našom prípade 5
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: Vybrať všetko
OnPlayerConnectedObject(playerid)

playerid = id hráča
(dáva sa do OnPlayerConnect)

Kód: Vybrať všetko
OnObjectGameModeInit()

(dáva sa do OnGameModeInit, spustí 1 sekundový timer, čas si môžte zmeniť)

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
KiLlMaN aka QWER
Všetci sú netopieri iba ja som Batman
Obrázok užívateľa
QWER
Nováčik
Nováčik
 
Príspevky: 65
Registrovaný: Pia 02. Jan 2009 7:49:32

Späť na Pawn

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

cron