prontera,139,229,5 script Lotti Girl 864,{
mes "[Lotti Girl]";
mes "It costs "+ .cost[1] +"x "+ getitemname( .cost[0] ) +" to play.";
mes " ";
for ( .@i = 0; .@i < 20; .@i++ )
mes $lotti_girl_ladder$[.@i];
if ( countitem( .cost[0] ) < .cost[1] ) close;
next;
if ( select( "Deal me in!", "No way..." ) == 2 ) close;
mes "[Lotti Girl]";
while (1) {
mes "Here we go...";
delitem .cost[0], .cost[1];
.@rand = rand(.totalchance);
.@r = 0; // <-- think you forgot to put this
while ( ( .@rand = .@rand - getd( ".p"+ .@r +"[0]" ) ) >= 0 ) .@r++;
.@size = getarraysize( getd(".p"+ .@r ) );
for ( .@i = 1; .@i < .@size; .@i += 2 )
getitem getd( ".p"+ .@r +"["+ .@i +"]" ), getd( ".p"+ .@r +"["+( .@i +1 )+"]" );
if ( getd( ".p"+ .@r +"[0]" ) < 50 ) // announce if below 50% chance
announce "Congratulations to "+strcharinfo(0)+" for getting "+ .ann$[.@r] +"!", 0;
if ( getd( ".p"+ .@r +"[0]" ) < 10 ) { // score the ladder if below 10% chance
copyarray $lotti_girl_ladder$[1], $lotti_girl_ladder$[0], 19;
$lotti_girl_ladder$ = strcharinfo(0) +" gains "+ .ann$[.@r] +" at "+ gettimestr( "%d/%m/%Y %H:%M %p", 21 );
}
mes " ";
mes "wanna try again ?";
next;
if ( select( "Yes", "No" ) == 2 ) close;
mes "[Lotti Girl]";
if ( countitem( .cost[0] ) < .cost[1] ) {
mes "it seems you have ran out of "+ getitemname( .cost[0] );
close;
}
}
close;
OnInit:
// setarray .p1, 70, 501,25; // debugging ...
// setarray .p2, 70, 502,1;
// setarray .p3, 40, 503,1;
// setarray .p4, 40, 504,1;
// setarray .p5, 40, 505,1;
// setarray .p6, 50, 506,1, 507,1, 508,1, 509,1;
// setarray .p7, 25, 512,1;
// setarray .p8, 5, 513,1;
setarray .p1, 70, 14232,1;
setarray .p2, 10, 2115,1;
setarray .p3, 50, 13582,1;
setarray .p4, 40, 5210,1;
setarray .p5, 10, 2421,1;
setarray .p6, 5, 2524,1;
setarray .p7, 5, 2357,1;
setarray .p8, 5, 2729,1;
setarray .p9, 30+30+60+60+60+50+75+95, 7040,1; // default ... the chance are added up by 100-n%
setarray .cost, 7227,1;
.total = 9;
freeloop 1;
.@i = 1;
while ( .@i <= .total ) {
.totalchance = .totalchance + getd(".p"+ .@i );
.@j = 1;
.@size = getarraysize( getd(".p"+ .@i ) );
while ( .@j < .@size ) {
.ann$[.@i] = .ann$[.@i] + getd( ".p"+ .@i +"["+( .@j +1 )+"]" ) +"x "+ getitemname( getd( ".p"+ .@i +"["+ .@j +"]" ) ) +( ( .@j == .@size -2 )? "":"," ); // I think Euphy forgotten to make announcement when configuration has set more than 1 items
.@j += 2;
}
.@i++;
}
freeloop 0;
}
Can this script can be use in eathena version?
lottiNPC.txt
lottiNPC.txt