22.06.2012, 15:16
Pessoal, baixei um fs de corrida, e ele contem a include INI, mas ta dando erro quando compila, e eu nao sei como modificiar essa include INI, pois quero colocar a include DINI no lugar dessa include.
Me Ajudem
NO FS:
Include:
Comando para salvar a corrida:
Tem o INI em uma public tambem (essa public serб chamada no comando que abrirб a corrida salva)
Me Ajudem
NO FS:
Include:
pawn Код:
#include <INI>
pawn Код:
dcmd_srace(playerid, params[])
{
if(BuildingRace[playerid]!=0){
if(SetedLimit[playerid] == 0) return SendClientMessage(playerid, RED, "-Warning- {FFFFFF}Please use {FF0000}/setlimit {FFFFFF}to set the limit of the persons.");
if(SetedWorld[playerid] == 0) return SendClientMessage(playerid, RED, "-Warning- {FFFFFF}Please use {FF0000}/setworld {FFFFFF}to set the world of the race.");
if(ModeFoot[playerid] == 0) {
if(SetedCar[playerid] == 0) { return SendClientMessage(playerid, RED, "-Warning- {FFFFFF}Please use {FF0000}/setcar {FFFFFF}to set the car of the race."); }
}
if(ModeFoot[playerid] == 1) CarRace[playerid] = 0;
if(ModeFoot[playerid] == 1 && ActualVehicle[playerid]==0) return SendClientMessage(playerid, RED, "-Warning- {FFFFFF}Please use /saverace, this race need fix cars.");
if(StartPointX[playerid] == 0) return SendClientMessage(playerid, RED, "-Warning- {FFFFFF}Please use {FF0000}/fcp {FFFFFF}to create the spawning area of the race.");
new tmp[256], idx;
tmp = strtok(params, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, RED, "-Wrong command- {FFFFFF}USE: /srace [name]");
return 1;
}
if(BCurrentCheckpoints[Builder(playerid)] < 5){
SendClientMessage(playerid, RED, "-Error- {FFFFFF}Create a race with more than 5 checkpoints.");
return 1;
}
new NameRace[64], Total[10000], Exist[512];
format(NameRace, 32, "/AppleRace/%s.ApR",tmp);
if(fexist(NameRace)){
format(Exist, sizeof(Exist), "-Warning- {FFFFFF}Race \"%s\" already exists, change name.",tmp);
SendClientMessage(playerid, RED, Exist);
return 1;
}
format(NameRace, 32, "/AppleRace/%s.ApR",tmp);
new Creator[MAX_PLAYER_NAME];
GetPlayerName(playerid, Creator, MAX_PLAYER_NAME);
new CorridaNome[64];
format(CorridaNome, 32, "%s",tmp);
INI_Open(NameRace);
INI_WriteString("Name", CorridaNome);
INI_WriteString("Creator", Creator);
INI_WriteInt("ModeFoot", ModeFoot[playerid]);
INI_WriteInt("Limit", LimitPersons[playerid]);
INI_WriteInt("World", RaceWorld[playerid]);
INI_WriteInt("Vehicle", CarRace[playerid]);
INI_WriteFloat("StartCPX", StartPointX[playerid]);
INI_WriteFloat("StartCPY", StartPointY[playerid]);
INI_WriteFloat("StartCPZ", StartPointZ[playerid]);
INI_WriteFloat("StartCPA", StartPointA[playerid]);
for(new i = 0; i < BCurrentCheckpoints[Builder(playerid)]+1;i++)
{
if(BCheckpoints[Builder(playerid)][i][0] == 0) break;
format(StringGlobal, sizeof(StringGlobal),"%f %f %f",BCheckpoints[Builder(playerid)][i][0], BCheckpoints[Builder(playerid)][i][1], BCheckpoints[Builder(playerid)][i][2]);
format(Total,sizeof(Total),"CP:%d",i);
INI_WriteString(Total, StringGlobal);
}
INI_Save();
INI_Close();
new File:f;
f = fopen("AppleRace/RaceList.ApR",io_append);
format(StringGlobal, sizeof(StringGlobal), "%s %s\n", tmp, Creator);
fwrite(f,StringGlobal);
fclose(f);
if(ModeFoot[playerid] == 1 && ActualVehicle[playerid]>=1){
new File:z;
z = fopen("/AppleRace/Cars.CApR", io_append);
for(new i = 0; i < ActualVehicle[playerid]; i++)
{
if(ActualVehicle[playerid]==0) break;
format(StringGlobal, sizeof(StringGlobal),"%d,%f,%f,%f,%f,%d,%d,%i ;\n",BCars[Builder(playerid)][i][0], BCars[Builder(playerid)][i][1], BCars[Builder(playerid)][i][2], BCars[Builder(playerid)][i][3], BCars[Builder(playerid)][i][4], BCars[Builder(playerid)][i][5], BCars[Builder(playerid)][i][6], BCars[Builder(playerid)][i][7]);
fwrite(z, StringGlobal);
}
fclose(z);
}
new Mensagem[512];
format(Mensagem,sizeof(Mensagem),"-Successfuly- {FFFFFF}Your race \"%s\" successfully created!",tmp);
SendClientMessage(playerid, GREEN, Mensagem);
}else{
SendClientMessage(playerid, RED, "-Error- {FFFFFF}You are not building a race.");
}
return 1;
}
pawn Код:
public LoadR(tmp[])
{
new race_name[64];
new File:f, templine2[64], Count, idx;
format(iString, sizeof(iString), "/AppleRace/RaceList.ApR");
if(!fexist(iString)) return -1;
f = fopen(iString, io_read);
while(fread(f,templine2,sizeof(templine2),false))
{
for(new i, x = strlen(templine2); i < x; i++)
{
if(templine2[i] == '\r') templine2[i] = '\0';
}
idx = 0;
RaceNames[Count] = strtok(templine2, idx);
Count++;
GaymeCountR++;
}
for(new j=0;j<GaymeCountR-1;j++)
{
if(strfind(RaceNames[j], tmp, true) != -1)
{
format(race_name,sizeof(race_name), "/AppleRace/%s.ApR", RaceNames[j]);
printf("race load: %s", race_name);
format(CRaceName,sizeof(CRaceName), "%s", RaceNames[j]);
break;
}
}
if(!fexist(race_name)) return -1;
OnCurrentCheckpoint = -1; RLenght=0; RLenght=0;
INI_Open(race_name);
INI_ReadString(OnRaceName, "Name");
INI_ReadString(OnCreator, "Creator");
OnRaceFoot = INI_ReadInt("ModeFoot");
OnRaceLimit = INI_ReadInt("Limit");
OnRaceWorld = INI_ReadInt("World");
OnCarroCorrida = INI_ReadInt("Vehicle");
OnStartX = INI_ReadFloat("StartCPX");
OnStartY = INI_ReadFloat("StartCPY");
OnStartZ = INI_ReadFloat("StartCPZ");
OnStartA = INI_ReadFloat("StartCPA");
OnCurrentCheckpoint = -1;
new i;
for(new j=0;j<200;j++)
{
i = 0;
OnCurrentCheckpoint++;
format(StringGlobal,sizeof(StringGlobal), "CP:%d", OnCurrentCheckpoint);
INI_ReadString(StringGlobal, StringGlobal);
RaceCheckpoints[OnCurrentCheckpoint][0] = floatstr(strtok(StringGlobal,i));
if(RaceCheckpoints[OnCurrentCheckpoint][0] > -1 && RaceCheckpoints[OnCurrentCheckpoint][0] < 1)
{
OnCurrentCheckpoint=j-1;
break;
}
RaceCheckpoints[OnCurrentCheckpoint][1] = floatstr(strtok(StringGlobal,i));
RaceCheckpoints[OnCurrentCheckpoint][2] = floatstr(strtok(StringGlobal,i));
if(OnCurrentCheckpoint >= 1)
{
RLenght+=Distance(RaceCheckpoints[OnCurrentCheckpoint][0],RaceCheckpoints[OnCurrentCheckpoint][1],
RaceCheckpoints[OnCurrentCheckpoint][2],RaceCheckpoints[OnCurrentCheckpoint-1][0],
RaceCheckpoints[OnCurrentCheckpoint-1][1],RaceCheckpoints[OnCurrentCheckpoint-1][2]);
}
}
LLenght = RLenght + Distance(RaceCheckpoints[OnCurrentCheckpoint][0],RaceCheckpoints[OnCurrentCheckpoint][1],
RaceCheckpoints[OnCurrentCheckpoint][2],RaceCheckpoints[0][0],RaceCheckpoints[0][1],
RaceCheckpoints[0][2]);
INI_Save();
INI_Close();
return 1;
}