nice
wo hast du denn die daten für die distances her?
Hab mir mal ein kleines Programm geschrieben,dass mir die Daten aus den IDE Datein des Spieles ausgelesen hat.
Zitat\data\maps\*\*.IDE
Bsp:\data\maps\SF\SFe.IDE
stock Float:GetOptimalIDEDistance(modelid,Float:input) {
for(new i; i < sizeof(IDEData) ; i++) {
if(modelid == IDEData[i][IDE_iModelID]) {
return IDEData[i][IDE_fDistance];
}
}
return input;
}
stock CreateDynamicObjectEX(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 200.0,Float:extra_distance = 20.0) {
distance = GetOptimalIDEDistance(modelid,distance);
return CreateDynamicObject(modelid,x,y,z,rx,ry,rz, worldid, interiorid, playerid,distance + extra_distance);
}
Entweder benutzt du GetOptimalIDEDistance() und gibst dort eine ModelID und eine default DrawDistance an.Die default DrawDistance wird gebrauchst,falls kein Eintrag für die ModelID gefunden wird.
GetOptimalIDEDistance(10343,200.0);
10343 - ModelID
200.0 - DrawDistance,falls kein Eintrag für diese ModelID gefunden wurde.Denn ungefähr 100 von ~15000 Einträgen fehlen ( Die du aber mit sehr sehr hoher wahrscheinlichkeit eh nicht nutzt,weil das TOBJs sind ).
Liefert dir direkt als return Wert die Distanz.
Oder du benutzt direkt CreateDynamicObjectEX(), die ist aber ausgelegt für das Streamer Plugin von Incognito.Du kannst es aber für jeden Streamer benutzten,und anstatt eine DrawDistanz die Funktion GetOptimalIDEDistance einfügen.