but I called them up only once inside OnInit: labelmeans the query is only executed only once during server startup
if you mean the script on post#5 I agree
but the script on post#12 I have to disagree
I also knew that long time ago though
EDIT:
or probably a better way is ...
A~Z use query_sql + dynamic shop
mini-boss and MVP use "shop" npc ?
seems this idea is better
EDIT2:
prontera,155,177,5 script Card Seller 100,{
mes "Welcome to card seller ... meh lazy to say";
next;
if ( select ( "Normal Cards", "Mini-boss Cards", "MVP Cards" ) == 1 ) {
.@s = select( .alphabet_menu$ ) -1;
close2;
callshop "card_mob#"+ .alphabet$[.@s], 1;
end;
}
close2;
callshop "card_mob#"+( ( @menu == 2 )? "miniboss":"MVP" ), 1;
end;
OnInit:
freeloop 1;
.@total = query_sql("select distinct left( name_japanese, 1 ) as aaa from item_db right join mob_db on item_db.id = mob_db.dropcardid where ~mode & 32 and type = 6 group by name_japanese order by aaa", .alphabet$ );
for ( .@i = 0; .@i < .@total; .@i++ ) {
.alphabet_menu$ = .alphabet_menu$ + .alphabet$[.@i] +" Cards:";
.@nb = query_sql( "select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid where ~mode & 32 and type = 6 and left( name_japanese, 1 ) = '"+ .alphabet$[.@i] +"' group by name_japanese order by name_japanese limit 128", .@id );
npcshopdelitem "card_mob#"+ .alphabet$[.@i], 501;
for ( .@j = 0; .@j < .@nb; .@j++ )
npcshopadditem "card_mob#"+ .alphabet$[.@i], .@id[.@j], 1000000;
}
freeloop 0;
end;
}
- shop card_mob#A -1,501:1000
- shop card_mob#B -1,501:1000
- shop card_mob#C -1,501:1000
- shop card_mob#D -1,501:1000
- shop card_mob#E -1,501:1000
- shop card_mob#F -1,501:1000
- shop card_mob#G -1,501:1000
- shop card_mob#H -1,501:1000
- shop card_mob#I -1,501:1000
- shop card_mob#J -1,501:1000
- shop card_mob#K -1,501:1000
- shop card_mob#L -1,501:1000
- shop card_mob#M -1,501:1000
- shop card_mob#N -1,501:1000
- shop card_mob#O -1,501:1000
- shop card_mob#P -1,501:1000
- shop card_mob#Q -1,501:1000
- shop card_mob#R -1,501:1000
- shop card_mob#S -1,501:1000
- shop card_mob#T -1,501:1000
- shop card_mob#U -1,501:1000
- shop card_mob#V -1,501:1000
- shop card_mob#W -1,501:1000
- shop card_mob#X -1,501:1000
- shop card_mob#Y -1,501:1000
- shop card_mob#Z -1,501:1000
- shop card_mob#miniboss -1,4054:1000000,4241:1000000,4391:1000000,4428:1000000,4426:1000000,4290:1000000,4300:1000000,4392:1000000,4171:1000000,4397:1000000,4174:1000000,4398:1000000,4179:1000000,4266:1000000,4451:1000000,4250:1000000,4423:1000000,4354:1000000,4047:1000000,4163:1000000,4384:1000000,4431:1000000,4394:1000000,4395:1000000,4197:1000000,4198:1000000,4393:1000000,4203:1000000,4207:1000000,4440:1000000,4396:1000000,4254:1000000,4238:1000000,4237:1000000,4429:1000000,4406:1000000,4427:1000000,4306:1000000,4183:1000000
- shop card_mob#MVP -1,4236:1000000,4359:1000000,4425:1000000,4145:1000000,4168:1000000,4386:1000000,4142:1000000,4134:1000000,4137:1000000,4123:1000000,4330:1000000,4441:1000000,4352:1000000,4408:1000000,4128:1000000,4324:1000000,4363:1000000,4365:1000000,4430:1000000,4403:1000000,4419:1000000,4376:1000000,4357:1000000,4276:1000000,4361:1000000,4146:1000000,4399:1000000,4132:1000000,4131:1000000,4143:1000000,4135:1000000,4144:1000000,4148:1000000,4121:1000000,4407:1000000,4342:1000000,4263:1000000,4367:1000000,4318:1000000,4302:1000000,4305:1000000,4374:1000000,4372:1000000like this perhaps, and the query
// mini-boss
select item_db.id, name_japanese from item_db right join mob_db on item_db.id = mob_db.dropcardid
where mode & 32 and type = 6 and mexp = 0
and item_db.id not in
(
select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid
where ~mode & 32 and type = 6
)
and item_db.id not in
(
select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid
where mode & 32 and type = 6 and mexp != 0
)
group by item_db.id order by name_japanese;
// MVP
select item_db.id, name_japanese from item_db right join mob_db on item_db.id = mob_db.dropcardid
where mode & 32 and type = 6 and mexp != 0
and item_db.id not in
(
select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid
where ~mode & 32 and type = 6
)
and item_db.id not in
(
select item_db.id from item_db right join mob_db on item_db.id = mob_db.dropcardid
where mode & 32 and type = 6 and mexp = 0
)
group by item_db.id order by name_japanese;EDIT3:found out the reason that slowing down the query time is because of having 'group by' inside 'in'
so removed it
hi..i would like to use this script.. can you teach me how to use this? im using this setup here http://rathena.org/board/topic/84746-tutorial-how-to-create-ragnarok-offline-2013-client-tutorial/ and this error keep on showing..
and also i would like to know how to add item_db table in mysql..
SOLVED!