Szerző Téma: ZCMD ékezetes parancsok  (Megtekintve 4208 alkalommal)

ZCMD ékezetes parancsok
« Dátum: 2012. Szeptember 13. - 21:36:27 »
+5
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.
« Utoljára szerkesztve: 2012. Szeptember 14. - 12:15:29 írta ɐʞzssǝlosz »

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
ZCMD ékezetes parancsok
« Válasz #1 Dátum: 2012. Szeptember 13. - 21:45:37 »
0
Beillesztettem a zcmd incbe a kódot amit írtál de , elkezdett hibákat írni a mód arra a sorra.
 
C:\\Documents and Settings\\X\\Dokumentumok\\Letöltések\\samp03e_svr_R2_win32\\gamemodes\\party.pwn(956) : error 001: expected token: \"(\", but found \"á\"
C:\\Documents and Settings\\X\\Dokumentumok\\Letöltések\\samp03e_svr_R2_win32\\gamemodes\\party.pwn(956) : error 001: expected token: \";\", but found \"-identifier-\"
C:\\Documents and Settings\\X\\Dokumentumok\\Letöltések\\samp03e_svr_R2_win32\\gamemodes\\party.pwn(956) : error 001: expected token: \";\", but found \"á\"
C:\\Documents and Settings\\X\\Dokumentumok\\Letöltések\\samp03e_svr_R2_win32\\gamemodes\\party.pwn(956) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
4 Errors.
 
[/quote]
Teszt parancs:
 
CMD:állat(playerid,params[])
{
SendClientMessage(playerid,COLOR_GREEN,\"Beütötted az állat parancsot!\");
return 1;
}

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
ZCMD ékezetes parancsok
« Válasz #2 Dátum: 2012. Szeptember 13. - 22:10:25 »
0
Félre érted, ez a célt szolgál, hogy ha beírja az adott játékos a következõt:
- /állat
Akkor ez a kód a következõt fogja neked visszadobni:
- /allat
Így meghívódik a következõ rész:
 
CMD:allat(playerid, params[])

ZCMD ékezetes parancsok
« Válasz #3 Dátum: 2012. Szeptember 13. - 23:52:21 »
0
Így van, a programozási/szkriptelési rész  továbbra is ékezet nélküli marad csak a játék közbeni használat változik, pontosabban bõvül azzal, hogy parancsként beírhatod hogy /állat és meghívásra kerül a parancsod, amit CMD:allat néven hoztál létre.

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
ZCMD ékezetes parancsok
« Válasz #4 Dátum: 2012. Szeptember 14. - 06:59:21 »
0
oké , köszi ezt akkor valamiért nagyon félre értelmeztem akkor az olvasáskor :D :facepalm:

ZCMD ékezetes parancsok
« Válasz #5 Dátum: 2012. Szeptember 14. - 10:37:41 »
0
Mûködik már rég kerestem ilyent de amiket találtam nem voltak jók. 

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal