/* setaccountquest(1001); */
function script setaccountquest {
.@quest_id = getarg(0);
setquest .@quest_id;
query_sql("SELECT char_id FROM `char` WHERE account_id = "+getcharid(3)+" AND char_id != "+getcharid(0)+";", .@char_id);
sleep2 100;
query_sql("SELECT time FROM `quest` WHERE char_id = "+getcharid(0)+" AND `quest_id` = "+.@quest_id+";", .@timestamp);
for(set .@i,0; .@i < getarraysize(.@char_id); .@i++)
query_sql("INSERT IGNORE INTO `quest` (`char_id`, `quest_id`, `state`, `time`, `count1`, `count2`, `count3`) VALUES ("+.@char_id[.@i]+", "+.@quest_id+", '1', '"+.@timestamp+"', 0, 0, 0);");
return;
}
/* completeaccountquest(1001); */
function script completeaccountquest {
.@quest_id = getarg(0);
completequest .@quest_id;
query_sql("SELECT char_id FROM `char` WHERE account_id = "+getcharid(3)+" AND char_id != "+getcharid(0)+";", .@char_id);
for(set .@i,0; .@i < getarraysize(.@char_id); .@i++)
query_sql("UPDATE `quest` SET `state` = '2' WHERE `char_id` = "+.@char_id[.@i]+" AND `quest_id` = "+.@quest_id+";");
return;
}
/* eraseaccountquest(1001); */
function script eraseaccountquest {
.@quest_id = getarg(0);
erasequest .@quest_id;
query_sql("SELECT char_id FROM `char` WHERE account_id = "+getcharid(3)+" AND char_id != "+getcharid(0)+";", .@char_id);
for(set .@i,0; .@i < getarraysize(.@char_id); .@i++)
query_sql("DELETE FROM `quest` WHERE `char_id` = "+.@char_id[.@i]+" AND `quest_id` = "+.@quest_id+";");
return;
}
/* changeaccountquest(1001,1002); */
function script changeaccountquest {
.@quest_id1 = getarg(0);
.@quest_id2 = getarg(1);
changequest .@quest_id1, .@quest_id2;
query_sql("SELECT char_id FROM `char` WHERE account_id = "+getcharid(3)+" AND char_id != "+getcharid(0)+";", .@char_id);
for(set .@i,0; .@i < getarraysize(.@char_id); .@i++)
query_sql("UPDATE `quest` SET `quest_id` = "+.@quest_id2+" WHERE `char_id` = "+.@char_id[.@i]+" AND `quest_id` = "+.@quest_id1+" AND `state` != '2';");
return;
}