20.02.2009, 09:59
Hmmm, i just tested load vechiles_list, but no cars have been loaded. What is wrong here?
Код:
#include <a_samp> #include <file> #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA new total_vehicles_from_files=0; main() { print( " " ); print( " [================================] " ); print( " | GTA San Andreas Virtual Life | " ); print( " | ---------------------------- | " ); print( " | By Martynas aka Walrus | " ); print( " | ---------------------------- | " ); print( " | Version 1.00 | " ); print( " [================================] " ); print( " " ); } public OnGameModeInit() { SetGameModeText("San Andreas Virtual Life"); AddPlayerClass(103, 747.384, -525.5044, 15, 0, 0, 50000, 38, 50000, 32, 50000); total_vehicles_from_files += LoadStaticVehiclesFromFile("vehiclelists/red_country.txt"); 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; } // Tokenise by a delimiter // Return string and index of the end determined by the // provided delimiter in delim 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; }