var state = ""
var ghost_count = 0;
var god_count = 0;
var hpFraction = 0.9;
var spFraction = 0.9;
var warp_back = 0;
var flag_stop = 0;
var check = 0;
var turn1 = 0;
var turn2 = 0;
var counter = 0;
var time = 0;
var GM_count = 0;
var tongpt = 0;
var pt1 = 0;
var pt2 = 0;
var pt3 = 0;
var pt4 = 0;
//my vars
//Chinh sua o duoi !!!
var mapid1 = 12421;
var mapid2 = 12815;
var warpvao = 2; //warp vao chien dau
var warpra = 1;
var toadovao_x = 662;
var toadovao_y = 455;
var toadora_x = 22;
var toadora_y = 1800;
var id_chupt = 000000;
var id_ptmem1 = 111111;
var id_ptmem2 = 222222;
var id_ptmem3 = 333333;
var id_ptmem4 = 444444; // ID ga`
var id_quansu = 555555;
//Skill cua Tuong
function MyAttack(){
turn1++;
if (turn1 == 1) {
sk = SkillID("Attact");
ts.SendAttack(ts.Character.Row,ts.Character.Col,0,1,sk)
}
if (turn1 >= 2) {
sk = SkillID("Attack");
ts.SendAttack( ts.Character.Row,ts.Character.Col,0,3,sk)
}
}
function MyPartnerAttack(){
turn2++;
if (turn2 == 1){
sk = SkillID("Attack");
ts.SendAttack( ts.CurrentPartner.Row,ts.CurrentPartner.Col,0,2,sk)
}
else{
sk = SkillID("Attack");
ts.SendAttack( ts.CurrentPartner.Row,ts.CurrentPartner.Col,0,4,sk)
}
}
function BattleStarted(){
check = 0;
turn1 = 0;
turn2 = 0;
warp_back = 0;
time = 0;
flag_stop = 0;
}
function BattleStoped(){
check = 1;
AutoRecover();
SaveWarrior();
}
function AutoRecover(){
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)
}
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 < ts.CurrentPartner.MAXHP * 0.2){
frm.mnuEnableReconnect.Checked = false;
ts.Disconect();
debug(" Het HP rau` +___+ : ",0x0000FF)
}
}
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 NpcDialogMenu(DialogId){
debug("Menu "+DialogId,0x0000FF)
ts.SelectChoice(1);
ts.SendEnd();
}
function NpcDialog(DialogId) {
debug("Dialog "+DialogId,0x0000FF)
ts.SendEnd();
}
function FinishAnswerFuckGod(){
if ((check == 1) && flag_stop==0) {
if (ts.Character.mapid==mapid1) {ts.Walk(toadovao_x,toadovao_y);ts.delay(1000);ts.warp(warpvao);}
if (ts.Character.mapid==mapid2) {ts.Walk(toadora_x,toadora_y);ts.delay(1000);ts.warp(warpra);}
}
}
function doEatHP(order,difHp){
for(var i = 1;i<= 25 ;i++){
var oSlot = ts.MyItems.Item(i)
var oItem = ITEMS.Item(oSlot.itemid)
if (oSlot.itemid == 0){ continue; }
if(oItem.isHPItem()){
if (oItem.itemvalue > difHp){ continue; }
var eatHpAmt = (difHp - (difHp % oItem.itemvalue)) / oItem.itemvalue
if (eatHpAmt> 0){
if (eatHpAmt > oSlot.num){eatHpAmt = oSlot.num; }
ts.EatItem(i,eatHpAmt,order)
debug( "?"+oItem.itemname+" HP "+oItem.itemvalue+"at slot "+i+" decrease "+eatHpAmt+"?" ,0xC08008 )
difHp = difHp - eatHpAmt * oItem.itemvalue
}
}
}
}
function doEatSP(order,difSp){
for(var i = 1;i<= 25 ;i++){
var oSlot = ts.MyItems.Item(i)
var oItem = ITEMS.Item(oSlot.itemid)
if (oSlot.itemid == 0){ continue; }
if(oItem.isSPItem()){
if (oItem.itemvalue > difSp){ continue; }
var eatSpAmt = (difSp - (difSp % oItem.itemvalue)) / oItem.itemvalue
if (eatSpAmt> 0){
if (eatSpAmt > oSlot.num){eatSpAmt = oSlot.num; }
ts.EatItem(i,eatSpAmt,order)
debug( "?"+oItem.itemname+" SP "+oItem.itemvalue+"at slot "+i+" decrease "+eatSpAmt+"?" ,0xC08008 )
difSp = difSp - eatSpAmt * oItem.itemvalue
}
}
}
}
function PlayerOnline( playerid ){
if (playerid == id_ptmem1 || playerid == id_ptmem2 || playerid == id_ptmem3 || playerid == id_ptmem4 ){
debug( getPlayerName(playerid) + " online ro`i!" , 0x00FF00);
}
}
function PlayerOffline( playerid ){
if (playerid == id_ptmem1 || playerid == id_ptmem2|| playerid == id_ptmem3 || playerid == id_ptmem4 ){
debug( getPlayerName(playerid) + " offline ro`i!" , 0x00FF00);
ts.Disconect();
}
}
function Start(){
flag_stop = 0;
if (ts.Character.mapid==mapid1) {ts.Walk(toadovao_x,toadovao_y);ts.delay(1000);ts.warp(warpvao);}
if (ts.Character.mapid==mapid2) {ts.Walk(toadora_x,toadora_y);ts.delay(1000);ts.warp(warpra);}
}
function Stop(){
flag_stop = 1;
if (ts.Character.mapid==mapid2) {ts.Walk(toadora_x,toadora_y);ts.delay(1000);ts.warp(warpra);}
}
function InitBot(){
debug("login okie");
frm.mnuAutoEat.Checked = false;
frm.mnuEnableReconnect.Checked = true;
AutoRecover();
if (ts.Character.mapid==mapid2) {flag_stop = 1;ts.delay(1000);ts.warp(warpra);}
if( Timer.Enabled == false) { Timer.Enabled = true;}
}
function OnTimer(){
counter++;
if (pt1 != 1 || pt2 != 1|| pt3 != 1 || pt4 != 1 ) {
if (ts.Character.mapid==mapid2) {
if (time >= 6) {time = 0;}
time++;
if (time == 5) {
time = 0;
flag_stop = 1;
check = 1;
ts.warp(warpra);
}
}
counter = 0;
}
else {
if (counter == 10) {
ts.sena(id_quansu);
if (ts.Character.mapid==mapid1) {ts.Walk(toadovao_x,toadovao_y);ts.delay(1000);ts.warp(warpvao);}
}
if (counter==1000) {counter=counter-900};
if (ts.Character.mapid==mapid2) {
time++;
if (time == 5) {
time = 0;
flag_stop = 0;
check = 1;
ts.warp(warpra);
}
}
}
}
function AcceptedParty(playerid){
if (playerid == id_ptmem1) {
ts.AcceptParty(playerid);
pt1 = 1;
}
if (playerid == id_ptmem2) {
ts.AcceptParty(playerid);
pt2 = 1;
}
if (playerid == id_ptmem3) {
ts.AcceptParty(playerid);
pt3 = 1;
}
if (playerid == id_ptmem4) {
ts.AcceptParty(playerid);
pt4 = 1;
}
if (playerid == id_quansu) {
ts.sena(id_quansu);
}
}
function PartyStop( playerid ){
if(playerid == id_ptmem1) { pt1 = 0; }
if(playerid == id_ptmem2) { pt2 = 0; }
if(playerid == id_ptmem3) { pt3 = 0; }
if(playerid == id_ptmem3) { pt4 = 0; }
}
function warpFinish(){
if ((check == 1) && flag_stop==0) {
if (ts.Character.mapid==mapid1) {ts.Walk(toadovao_x,toadovao_y);ts.delay(1000);ts.warp(warpvao);}
if (ts.Character.mapid==mapid2) {ts.Walk(toadora_x,toadora_y);ts.delay(1000);ts.warp(warpra);}
}
}
InitBot()