stock GetPlayerIDFromPhoneNumb( numb )
{
new str[128];
format(str, sizeof(str),\"RolePlay_A/Telefonszámok/%d.ini\", numb);
new a;
for( new k = 0; k < MAX_PLAYERS; k++ )
{
if( dini_Exists(str) )
{
new StRG[256];
format( StRG, sizeof(StRG), \"%s\", dini_Get(str,\"Tulaj\"));
if( !strcmp( pName(k), StRG, false) )
{
a = GetPlayerIDFromName( pName(k) );
if(IsPlayerConnected(a))
{
printf( \"Neve: %s | ID: %d\", pName(k), a );
return a;
}
}
}
}
return a;
}
Ezt sikerült alkotnom de a tapasztalataim a következõek:
Ha egyedül vagyok fent a szerveren perfektül mûködik ..
De ha már más is fentvan akkor id 0 nem mûködik...
tehát ha \"01245\" telefonszám tulaja éppen ID 0 akkor nem kéri le rendesen...
Miért lehet ez?
Köszi a választ azóta rájöttem az én megoldásom:
stock GetPlayerIDFromPhoneNumb( numb )
{
new pid;
new File[256];
format( File, sizeof(File),\"RolePlay_A/Telefonszámok/%d.ini\", numb);
if( dini_Exists(File) )
{
for(new PlayerID = 0; PlayerID < MAX_PLAYERS; PlayerID++)
{
if( IsPlayerConnected(PlayerID) )
{
if( !strcmp(pName(PlayerID), dini_Get(File, \"Tulaj\"), true) )
{
pid = PlayerID;
printf(\"\\nTelefonszám: %d \\nEbbõl való tulaj ID: %d \\nTulaj neve: %s \\nKiolvasott név: %s\\n\\n\",numb, pid, pName(pid), dini_Get(File, \"Tulaj\"));
}
else
{
pid = -1;
}
}
}
}
else
{
pid = -1;
print(\"Nincs ilyen telefonszám. Visszatérési érték: \\\" -1 \\\" \");
}
return pid;
}