Hát másold be a kódot amit írtam, és
kari1uj = kari1;
kari2uj = kari2;
//Lehet, hogy a karakter tömbön jobban végig tud futni. Emellett, még azt találtam ugyanabban az optimalizálós topikban:
for ( new i, l = strlen( string ); i != l; i++ )
Nem tudom ez miben más, de próbáld ezzel is.
Mondjuk, a karaktertömböt máshogy kell kezelni:
http://forum.sa-mp.com/showthread.php?t=216730Lásd a nagy piros betûs Note! Résznél.
Ha végképp nem megy, itt az strreplace függvény:
http://forum.sa-mp.com/showthread.php?t=396978Vagy esetleg a Flash által linkelt packban lévõ zcmdbõl kiszedni a replaceaccent függvényt, és ezzel végig futni a stringen:
stock
replaceaccent(ch)
{
switch(ch)
{
case \'á\': return \'a\';
case \'é\': return \'e\';
case \'í\': return \'i\';
case \'ó\',\'ö\',\'õ\': return \'o\';
case \'ú\',\'ü\',\'û\': return \'u\';
}
return ch;
}
stock ujstrcmp(kari1[], kari2[], bool:ignoreaccent)
{
for ( new i, l = strlen( kari1 ); i != l; i++ ) kari1 = replaceaccent(kari1);
//ugyanezt a kari 2 vel
//majd strcmp
}
Ez rövidebb, csak megy-e.
Bocsi a helyesírásért, de teló és este van.
U.i.: A pawn kód nem kezeli rendesen az õ û betûke, de gondolom kivehetõ.
Amúgy a te megoldásodnál az egyenlõnél ott a betût \"a\" helyett \'a\' ba kell tenni. Asszem.