Mivel sok helyen láttam különbözõ verziókat erre a célra, így ma este kigondoltam egy egyszerûbb változatot, ami talán nem rontja le túlságosan a zcmd parancsfeldolgozó gyorsaságát.
Mellette vagy elõny vagy sem, de a parancs használata megmarad továbbra is ékezet nélkül, illetve használatával ékezetekkel is.
Egy egyszerû kódot állítottam össze melyet be kell illeszteni a zcmd.inc fájlba és egyetlen egy sort kell beleírni a zcmd parancsfeldogozó OnPlayerCommandText alatti részéhez.
Akkor a kód:
stock
replaceaccent(ch)
{
switch(ch)
{
case \'á\': return \'a\';
case \'é\': return \'e\';
case \'í\': return \'i\';
case \'ó\',\'ö\',\'õ\': return \'o\';
case \'ú\',\'ü\',\'û\': return \'u\';
}
return ch;
}
Aki akarja kiegészítheti a speciális ékezetes karakterekkel is, pl.:õãåâûĀ, de feleslegesnek tartom.
Mivel a zcmd a bevitt esetleges nagybetûket átalakítja kisbetûkké ezért nem szükséges a nagy ékezetes karakterek megadása.
A fenti kódot be kell másolni a zcmd.inc fájlba, de nem más kódba, hanem valami szabad helyre, majd a következõ sort:
funcname[pos-1] = replaceaccent(funcname[pos-1]);
be kell illeszteni a következõ helyre a zcmd.inc fájlban:
new
pos,
funcname[MAX_FUNC_NAME];
while (cmdtext[++pos] > \' \')
{
funcname[pos-1] = tolower(cmdtext[pos]);
funcname[pos-1] = replaceaccent(funcname[pos-1]);
}
[/quote]
Ezután el kell menteni a zcmd.inc fájlt majd újra konvertálni a módokat és szkripteket, azokat amelyekben használatra kerül a zcmd.inc.
Megismétlem, megmarad az ékezet nélküli parancs használat is!
Példaként a:
/rules
/rúlés
/rûlÉs
/rÚléS
bármelyikére megjelenik/végrehajtásra kerül a /rules kifejezésre írt parancs.
Egy kis pontosítás, mivel a legelsõ próbálkozó félreértette:
Nem a módban és nem a szkriptekben lehet ennek segítségével, ékezetes parancsokat írni!!!
Ez csak a játékban való használatát fogja elvégezni.