Cum adaugam masinile din scriptfiles pe server

Post Reply
RoberTo
Global Moderator
Global Moderator
Posts: 1380
Joined: Sun Dec 26, 2010 9:31 pm
Jucator SA:MP ?: Da
Nick:: RoberTo
Jucator CS ?: Da
Location: Craiova
Contact:

Cum adaugam masinile din scriptfiles pe server

Post by RoberTo »

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

Code: Select all

public OnGameModeInit() 
Si adaugati acolo :

Code: Select all

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:

Code: Select all

red_county.txt
din cod-ul de mai sus cu

Code: Select all

whetstone.txt
si va iesi asa:

Code: Select all

total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/whetstone.txt");
Iar dupa aceia punem dupa

Code: Select all

public OnGameModeExit()
{
   	return 1;
}
Asta:

Code: Select all

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:

Code: Select all

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;
} 
La mn a functionat ,orasul Lv era gol si dupa ce am pus asta in acel Gm au aparut masinile ,deci nu vad dc nu ar merge si la voi.
Vrei un host de calitate si serios pentru serverul tau?
VEZI SERVERE HOSTATE LA NOI : http://www.zonek.ro/index.php?option=com_lgsl&Itemid=5
0763.55.9997 Comanda ACUMA OFERTA LIMITATA
Y: zonek_telecom | http://www.zonek.ro
- Nu te baga in pat nervos, stai treaz si "lupta". http://forum.zonek.ro inscrie-te si vezi cum se manifesta...
- Pentru schimb de Linkuri Intra AICi : linkex
Image
- Pentru cereri de Parteneriate prin Bannere Intra AICI
Image
Image
Post Reply

Return to “Tutoriale”