Shoutbox

Modding Scripts - Printable Version

-Shoutbox (https://shoutbox.menthix.net)
+-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58)
+--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4)
+---- Forum: Scripting (/forumdisplay.php?fid=39)
+----- Thread: Modding Scripts (/showthread.php?tid=91691)

Modding Scripts by dobk on 07-29-2009 at 11:30 AM

hello to everyone.
i just downloaded the love calculator script and want to modify it as my GF is evil and wants at least 90% (we get 15.5%).
anyway, i have modified the main javascript file and restarted messenger, but i still get 15.55%. what else do i do to modd the love test script ?
please reply mates


RE: Modding Scripts by Jesus on 07-29-2009 at 01:10 PM

quote:
Originally posted by dobk
hello to everyone.
i just downloaded the love calculator script and want to modify it as my GF is evil and wants at least 90% (we get 15.5%).
anyway, i have modified the main javascript file and restarted messenger, but i still get 15.55%. what else do i do to modd the love test script ?
please reply mates
add an if statement so that if the names entered are yours and your GF's it always returns 100%...
RE: Modding Scripts by dobk on 07-29-2009 at 01:15 PM

this is the javascript file, will you please show me what to edit mate. thankyou 4 replying.

// Made by JOHN - roflmao456

var test = '';


function checkLove(){
var l1 = test.GetControlText('love1');
var l2 = test.GetControlText('love2');

first = l1.toUpperCase();
firstlength = l1.length;
second = l2.toUpperCase();
secondlength = l2.length;
var LoveCount=0;

for (Count=0; Count < firstlength; Count++) {
letter1=first.substring(Count,Count+1);
if (letter1=='L') LoveCount+=2;
if (letter1=='O') LoveCount+=2;
if (letter1=='V') LoveCount+=2;
if (letter1=='E') LoveCount+=2;
if (letter1=='Y') LoveCount+=3;
if (letter1=='O') LoveCount+=1;
if (letter1=='U') LoveCount+=3;
}


for (Count=0; Count < secondlength; Count++) {
letter2=second.substring(Count,Count+1);
if (letter2=='L') LoveCount+=2;
if (letter2=='O') LoveCount+=2;
if (letter2=='V') LoveCount+=2;
if (letter2=='E') LoveCount+=2;
if (letter2=='Y') LoveCount+=3;
if (letter2=='O') LoveCount+=1;
if (letter2=='U') LoveCount+=3;
}

amount=0;
if (LoveCount> 0) amount=  5-((firstlength+secondlength)/2)
if (LoveCount> 2) amount= 10-((firstlength+secondlength)/2)
if (LoveCount> 4) amount= 20-((firstlength+secondlength)/2)
if (LoveCount> 6) amount= 30-((firstlength+secondlength)/2)
if (LoveCount> 8) amount= 40-((firstlength+secondlength)/2)
if (LoveCount>10) amount= 50-((firstlength+secondlength)/2)
if (LoveCount>12) amount= 60-((firstlength+secondlength)/2)
if (LoveCount>14) amount= 70-((firstlength+secondlength)/2)
if (LoveCount>16) amount= 80-((firstlength+secondlength)/2)
if (LoveCount>18) amount= 90-((firstlength+secondlength)/2)
if (LoveCount>20) amount=100-((firstlength+secondlength)/2)
if (LoveCount>22) amount=110-((firstlength+secondlength)/2)

if (firstlength==0 || secondlength==0) amount= "Err";
if (amount < 0) amount= 0;
if (amount >99) amount=99;

test.SetControlText('loveOutput',amount+"%");
return "[c=12]"+test.GetControlText('love1')+"[/c] + [c=29]"+test.GetControlText('love2')+"[/c] = [c=3]"+amount+"[/c]%";
}

function OnGetScriptMenu(){
var ScriptMenu = "<ScriptMenu>";
ScriptMenu += "<MenuEntry Id='lovetest'>";
ScriptMenu += "Love Test";
ScriptMenu += "</MenuEntry>";
ScriptMenu += "</ScriptMenu>";
return ScriptMenu;
}

function OnEvent_MenuClicked(sMenuId){
if(sMenuId == "lovetest") {test = MsgPlus.CreateWnd("windows.xml","tester");}
}

function sendResult(){
   for (var e = new Enumerator(Messenger.CurrentChats); !e.atEnd(); e.moveNext()){
    if(test.GetControlText('love1')){
    if(test.GetControlText('love2')){
        e.item().SendMessage(checkLove());
} else {
MsgPlus.DisplayToast("Love Test","Please enter in something in box 2.");
}
} else {
MsgPlus.DisplayToast("Love Test","Please enter in something in box 1.")
}}}


function OntesterEvent_CtrlClicked(PlusWnd, ControlId){
if(ControlId == "startTest") {checkLove();}
else if(ControlId == "sendResults") {sendResult();}
else if(ControlId == "BtnClose") {PlusWnd.Close(1);}
}


RE: Modding Scripts by Spunky on 07-29-2009 at 02:24 PM

