[Solved] Country help
#8

Quote:
Originally Posted by SiJ
Quote:
Originally Posted by DeathOnaStick
Quote:
Originally Posted by SiJ
Ok.. I found the problem:
This:
Код:
printf("|%s|",country);
Prints:
Quote:

|Lithuania

|

Instead of |Lithuania|

Any ideas why?
Here's GetPlayerCountry function:

pawn Код:
GetParams(Source[]){
    new Destination[256];
    new SLen=strlen(Source);
    new at,pos=0,tp=0;
    new tempo[256];

    ////////////// Clearing DATA /////////////////  FOR LOOP WAS NOT WORKING FOR THIS PURPOSE
    format(Params[0],sizeof(Params),"");
    format(Params[1],sizeof(Params),"");
    format(Params[2],sizeof(Params),"");
    format(Params[3],sizeof(Params),"");

    /////////////////////////////////////////////

    for(at=pos;at<=SLen;at++){
        strmid(tempo,Source,at,at+1,sizeof(tempo));
        if(!strcmp(tempo,".",true)){
            if(tp<=10){
                strmid(Destination,Source,pos,at,sizeof(Destination));
                format(Params[tp][0],256,"%s",Destination);
                tp=tp+1;
            }
            pos=at+1;
        }
    }
    return 1;
}


GetFileData(Source[]){
    new Destination[256];
    new SLen=strlen(Source);
    new at,pos=0,tp=0;
    new tempo[256];

    ////////////// Clearing DATA /////////////////  FOR LOOP WAS NOT WORKING FOR THIS PURPOSE
    format(FileData[0],sizeof(FileData),"");
    format(FileData[1],sizeof(FileData),"");
    format(FileData[2],sizeof(FileData),"");
    format(FileData[3],sizeof(FileData),"");
    format(FileData[4],sizeof(FileData),"");
    format(FileData[5],sizeof(FileData),"");
    format(FileData[6],sizeof(FileData),"");
    /////////////////////////////////////////////

    for(at=pos;at<=SLen;at++){
        strmid(tempo,Source,at,at+1,sizeof(tempo));
        if(!strcmp(tempo,",",true)){
            if(tp<=10){
                strmid(Destination,Source,pos,at,sizeof(Destination));
                format(FileData[tp][0],256,"%s",Destination);
                tp=tp+1;
            }
            pos=at+1;
        }
    }
    return 1;
}

GetPlayerCountry(playerid,Country[120]){
    new IPAddress[256];
    new a,b,c,d,ipf;
    new File:IPFile;
    new Text[256],start,end;
    GetPlayerIp(playerid,IPAddress,sizeof(IPAddress));
    GetParams(IPAddress);
    a=strval(Params[0]);
    b=strval(Params[1]);
    c=strval(Params[2]);
    d=strval(Params[3]);
    if(a==127 && b==0 && c==0 && d==1){
        format(Country,sizeof(Country),"Unknown");
        return 1;
    }
    ipf = (16777216*a) + (65536*b) + (256*c) + d;
    if(!fexist("CountriesIPs/IPLIST.csv")) return SendClientMessage(playerid,0xFF0000FF,"File not found");
    IPFile=fopen("CountriesIPs/IPLIST.csv",io_read);
    fread(IPFile,Text,sizeof(Text),false);
    while(strlen(Text)>0){
      GetFileData(Text);
      start=strval(FileData[0]);
      end=strval(FileData[1]);
      if(ipf>=start && ipf<=end){
            format(Country,sizeof(Country),"%s",FileData[6]);
            fclose(IPFile);
            return 1;
      }
      fread(IPFile,Text,sizeof(Text),false);
    }
    fclose(IPFile);
    return 1;
}
EDIT: 800 posts!
1.: Gz for the 800
2.: I guess the problem is located in the file, you read the countries from. "Filedata[6]", or whatever you read from, might contain a space (i mean there begins a new line, dunno how its called in english ). Whatever... When it prints it like you said, the problem should be located there.

Cheerz
Nope.. Line in the file is without spaces:
Quote:

1045487616,1045495807,ripencc,1036713600,LT,LTU,Li thuania

Maybe I'll use strfind instead of strcmp..
Thanks for help
Yea, but anyway, there must be a real sollution... I'm still thinking
Reply


Messages In This Thread
[Solved] Country help - by SiJ - 22.01.2010, 14:06
Re: strcmp help - by DeathOnaStick - 22.01.2010, 14:35
Re: strcmp help - by SiJ - 22.01.2010, 14:38
Re: strcmp help - by DeathOnaStick - 22.01.2010, 14:55
Re: strcmp help - by SiJ - 22.01.2010, 15:55
Re: strcmp help - by DeathOnaStick - 22.01.2010, 16:52
Re: strcmp help - by SiJ - 22.01.2010, 17:07
Re: strcmp help - by DeathOnaStick - 22.01.2010, 17:13

Forum Jump:


Users browsing this thread: 2 Guest(s)