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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: aprila44 - 2013. január 23. - 20:27:52

Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: aprila44 - 2013. január 23. - 20:27:52
Olyan szkriptet kérni ami *txt fáljból betudja tölteni az streamert objecteket.
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: Switzer - 2013. január 23. - 20:57:08
Talán jó lesz talán nem??

http://sampforum.hu/index.php?topic=12952.0
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: aprila44 - 2013. január 23. - 21:06:42
Ennek semmi köze ahhoz amit szeretnék.
Objecteket txt fáljban szeretném tárolni.
Scriptfiles lenne egy obejct.txt fálj ami streamer objectek kordinátáit és object id-i lennének benne.
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: Switzer - 2013. január 23. - 21:20:14
Elnézést rájöttem :)

Hát ott van google meg a sampforum.hu keresõ is elnézést de nem tudok segíteni ebben!


Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: Zsolesszka - 2013. január 23. - 21:21:29
Ahhoz kell egy olyan minta is, amilyen formátumban tárolod az objectek adatait.
Sajnos elég nehéz olyat írni ami szinte mindenre jó.
Nagyon sok fajta formátum létezik, így szinte mindegyikhez más fajta eljárást kell írni.
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: aprila44 - 2013. január 23. - 21:30:52
Minta:
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0);
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: Zsolesszka - 2013. január 23. - 21:39:31
Idézetet írta: aprila44 date=1358973052\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"32888\" data-ipsquote-contentclass=\"forums_Topic
Minta:
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0);
 
Ez nem minta, ez egy samp funkció.
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: aprila44 - 2013. január 23. - 21:51:13
modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0
1419,-1443.4546,10,3578,2311.5824,0,0,0,-1,-1,-1,200.0
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: Zsolesszka - 2013. január 23. - 22:00:12
sscanf-el jó?
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: Casamiro - 2013. január 23. - 22:11:04
Tessék:
#include <a_samp>
#define OBJECT_FAJL \"Objectek.txt\" // Innen fogja kiolvasni az értékeket
public OnFilterScriptInit()
{
    ObjectBetoltes();
    return 1;
}
stock ObjectBetoltes()
{
    new File:fajl = fopen(OBJECT_FAJL, io_read);
    new data[128];
    new Float:Pos[3], Float:Rot[3];
    new model, world = -1, interior = -1, player = -1, Float:streamdist = 200.0, betoltott;
    while(fread(fajl, data))
    {
        sscanf(data, \"p<,>dffffffdddf\", model, Pos[0], Pos[1], Pos[2], Rot[0], Rot[1], Rot[2], world, interior, player, streamdist);
        CreateDynamicObject(model, Pos[0], Pos[1], Pos[2], Rot[0], Rot[1], Rot[2], world, interior, player, streamdist);
        betoltott ++;
    }
    return betoltott; // Visszatérési érték: Betöltött objectek száma
}

Böngészõben írtam, nem biztos hogy jó.
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: Zsolesszka - 2013. január 23. - 22:38:03
Ok látom már valaki írt egy verziót, de azért itt az én verzióm is:
 
#include <a_samp>
#include <sscanf2>
#include <streamer>
public
OnFilterScriptInit()
{
ObjectLoad(\"object.txt\");
return 1;
}
stock
ObjectLoad(file[])
{
new
O_line,
O_start = -1,
O_end,
O_temp[256],
File:O_object,
O_modelid = INVALID_OBJECT_ID,
Float:O_x,
Float:O_y,
Float:O_z,
Float:O_rx,
Float:O_ry,
Float:O_rz,
O_worldid = -1,
O_interiorid = -1,
O_playerid = -1,
Float:O_streamdistance = 200.0;
print(\"\\n\\n\\nObject Loader loaded\");
O_object = fopen(file, io_read);
if(O_object)
{
while(fread(O_object, O_temp))
{
   O_line++;
   if(sscanf(O_temp, \"p<,>dffffffD(-1)D(-1)D(-1)F(200.0)\", O_modelid, O_x, O_y, O_z, O_rx, O_ry, O_rz, O_worldid, O_interiorid, O_playerid, O_streamdistance)) printf(\"Error, loaded line: %d->%s\", O_line, O_temp);
   else
   {
      if(O_modelid != INVALID_OBJECT_ID)
      {
         O_end = CreateDynamicObject(O_modelid, O_x, O_y, O_z, O_rx, O_ry, O_rz, O_worldid, O_interiorid, O_playerid, O_streamdistance);
         // printf(\"Loaded: %d,%f,%f,%f,%f,%f,%f,%d,%d,%d,%f\", O_modelid, O_x, O_y, O_z, O_rx, O_ry, O_rz, O_worldid, O_interiorid, O_playerid, O_streamdistance);
         O_modelid = INVALID_OBJECT_ID;
      }
      if(O_start == -1) { O_start = O_end; }
   }
}
printf(\"Loaded object : %d items\\n\\n\\n\", O_end - O_start + 1);
fclose(O_object);
} else printf(\"A fájlt nem sikerült megnyítni: %s\", file);
}
Cím: txt fáljból streamert object betöltõ szkript kérés
Írta: aprila44 - 2013. január 24. - 00:45:22
Mûködik, köszi!