RGZ Gaming Forum


 
AcasaUltimele imaginiCăutareÎnregistrareConectare

Distribuiţi|

Cum adugam maisinii

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
Je|eU
Moderator
Je|eU

Rank: Moderator
Status:
Posturi : 157
Reputatie : 4
Data de Inscriere : 08/08/2014
Cum adugam maisinii Empty
MesajSubiect: Cum adugam maisinii Cum adugam maisinii EmptyVin Aug 08, 2014 12:47 pm

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 dupa
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;
Sus In jos

Cum adugam maisinii

Vezi subiectul anterior Vezi subiectul urmator Sus
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
RGZ Gaming Forum  :: »[RGZ] Gaming :: Gta San Andreas :: Tutoriale-