Forums

Tuto Puppeteer by Josiane on Wednesday, 01.February 2012 13:34
Transparence de la tenue by hani amaterasu on Friday, 27.January 2012 22:50
Ajouter des faces, où des arêtes by brucie on Thursday, 26.January 2012 16:02
IP from Comercial Bot will banished by Surfaqua Oh on Friday, 02.December 2011 22:38
CLUB 80' LA DERNIERE... by manureva joyce on Thursday, 24.November 2011 23:07

Fonction remplace caractère
User Rating: / 2
PoorBest 
Librairie Scripts
Written by Garmin K   
Ce script permet de remplacer toutes les occurences d'un caractère par un autre caractère ; il fait de même avec toutes les occurences d'une chaîne par une autre.

 

/*
Ce script permet de remplacer toutes les occurences d'un caractère par un autre caractère ; il fait de même avec toutes les occurences d'une chaîne par une autre.
*/

integer iChan = 17;

//////////////////////////////////////////
//String Replace Function: from an idea of Chad Statosky, completed by Strife Onizuka,
//humanized by Garmin Kawaguichi
string $StringReplaceString(string sFrom, string sTo, string sSource) //sFrom replace sTo in sSource
{
    integer iLngFrom = llStringLength(sFrom) - 1;
    if(iLngFrom > -1)
    {
        string  sCopySource = sSource;
        integer iPointer = -1;
        integer iLngTo = llStringLength(sTo) - 1;
        @loop; //Oh le joli bug de l'éditeur LSL qui teint toute la ligne en bleu!!!.
        integer iPnt2Repl = llSubStringIndex(sCopySource, sFrom) + 1;
        if(iPnt2Repl)
        {
            sCopySource = llGetSubString(sSource = llInsertString(llDeleteSubString(sSource, iPointer += iPnt2Repl, iPointer + iLngFrom), iPointer, sTo), (iPointer += iLngTo) + 1, -1);
            jump loop;
        }
    }
    return sSource;
}
//////////////////////////////////////////

default
{
    state_entry()
    {
        llListen(iChan, "", llGetOwner(), ""); //uniquement l'owner
    }
   
    listen(integer iChanRec, string sName, key kId, string sMessaj)
    {
//utilisation de la fonction pour remplacer "o" par "✿"
        string sMessaj2 = $StringReplaceString("o", "✿", sMessaj);
//en enchaînant les appels à la fonction, on effectue plusieurs remplacements
        string sMessaj3 = $StringReplaceString("O", "✿", sMessaj2);
        string sMessaj4 = $StringReplaceString("a", "ღ", sMessaj3);
        string sMessaj5 = $StringReplaceString("A", "ღ", sMessaj4);
        llSay(0, sMessaj5);

//Les 4 appels précédents peuvent tenir sur une seule ligne en appelant la fonction comme 3ème paramètre (spectaculaire mais vite illisible)
//Pour les curieux : ça fait la même chose que les 4 appels précédents, mais dans l'ordre inverse (si l'auteur était moins fainéant, il aurait pû mieux faire...)
        //llSay(0, $StringReplaceString("O", "✿", $StringReplaceString("o", "✿", $StringReplaceString("a", "ღ", $StringReplaceString("A", "ღ", sMessaj)))));

//Ça marche aussi pour des chaînes de caractères :
        //llSay(0, $StringReplaceString("Coucou", "Salut vieille mule!!!", sMessaj));
    }
   
    on_rez(integer iPnum)
    {
        llResetScript();
    }
}

/*
Placer ce script dans une prim. Dans le chat entrer /17 Ah bonjour petit Nicolas qui aime le chocolat.
La prim affichera dans le chat la chaîne modifiée.
*/

 

 


Placer ce script dans une prim. Dans le chat entrer /17 Ah bonjour petit Nicolas qui aime le chocolat.
La prim affichera dans le chat la chaîne modifiée.

 

 

Add comment

Si vous ne voyez pas vos messages c est que vous n êtes pas enregistré sur Avatars-3d en tant que membre. Ils seront examinés par un administrateur avant d être publié! Si vous désirez publier rapidement vos messages enregistrez vous ici

Security code
Refresh