Nu sunteti conectat. Conectați-vă sau înregistrați-vă



Vezi subiectul anterior Vezi subiectul urmator In jos  Mesaj [Pagina 1 din 1]

#1OfflineJuNNNNkie 

  Posted Joi Mar 06, 2014 7:40 am

Membru RedQuest

JuNNNNkie
Membru RedQuest
Deci banuiesc ca multi dintre voi ati intrat in ,,scriptfiles'' si acolo atzi gasit un folder de genu' ,,vehiclelists'' .Daca ati intrat in acele fisiere notepad de ex: ,,red_county.txt'' ati gasit niste coordonate fara ,,AddStaticVehicle'' inclus sau altceva
Acele coordonate sunt ale masinilor din jok puse intr-o ordine (ca la SinglePlayer)
Pt a pune acele vehicule pe server fara a mai adauga ,,AddStaticVehicle'' sau altceva faceti urmatoarele:
1. Deschideti GM vostru
2. Cautati

Cod:
public OnGameModeInit()

Si adaugati acolo:

Cod:
new total_vehicles_from_files=0;

total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/red_county.txt");
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/lv_gen.txt");

Aici puteti adauga mai multe vehicule din folder-ul vehiclelists , eu am adaugat doar 2 exemple .Deci pt
a baga si altele cu ar fi ,, whetstone.txt '' schimbati de ex:

Cod:
red_county.txt

din cod-ul de mai sus cu

Cod:
whetstone.txt

si va iesi asa:

Cod:
total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/whetstone.txt");

Iar dupa aceia punem

Cod:
public OnGameModeExit()
{
      return 1;
}

Asta

Cod:
LoadStaticVehiclesFromFile(const filename[])
{
   new File:file_ptr;
   new line[256];
   new var_from_line[64];
   new vehicletype;
   new Float:SpawnX;
   new Float:SpawnY;
   new Float:SpawnZ;
   new Float:SpawnRot;
   new Color1, Color2;
   new index;
   new vehicles_loaded;

   file_ptr = fopen(filename,filemode:io_read);
   if(!file_ptr) return 0;

   vehicles_loaded = 0;

   while(fread(file_ptr,line,256) > 0)
   {
       index = 0;

       // Read tip
        index = token_by_delim(line,var_from_line,',',index);
        if(index == (-1)) continue;
        vehicletype = strval(var_from_line);
         if(vehicletype < 400 || vehicletype > 611) continue;

        // Read X, Y, Z, Rotation
        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnX = floatstr(var_from_line);

        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnY = floatstr(var_from_line);

        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnZ = floatstr(var_from_line);

        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnRot = floatstr(var_from_line);

        // Read Color1, Color2
        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        Color1 = strval(var_from_line);

        index = token_by_delim(line,var_from_line,';',index+1);
        Color2 = strval(var_from_line);

        //printf("%d|%f|%f|%f|%f|%d|%d",vehicletype,
            //SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2);

      AddStaticVehicleEx(vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2,-1);

      vehicles_loaded++;
   }

   fclose(file_ptr);
   printf("Loaded %d vehicles from: %s",vehicles_loaded,filename);
   return vehicles_loaded;
}
//--------------------------------------------------------------------------------------------

token_by_delim(const string[], return_str[], delim, start_index)
{
   new x=0;
   while(string[start_index] != EOS && string[start_index] != delim) {
       return_str[x] = string[start_index];
       x++;
       start_index++;
   }
   return_str[x] = EOS;
   if(string[start_index] == EOS) start_index = (-1);
   return start_index;
}

Si teoretic va trebui sa va apara masinile joc .

Mai complet ar trebui sa a iasa asa:

Cod:
public OnGameModeInit()
{
//NewCars
    new total_vehicles_from_files=0;
  
   total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/lv_gen.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/bone.txt");
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/sf_airport.txt");
}
public OnGameModeExit()
{
      return 1;
}
LoadStaticVehiclesFromFile(const filename[])
{
   new File:file_ptr;
   new line[256];
   new var_from_line[64];
   new vehicletype;
   new Float:SpawnX;
   new Float:SpawnY;
   new Float:SpawnZ;
   new Float:SpawnRot;
   new Color1, Color2;
   new index;
   new vehicles_loaded;

   file_ptr = fopen(filename,filemode:io_read);
   if(!file_ptr) return 0;

   vehicles_loaded = 0;

   while(fread(file_ptr,line,256) > 0)
   {
       index = 0;

       // Read type
        index = token_by_delim(line,var_from_line,',',index);
        if(index == (-1)) continue;
        vehicletype = strval(var_from_line);
         if(vehicletype < 400 || vehicletype > 611) continue;

        // Read X, Y, Z, Rotation
        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnX = floatstr(var_from_line);

        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnY = floatstr(var_from_line);

        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnZ = floatstr(var_from_line);

        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        SpawnRot = floatstr(var_from_line);

        // Read Color1, Color2
        index = token_by_delim(line,var_from_line,',',index+1);
        if(index == (-1)) continue;
        Color1 = strval(var_from_line);

        index = token_by_delim(line,var_from_line,';',index+1);
        Color2 = strval(var_from_line);

        //printf("%d|%f|%f|%f|%f|%d|%d",vehicletype,
            //SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2);

      AddStaticVehicleEx(vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2,-1);

      vehicles_loaded++;
   }

   fclose(file_ptr);
   printf("Loaded %d vehicles from: %s",vehicles_loaded,filename);
   return vehicles_loaded;
}
//-------------------------------------------------------------------------------------
token_by_delim(const string[], return_str[], delim, start_index)
{
   new x=0;
   while(string[start_index] != EOS && string[start_index] != delim) {
       return_str[x] = string[start_index];
       x++;
       start_index++;
   }
   return_str[x] = EOS;
   if(string[start_index] == EOS) start_index = (-1);
   return start_index;
}

Vezi subiectul anterior Vezi subiectul urmator Sus  Mesaj [Pagina 1 din 1]

Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum