Hello sziasztok!
Ez a dolog nem valami nagy szám, de nekem segített: gyorsabbá varázsolta a mód futtatását + jobban áttekinthetõ. (véleményeim szerint)
Az a lényege, hogy OnGameModeInit-hez csak meghívunk néhány \"tárolót\".
Példa:
public OnGameModeInit()
{
ObjectekBetoltese(); JarmuvekBetoltese();
print(\"A játékmód sikeresen betöltött!\");
return 1;
}
forward ObjectekBetoltese();
public ObjectekBetoltese()
{
CreateObject(...);
print(\"Az objectek sikeresen betöltöttek!\");
return 1;
}
forward JarmuvekBetoltese();
public JarmuvekBetoltese()
{
AddStaticVehicle(...);
print(\"A jármûvek sikeresen betöltöttek!\");
return 1;
}
public OnGameModeInit( )
{
LoadObjectek( );
LoadJarmuvek( );
return 1;
}
stock LoadObjectek( )
{
return 1;
}
stock LoadJarmuvek( )
{
return 1;
}
Egyszerûbb az egész kód, nincs semmi forward meg minden hülyeség.. egyébként ezt sem nevezném \'kódnak\', én is készítettem ilyen LEíRÁST..
Hello sziasztok!
Ez a dolog nem valami nagy szám, de nekem segített: gyorsabbá varázsolta a mód futtatását + jobban áttekinthetõ. (véleményeim szerint)
Az a lényege, hogy OnGameModeInit-hez csak meghívunk néhány \"tárolót\".
Példa:
public OnGameModeInit()
{
ObjectekBetoltese(); JarmuvekBetoltese();
print(\"A játékmód sikeresen betöltött!\");
return 1;
}
forward ObjectekBetoltese();
public ObjectekBetoltese()
{
CreateObject(...);
print(\"Az objectek sikeresen betöltöttek!\");
return 1;
}
forward JarmuvekBetoltese();
public JarmuvekBetoltese()
{
AddStaticVehicle(...);
print(\"A jármûvek sikeresen betöltöttek!\");
return 1;
}
Nem rossz de viszont én meg több fájlból olvastatom be az objecteket, jármûveket.. Sokkal egyszerûbb még ennél is mivel, nem kell lefuttatnod azért xEzer-szer több soros módot a konvertálásnál, hanem elég mindig azt a fájlt, amiben az objectek vannak. Javíts ki ha tévedek, de így nem lehet igazából belezavarodni :)
A legjobb megoldás még mindig az, ha fájlba mented az adatokat, majd onnan töltöd be, az alap függvény fájlkezelõkkel (mivel kevés dolog esetén a leggyorsabbak tudtommal) és streamerrel létrehozod az adott objectet.
Én ezt így oldottam meg:
stock Objecttolt(filename[])
{
if(!fexist(filename)) printf(\"Az adott fájl nem létezik, hozd létre ezzel a címmel (objectek - és txt legyen), ha nem hozza létre autómatikusan!\");
new
buff[256],
object,
WorldID,
IntID,
Float: X,Y,Z, rX, rY, rZ,
szamlalo,
File:opened = fopen(\"objectek.txt\", io_read);
if(opened)
{
while(fread(opened, buff))
{
unformat(buff,\"dffffffdd\", object, X, Y, Z, rX,rY,rZ,WorldID, IntID);
printf(\"%d, %f, %f, %f, %f, %f, %f, %d, %d\", object, X, Y, Z, rX,rY,rZ, WorldID, IntID );
CreateDynamicObject(object, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, WorldID, IntID, -1, 200.0);
szamlalo++;
}
fclose(opened);
}
return 1;
}
stock Objectment(filename[],object,Float:X,Float:Y,Float:Z,Float:rX,Float:rY,Float:rZ, WorldID, IntID)
{
new File:opened,
sorok[256];
format(sorok,sizeof(sorok), \"%d %f %f %f %f %f %f %d %d \\r\\n\", object, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, WorldID,IntID);
opened = fopen(filename, io_append);
fwrite(opened, sorok);
fclose(opened);
return 1;
}