GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: aprila44 - 2013. január 26. - 23:17:42

Cím: Objectel kapcsolatos kérdés ezt hogyan lehetne megoldani?
Írta: aprila44 - 2013. január 26. - 23:17:42
Nekem azt kéne megoldani, hogy az objectek 40-tõl 100-as virtuális világban jelenlen meg.
A többi virtuális világban ne jelenlen meg, csak ebben a sávban!
60-szor meg nem szeretném beszúrni úgyanazt az objectet, és a -1 se megoldás, ahol mindenütt megjeleníti.
Cím: Objectel kapcsolatos kérdés ezt hogyan lehetne megoldani?
Írta: Csabesz - 2013. január 27. - 00:02:30
Ciklus 40-tõl 100ig, és ebbe berakod az összes objectet, a virtuális világ meg a ciklus változó lesz. (általában i)
 

for ( new i = 40; i < 100; i++)
{
    CreateDynamicObject( modelid, X, Y, Z, rX, rY, rZ, i, -1, -1, 350.0 );
}

 
mondjuk ez a butább megoldás.
Elméletileg erre lett kitalálva a CreateDynamicObjectEx, amibe meglehet adni a vw, játékos és interior alsó és felsõ indexét.
 

native CreateDynamicObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:drawdistance = 300.0, Float:streamdistance = 500.0, worlds[] = { 0 }, interiors[] = { -1 }, players[] = { -1 }, maxworlds = sizeof worlds, maxinteriors = sizeof interiors, maxplayers = sizeof players);

 
Ide, worlds[] = { 0 } -nél a { } közzé írhatod a számokat 40tõl 100ig vesszõvel elválasztva.
Elsõ megoldás 1xübb, viszont a 2. kevésbé terheli le a szervert, mivel míg a 2. 1x hozza létre az összes objectet addig az elsõ minden objectet 60x.
Ez elég sok akár hogy számoljuk, szóval a 2.-at próbáld.