Hali!
Hosszú idõ után ide írok :D
Nos van ez a kód: ami állítólag leellenõrzi a nevet, és ha nincs benne \'_\' akkor kickeli a játékost, DE ha a játékos jó névvel megy fel, akkor lefut minden, de ha nincs benne ez a jel, akkor kifagy az egész szerver, és crashdetect nem ír semmit rá..
Valakinek ötlet?
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new namestring = strfind(name, \"_\", true);
if(namestring == -1)
{
Kick(playerid);
return 1;
}
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strfind(name, \"_\", true) == -1)
{
SendClientMessage(playerid, COLOR_RED, \"Válassz valósághû nevet. Például: Kiss_Jeno\");
Kick(playerid);
}
Hali!
Hosszú idõ után ide írok :D
Nos van ez a kód: ami állítólag leellenõrzi a nevet, és ha nincs benne \'_\' akkor kickeli a játékost, DE ha a játékos jó névvel megy fel, akkor lefut minden, de ha nincs benne ez a jel, akkor kifagy az egész szerver, és crashdetect nem ír semmit rá..
Valakinek ötlet?
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
new namestring = strfind(name, \"_\", true);
if(namestring == -1)
{
Kick(playerid);
return 1;
}
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strfind(name, \"_\", true) == -1)
{
SendClientMessage(playerid, COLOR_RED, \"Válassz valósághû nevet. Például: Kiss_Jeno\");
Kick(playerid);
}
[/quote]
Ugyanaz. Itt is kifagy. Jah és mellékesen 0.3E RC4 a szeró. Dnél jó volt
stock
IsRPName( const name[], max_line=1, max_bigtext=3 )
{
new edit_max_line;
new edit_max_bigtext;
for( new index = 0; index < strlen(name); index++ )
{
if( strfind(name[index], \"_\", false) == 0)
{
edit_max_line++;
}
if( name[index] >= \'A\' && name[index] <= \'Z\' )
{
edit_max_bigtext++;
}
}
if( edit_max_line == 0 && edit_max_bigtext < 2 ) return false;
if( edit_max_line <= max_line && edit_max_bigtext <= max_bigtext )
{
return true;
}
return false;
}
Ezt alkottam, perfektül megy. teszteltem.
stock
IsRPName( const name[], max_line=1, max_bigtext=3 )
{
new edit_max_line;
new edit_max_bigtext;
for( new index = 0; index < strlen(name); index++ )
{
if( strfind(name[index], \"_\", false) == 0)
{
edit_max_line++;
}
if( name[index] >= \'A\' && name[index] <= \'Z\' )
{
edit_max_bigtext++;
}
}
if( edit_max_line == 0 && edit_max_bigtext < 2 ) return false;
if( edit_max_line <= max_line && edit_max_bigtext <= max_bigtext )
{
return true;
}
return false;
}
Ezt alkottam, perfektül megy. teszteltem.
0.3e RC4en tesztelted? + linuxon?
Tessék próbáld meg ezzel (y_lesstõl):
stock chrfind(needle, haystack[], start = 0)
{
while (haystack[start]) if (haystack[start++] == needle) return start - 1;
return -1;
}
if(chrfind(\'_\',name,0) == -1)
Tessék próbáld meg ezzel (y_lesstõl):
stock chrfind(needle, haystack[], start = 0)
{
while (haystack[start]) if (haystack[start++] == needle) return start - 1;
return -1;
}
if(chrfind(\'_\',name,0) == -1)
Nemjó
Dupla hozzászólás automatikusan összefûzve. ( 2012. március 29. - 15:54:42 )
stock
IsRPName( const name[], max_line=1, max_bigtext=3 )
{
new edit_max_line;
new edit_max_bigtext;
for( new index = 0; index < strlen(name); index++ )
{
if( strfind(name[index], \"_\", false) == 0)
{
edit_max_line++;
}
if( name[index] >= \'A\' && name[index] <= \'Z\' )
{
edit_max_bigtext++;
}
}
if( edit_max_line == 0 && edit_max_bigtext < 2 ) return false;
if( edit_max_line <= max_line && edit_max_bigtext <= max_bigtext )
{
return true;
}
return false;
}
Ezt alkottam, perfektül megy. teszteltem.
[/quote]
ezse jó 0.3e RC4en