Es kann daran liegen, dass MAX_PLAYER_NAME nicht 30 ist, sondern 24.
sscanf(result, "p<|>is[24]ffffffiiii",ttid,ow,pos[0],pos[1],pos[2],i[0],i[1],i[2],bp,v,lp,ond);
Wenn das nicht tut, dann nimm die manuelle Methode, die finde ich so wie so viel besser als sscanf, weil man weiß was der Code macht.
strins(result, "|", strlen(result));
new oldi=0;
new count=0;
for(new i=0; i<strlen(result); i++)
{
if(result[i]=='|')
{
count++;
new tmpstring[sizeof(result)]; tmpstring=result;
strdel(tmpstring, i, strlen(tmpstring));
strdel(tmpstring, 0, oldi+1);
switch(count)
{
case 1: ttid = strval(tmpstring);
case 2: format(ow, sizeof(ow), "%s", tmpstring);
case 3: pos[0] = floatstr(tmpstring);
case 4: pos[1] = floatstr(tmpstring);
case 5: pos[2] = floatstr(tmpstring);
case 6: i[0] = floatstr(tmpstring);
case 7: i[1] = floatstr(tmpstring);
case 8: i[2] = floatstr(tmpstring);
case 9: bp = strval(tmpstring);
case 10: v = strval(tmpstring);
case 11: lp = strval(tmpstring);
case 12: ond = strval(tmpstring);
}
oldi=i;
}
}
^ Das anstatt sscanf. Ist zwar mehr Code, dafür tut es aber, und zwar IMMER!