Javascript code:
function checkLove(){
var l1 = test.GetControlText('love1');
var l2 = test.GetControlText('love2');
 
if(l1=="YourName" && l2 == "TheirName") return "[c=12]"+l1+"[/c] + [c=29]"+l2+"[/c] = [c=3]100[/c]%"; 
first = l1.toUpperCase();
firstlength = l1.length;
second = l2.toUpperCase();
secondlength = l2.length;
var LoveCount=0;
 
for (Count=0; Count < firstlength; Count++) {
letter1=first.substring(Count,Count+1);
if (letter1=='L') LoveCount+=2;
if (letter1=='O') LoveCount+=2;
if (letter1=='V') LoveCount+=2;
if (letter1=='E') LoveCount+=2;
if (letter1=='Y') LoveCount+=3;
if (letter1=='O') LoveCount+=1;
if (letter1=='U') LoveCount+=3;
}
 
 
for (Count=0; Count < secondlength; Count++) {
letter2=second.substring(Count,Count+1);
if (letter2=='L') LoveCount+=2;
if (letter2=='O') LoveCount+=2;
if (letter2=='V') LoveCount+=2;
if (letter2=='E') LoveCount+=2;
if (letter2=='Y') LoveCount+=3;
if (letter2=='O') LoveCount+=1;
if (letter2=='U') LoveCount+=3;
}
 
amount=0;
if (LoveCount> 0) amount=  5-((firstlength+secondlength)/2)
if (LoveCount> 2) amount= 10-((firstlength+secondlength)/2)
if (LoveCount> 4) amount= 20-((firstlength+secondlength)/2)
if (LoveCount> 6) amount= 30-((firstlength+secondlength)/2)
if (LoveCount> 8) amount= 40-((firstlength+secondlength)/2)
if (LoveCount>10) amount= 50-((firstlength+secondlength)/2)
if (LoveCount>12) amount= 60-((firstlength+secondlength)/2)
if (LoveCount>14) amount= 70-((firstlength+secondlength)/2)
if (LoveCount>16) amount= 80-((firstlength+secondlength)/2)
if (LoveCount>18) amount= 90-((firstlength+secondlength)/2)
if (LoveCount>20) amount=100-((firstlength+secondlength)/2)
if (LoveCount>22) amount=110-((firstlength+secondlength)/2)
 
if (firstlength==0 || secondlength==0) amount= "Err";
if (amount < 0) amount= 0;
if (amount >99) amount=99;
 
test.SetControlText('loveOutput',amount+"%");
return "[c=12]"+test.GetControlText('love1')+"[/c] + [c=29]"+test.GetControlText('love2')+"[/c] = [c=3]"+amount+"[/c]%";
}
 
function OnGetScriptMenu(){
var ScriptMenu = "<ScriptMenu>";
ScriptMenu += "<MenuEntry Id='lovetest'>";
ScriptMenu += "Love Test";
ScriptMenu += "</MenuEntry>";
ScriptMenu += "</ScriptMenu>";
return ScriptMenu;
}
 
function OnEvent_MenuClicked(sMenuId){
if(sMenuId == "lovetest") {test = MsgPlus.CreateWnd("windows.xml","tester");}
}
 
function sendResult(){
   for (var e = new Enumerator(Messenger.CurrentChats); !e.atEnd(); e.moveNext()){
    if(test.GetControlText('love1')){
    if(test.GetControlText('love2')){
        e.item().SendMessage(checkLove());
} else {
MsgPlus.DisplayToast("Love Test","Please enter in something in box 2.");
}
} else {
MsgPlus.DisplayToast("Love Test","Please enter in something in box 1.")
}}}
 
 
function OntesterEvent_CtrlClicked(PlusWnd, ControlId){
if(ControlId == "startTest") {checkLove();}
else if(ControlId == "sendResults") {sendResult();}
else if(ControlId == "BtnClose") {PlusWnd.Close(1);}
}


Adding that line should fix it....
RE: Modding Scripts by CookieRevised on 07-30-2009 at 01:57 AM

Although that is cheating... :p

If you want to come to around 90% by 'calculating', then you need to do some maths first. You must calculate the stuff backwards, thus starting from 90 (which is the variable 'amount').

First of all you need to understand what the script exactly does before you can edit it.
As such, the script calculates a score (variable 'LoveCount') based on the amount of occurances of the letters L,O,V,E,Y,O and U in both your names. The higher this score, the more you two are in love, so the legend goes.

At the end of the calculation, the script also takes the length of both your names into account to get to the final score (variable 'amount'). The bigger the difference in length, either the lower the score will drop again, or the higher score you will raise. This because it is also important what name you enter first.

So, the easiest thing is to change the letters it checks for. The more letters you have in common in your name with these letters, the higher the score.

The harder thing is to change the actual calculation so it favors your names.


RE: Modding Scripts by dobk on 07-30-2009 at 04:58 AM

thankyou everyone for replying.
the script now works great! i get 100% every time.
you are all very smart and good people for replying.
may luck be with you all :)