Raised This Month: $ Target: $400
 0% 

Reversing string problem


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
eyalmmm
Member
Join Date: Dec 2010
Old 01-02-2012 , 14:16   Reversing string problem
Reply With Quote #1

Hello
Ive tried to build a plugin which will convert any key sent to chat from EN to HE.
But Ive encountered with the problem that the string get reversed becouse Hebrew it "Right to Left" .
I used alot of functions to reverse string order but nothing.
if someone can help me solve this problem becouse I dont have any solution and this plugin is very necessary.
the Code :
PHP Code:

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say""cmdTest");
}

public 
cmdTest(id){
        new 
szArg[32];
        
read_args(szArgcharsmax(szArg));
        
remove_quotes(szArg);
        new 
szName[32];
        
get_user_name(idszNamecharsmax(szName));
        Print(
id"%s"reverse(szArg));
        
        return 
PLUGIN_HANDLED_MAIN;
}
Print(
id , const szMessage[], any:...)
{
    static 
szBuffer[192];
    
vformat(szBuffercharsmax(szBuffer), szMessage3);
    new 
szLetterALEF[3] , szLetterBET[3] ,szLetterGIMEL[3] ,szLetterDALET[3] ,szLetterHEY[3] ,szLetterVAV[3] ,szLetterZAYIN[3] ,szLetterHET[3] ,szLetterTET[3] ,szLetterYUD[3] ,szLetterKAVSOFIT[3] ,szLetterKAV[3] ,szLetterLAMED[3] ,szLetterMEMSOFIT[3] ,szLetterMEM[3] ,
    
szLetterNUNSOFIT[3],szLetterNUN[3] ,szLetterSAMEH[3] ,szLetterAYIN[3] ,szLetterPEYSOFIT[3] ,szLetterPEY[3],szLetterZADIKSOFIT[3] ,szLetterZADIK[3] ,szLetterKUF[3] ,szLetterRESH[3] ,szLetterSHIN[3] ,szLetterTAV[3];
    
newChar('א'szLetterALEFsizeof szLetterALEF 1);
    
newChar('ב'szLetterBETsizeof szLetterBET 1);
    
newChar('ג'szLetterGIMELsizeof szLetterGIMEL 1); 
    
newChar('ד'szLetterDALETsizeof szLetterDALET 1);
    
newChar('ה'szLetterHEYsizeof szLetterHEY 1);
    
newChar('ו'szLetterVAVsizeof szLetterVAV 1);
    
newChar('ז'szLetterZAYINsizeof szLetterZAYIN 1);
    
newChar('ח'szLetterHETsizeof szLetterHET 1);
    
newChar('ט'szLetterTETsizeof szLetterTET 1);
    
newChar('י'szLetterYUDsizeof szLetterYUD 1);
    
newChar('ך'szLetterKAVSOFITsizeof szLetterKAVSOFIT 1);
    
newChar('כ'szLetterKAVsizeof szLetterKAV 1);
    
newChar('ל'szLetterLAMEDsizeof szLetterLAMED 1);
    
newChar('ם'szLetterMEMSOFITsizeof szLetterMEMSOFIT 1);
    
newChar('מ'szLetterMEMsizeof szLetterMEM 1);
    
newChar('ן'szLetterNUNSOFITsizeof szLetterNUNSOFIT 1);
    
newChar('נ'szLetterNUNsizeof szLetterNUN 1);
    
newChar('ס'szLetterSAMEHsizeof szLetterSAMEH 1);
    
newChar('ע'szLetterAYINsizeof szLetterAYIN 1);
    
newChar('ף'szLetterPEYSOFITsizeof szLetterPEYSOFIT 1);
    
newChar('פ'szLetterPEYsizeof szLetterPEY 1);
    
newChar('ץ'szLetterZADIKSOFITsizeof szLetterZADIKSOFIT 1);
    
newChar('צ'szLetterZADIKsizeof szLetterZADIK 1);
    
newChar('ק'szLetterKUFsizeof szLetterKUF 1);
    
newChar('ר'szLetterRESHsizeof szLetterRESH 1);
    
newChar('ש'szLetterSHINsizeof szLetterSHIN 1);
    
newChar('ת'szLetterTAVsizeof szLetterTAV 1);
    
replace_all(szBuffercharsmax(szBuffer), "t"szLetterALEF);
    
replace_all(szBuffercharsmax(szBuffer), "c"szLetterBET);
    
replace_all(szBuffercharsmax(szBuffer), "d"szLetterGIMEL);
    
replace_all(szBuffercharsmax(szBuffer), "s"szLetterDALET);
    
replace_all(szBuffercharsmax(szBuffer), "v"szLetterHEY);
    
replace_all(szBuffercharsmax(szBuffer), "u"szLetterVAV);
    
replace_all(szBuffercharsmax(szBuffer), "z"szLetterZAYIN);
    
replace_all(szBuffercharsmax(szBuffer), "j"szLetterHET);
    
replace_all(szBuffercharsmax(szBuffer), "y"szLetterTET);
    
replace_all(szBuffercharsmax(szBuffer), "h"szLetterYUD);
    
replace_all(szBuffercharsmax(szBuffer), "l"szLetterKAVSOFIT);
    
replace_all(szBuffercharsmax(szBuffer), "f"szLetterKAV);
    
replace_all(szBuffercharsmax(szBuffer), "k"szLetterLAMED);
    
replace_all(szBuffercharsmax(szBuffer), "o"szLetterMEMSOFIT);
    
replace_all(szBuffercharsmax(szBuffer), "n"szLetterMEM);
    
replace_all(szBuffercharsmax(szBuffer), "i"szLetterNUNSOFIT);
    
replace_all(szBuffercharsmax(szBuffer), "b"szLetterNUN);
    
replace_all(szBuffercharsmax(szBuffer), "x"szLetterSAMEH);
    
replace_all(szBuffercharsmax(szBuffer), "g"szLetterAYIN);
    
replace_all(szBuffercharsmax(szBuffer), ";"szLetterPEYSOFIT);
    
replace_all(szBuffercharsmax(szBuffer), "p"szLetterPEY);
    
replace_all(szBuffercharsmax(szBuffer), "."szLetterZADIKSOFIT);
    
replace_all(szBuffercharsmax(szBuffer), "m"szLetterZADIK);
    
replace_all(szBuffercharsmax(szBuffer), "e"szLetterKUF);
    
replace_all(szBuffercharsmax(szBuffer), "r"szLetterRESH);
    
replace_all(szBuffercharsmax(szBuffer), "a"szLetterSHIN);
    
replace_all(szBuffercharsmax(szBuffer), ","szLetterTAV);
    new  
szUserName[31];
    
get_user_name(id szUserName 31);
    
client_print(0,print_chat "%s : %s"szUserNamereverse(szBuffer));
}
reverse(const szBuffer[])
{
    new 
length strlen(szBuffer) -1szConvertedBuffer[192] , NumBuffer 0;
        while(
length NumBuffer >= 0)
        {
            
szConvertedBuffer[length NumBuffer] = szBuffer[NumBuffer];
            
NumBuffer++
        }
    return 
szConvertedBuffer;

eyalmmm is offline
Old 01-03-2012, 16:54
eyalmmm
This message has been deleted by Exolent[jNr]. Reason: Don't bump until 2 weeks have passed since last post.
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:01.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode