var state = ""
var ghost_count = 0;
var battle_count = 0;
var HealingFlag = 0.5;
var hpFraction = 0.8;
var spFraction = 0.7;
var atkmode = 0;
var counter = 0;
var SetHPMAX1 = (ts.Character.MAXHP=490);
var SetHPMAX2 = (ts.CurrentPartner.MAXHP = 200);
var SetSPMAX1 = (ts.Character.MAXSP=140);
var SetSPMAX2 = (ts.CurrentPartner.MAXSP = 200);
var pt_count=1;
//my vars
//Chinh sua o duoi !!!
var mapid1 = 12063;
var mapid2 = 12301;
var warpid1 = 2;
var warpid2 = 1;
var id_chupt = id_chupt;
var id_ptmem1 = id_pt1;
var id_ptmem2 = id_pt2;
var id_ptmem3 = id_pt3;
var id_ptmem4 = id_wuansu;
var id_quansu = id_wuansu;
var roundcount;
var roundcount_pet;
function MyAttack(){
var col;
var row;
m = findMonster();
col=m.Col;
row=m.Row;
roundcount++;
switch (ts.Character.uid) {
case id_chupt:
if (roundcount==2) {
sk = SkillID("Random Hit");
row=ts.Character.Row ;
col=ts.Character.Col;
}
else sk = SkillID("Attack");
break;
case id_pt1:
if (roundcount==2) {
sk = SkillID("Attack");
row=ts.Character.Row ;
col=ts.Character.Col;
}
else sk = SkillID("Attack");
break;
case id_pt2:
case id_pt3:
if (ts.Character.SP > 14 && roundcount<2 ) sk = SkillID("Attack");
else sk = SkillID("Attack");
break;
case id_pt4: sk = SkillID("Attack"); break;
default: sk = SkillID("Attack"); break;
}
ts.SendAttack(
ts.Character.Row
, ts.Character.Col
, m.row
, m.col
, sk
)
ts.Character.MAXHP = SetHPMAX1 ;
ts.Character.MAXSP = SetSPMAX1 ;
}
function MyPartnerAttack(){
var col;
var row;
roundcount_pet++;
m = findMonster();
col = m.Col;
row = m.Row;
switch (ts.Character.uid) {
case id_pt1:
case id_pt2:
case id_pt3:
case id_pt4:
if (roundcount_pet==2) {
sk = SkillID("Attack");
row=ts.Character.Row ;
col=ts.Character.Col;
}
else sk = SkillID("Attack");
break;
case id_chupt: if (roundcount_pet==1) {
row=1; col=2;
if (ts.CurrentPartner.SP > 14) sk = SkillID("Random Hit");
else sk = SkillID("Attack");
} else sk = SkillID("Attack");
ts.SendAttack(
ts.CurrentPartner.Row
, ts.CurrentPartner.Col
, m.row
, 4
, sk
)
break;
default: sk = SkillID("Attack"); break;
}
ts.SendAttack(
ts.CurrentPartner.Row
, ts.CurrentPartner.Col
, m.row
, m.col
, sk
)
ts.Character.MAXHP = SetHPMAX1 ;
ts.Character.MAXSP = SetSPMAX1 ;
}
function BattleStarted(){
battle_count++;
roundcount=0;
roundcount_pet=0;
time = 0;
}
function BattleStoped(){
/* Just safty first. for Warrior not leave you call function SaveWarrior() every end battle. */
DoSendItem();
EatHP();
EatSP();
SaveWarrior();
CheckDisconnect();
}
function DoSendItem() {
for(var i=1;i<=25;i++){
var oSlot = ts.MyItems(i);
if( oSlot.itemid == 0){ continue; }
var oItem = ITEMS.Item(oSlot.itemid);
var itemname = oItem.getName();
if( (itemname == "AutoAttackPill"
|| itemname == "Honey pill"
|| itemname == "Small apple"
|| itemname == "Strawberry"
|| itemname == "DaQuWine"
|| itemname == "Red date"
|| itemname == "ZhuoScroll"
|| itemname == "HasteScroll") && oSlot.num ==50){
ts.SendItemTo(banhang1,oSlot.slot,oSlot.num);
} else { if ((itemname == "PainKiller"
|| itemname == "Morale pill"
|| itemname == "HerbalPill") && oSlot.num ==50)
{ts.SendItemTo(banhang2,oSlot.slot,oSlot.nu m);}
} else { if ((itemname == "YeastLiquor"
|| itemname == "Cleardewwine"
|| itemname == "AutoTonicPill") && oSlot.num ==50)
{ts.SendItemTo(id_chupt,oSlot.slot,oSlot.nu m);}
}
}
}
function EatHP(){
if (ts.Character.HP < (ts.Character.MAXHP * hpFraction)){
doEatHP(0,(ts.Character.MAXHP * hpFraction)-ts.Character.HP)
}
if (ts.CurrentPartner.HP < (ts.CurrentPartner.MAXHP * hpFraction)){
doEatHP(ts.CurrentPartner.Order,(ts.CurrentPartner.MAXHP * hpFraction)-ts.CurrentPartner.HP)
}
}
function EatSP(){
if (ts.Character.SP < (ts.Character.MAXSP * spFraction)){
doEatSP(0,(ts.Character.MAXSP * spFraction)-ts.Character.SP)
}
if (ts.CurrentPartner.SP < (ts.CurrentPartner.MAXSP * spFraction)){
doEatSP(ts.CurrentPartner.Order,(ts.CurrentPartner.MAXSP * spFraction)-ts.CurrentPartner.SP)
}
}
function SaveWarrior(){
if(ts.CurrentPartner.HP< ((0.20) * ts.CurrentPartner.MAXHP)){
debug(" SAVE THE FAI DISCONNECT NOW! : ",0x0000FF);
}
}
function onNPCAppear( npcmapid , x , y ){
//debug("Appear::"+npcmapid+ " "+x+","+y,0)
//ts.Walk(x,y)
//if(npcmapid == 6){
ts.ClickOnNPC(npcmapid)
// debug("Click-"+npcmapid,0)
ts.ClickOnNPC(npcmapid)
// debug("Click-"+npcmapid,0)
// }
}
function RemoveGhost(){
ErasingGhost = true
ts.ClickOnNPC(21)
}
function NpcDialogMenu(DialogId){
debug("Menu "+DialogId,0x0000FF)
ts.SelectChoice(1);
debug("Í͡úººº ÊÙéâÇéÂÂ! "+DialogId,0x0000FF)
ts.SendEnd();
}
function NpcDialog(DialogId){
// debug("Dialog "+DialogId,0x0000FF)
ts.SendEnd();
}
function NpcHiddenDialog(){
debug("NpcHiddenDialog ",0x0000FF)
// ts.SendEnd()
}
function onAnswerWrong(q,a){
//ts.ClickOnNPC(21)
//RemoveGhost()
}
function onEvilGod(){
ghost_count++
debug("E V I L G O D."+"["+ghost_count+"]",0x0000FF)
}
function onLuckyGod(){
god_count++;
debug("LUCKY G O D.",0xFF0000)
if(!QA.Exists(ts.LastQuestion)){
QA.Add(ts.LastQuestion,ts.LastResponseAnswer)
msg = "QA.Add(\""+ts.LastQuestion+"\",\""+ts.LastResponseAnswer+"\")"
WriteLog("QA.js",msg)
}
}
function FinishAnswerFuckGod(){
if(ghost_count>=3){
}
if(state=="autowarp"){
ts.delay(8000)
WarpLink( 12063 ,2 , 12301 ,1)
}
}
function CheckDisconnect(){
if(ts.Character.HP <= 0)
if(playerid == 101,GM){
die_count++
}
if(die_count>3){
}
}
function InitBot(){
state= ""
debug("True script. (walk cave)" , 0x00FF00 )
}
function AcceptedParty(playerid){
if(playerid == id_pt1
|| playerid == id_pt2
|| playerid == id_pt3
|| playerid == id_pt4
){
ts.AcceptParty(playerid)
ts.sena(id_wuansu)
pt_count++;
if (pt_count==5) Start();
}
}
function PartyStop( playerid ){
if(playerid == id_chupt || playerid == id_pt1 || playerid == id_pt2 || playerid == id_pt3 || playerid == id_pt4)
{
ts.Disconect();
}
}
function onPlayerWalk( uid , x , y ){
if(uid==107329 && x ==562 && y ==315 ){
}
}
var wp_x = new Array(502,562,442)
var wp_y = new Array(295,355,395)
var w_index = 0
function onWalk(x,y){
}
var onwrapok1 = false
var onwrapok2 = false
var onwrapok3 = false
function OnTimer(){
counter++;
if (counter == 3)
ts.RequestParty(id_chupt);
}
function warpFinish(){
if(state=="autowarp"){
if(ts.Character.mapid == 12301){
ts.delay(7000)
WarpLink( 12063 ,2 , 12301 ,1)
}else if(ts.Character.mapid==12063){
ts.delay(4000)
ts.Walk(562,315)
WarpLink( 12063 ,2 , 12301 ,1)
}
}
}
function OnPrivateMsg(PlayerName , Msg){
}
function Start(){
state="autowarp"
WarpLink( 12063 ,2 , 12301 ,1)
}
function Stop(){
state=""
}
InitBot()