Bùn ! Share cho cả nhà script em đang dùng rất tốt , script bot Triệu Chi, tự động đi giải ma ( có ma mới giải ) , có thể đây là thời gian đang thi nên cả nhà bận ôn thi, ko có time ngồi canh đi giải = tay. Đôi lời về script: Với sc này thì khi mem ăn ma sẽ tự động đi vào Cự Lộc để giải, sau đó warp ra và típ tục đánh, còn chủ pt , khi ăn 2 ma mới đi giải, nên cả nhà đừng thấy bị ăn mới 1 con đã vội vã vào aLogin đi giải nhá, đợi ăn con thứ 2 xem sao nào OK đây là script : Chủ pt PHP: double DisconnectFlag = 0.1; // Disconnect when current HP is below 30% double hpFractionEat = 0.8; //Eat HP when current HP<= 80% double spFractionEat = 0.8; double hpFraction = 0.95; //Eat until current HP >= 95 % double spFraction = 0.95; byte DisconFai = 00; // Faith of warrior to disconnect byte battle_count = 0; byte NS_count = 0; byte myturn = 0; byte peturn = 0; byte time = 0; byte pt1 = 0; byte pt2 = 0; byte pt3 = 0; byte pt4 = 0; double mapid1 = 12000; double mapid2 = 11000; byte warpid1 = 30; byte warpid2 = 1; /***** Chinh sua ID Member o day *****/ uint idmem1 = 808502; uint idmem2 = 2292954; uint idmem3 = 2292965; uint idmem4_sena = 1557035; /*************************************/ /*********************** My Attack *************************/ public override void MyAttack() { myturn++; if (myturn == 1) { CharacterInfo MyChar = ts.Character; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyChar.Row, MyChar.Col, 0, 1, 17001); } if (myturn >=2) { CharacterInfo MyChar = ts.Character; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyChar.Row, MyChar.Col, 0, 4, 17001); } } /******************* My Partner Attack *********************/ public override void MyPartnerAttack() { peturn++; if (peturn == 1) { CharacterInfo MyWarrior = ts.CurrentPartner; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyWarrior.Row, MyWarrior.Col, 0, 2, 17001); } if (peturn >= 2) { CharacterInfo MyWarrior = ts.CurrentPartner; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyWarrior.Row, MyWarrior.Col, 0, 4, 10000); } } /********************* Battle Started **********************/ public override void BattleStarted() { if (ts.Character.ghost >= 2) {ts.Disconnect();} battle_count++; myturn = 0; peturn = 0; time = 0; NS_count = 0; } /********************* Battle Stoped ***********************/ public override void BattleStopped() { time = 0; AutoEatFood(); ProcessInventoryAction(); //CheckDisconnect(); ViewState(); NS_count = 0; } /******************* Receive Question *********************/ public override void doRecvQuestion() { NS_count++; } /******************** Response Answer **********************/ public override void ResponseAnswer() { string tmp=ts.LastQuestion.Replace("=?",""); int ans=ts.Eval(tmp); byte ans_index=Convert.ToByte(ts.LastAnswers[ans.ToString()]); if (NS_count == 3) {ts.Answer(ans_index);ts.SendEnd();ts.SendEnd();} ts.Answer(ans_index); } public override void UnGhostFinished() { ts.Warp(1); } /******************** NPC Dialog Menu **********************/ public override void NpcDialogMenu(ushort DialogId) { debug("Dialog Menu ID = "+DialogId.ToString()); if (DialogId == 4) {ts.SelectChoice(1);ts.SendEnd();} } /********************* NPC Dialog ID ***********************/ public override void NpcDialog(ushort DialogId) { //debug("Dialog ID = "+DialogId.ToString()); ts.SendEnd(); } /********************* On NPC Appear ***********************/ public override void onNPCAppear(ushort npcmapid, int x, int y) { } /************************ On Timer *************************/ public override void OnTimer() { time++; if (time == 60) {ts.Disconnect();} } /**************** Request Party Accept From ****************/ public override void RequestPartyAcceptFrom(uint playerid) { if (playerid == idmem1 && ts.Character.ghost <= 1) {ts.AcceptParty(playerid);} if (playerid == idmem2 && ts.Character.ghost <= 1) {ts.AcceptParty(playerid);} if (playerid == idmem3 && ts.Character.ghost <= 1) {ts.AcceptParty(playerid);} if (playerid == idmem4_sena && ts.Character.ghost <= 1) {ts.AcceptParty(playerid);} } /********************* Accepted Party **********************/ public override void AcceptedParty(uint playerid) { if (playerid == idmem1) {debug(playerid + " Gia nhập đội ngũ");pt1 = 1;} if (playerid == idmem2) {debug(playerid + " Gia nhập đội ngũ");pt2 = 1;} if (playerid == idmem3) {debug(playerid + " Gia nhập đội ngũ");pt3 = 1;} if (playerid == idmem4_sena) {debug(playerid + " Gia nhập đội ngũ");pt4 = 1; ts.Sena(idmem4_sena);debug(playerid + " Làm Quân Sư");} if (pt1 ==1 && pt2 == 1 && pt3 == 1 && pt4 == 1) {ts.SetTimerOnOff(false);ts.delay(1000);debug("Đội ngũ đã đầy -> Start");Start();} } /*********************** Party Stop ************************/ public override void PartyStop(uint playerid) { if (playerid == idmem1) {debug(playerid+" Rời khỏi đội ngủ -> Disconnect !!!");ts.SetTimerOnOff(false);ts.delay(500);ts.Disconnect();} if (playerid == idmem2) {debug(playerid+" Rời khỏi đội ngủ -> Disconnect !!!");ts.SetTimerOnOff(false);ts.delay(500);ts.Disconnect();} if (playerid == idmem3) {debug(playerid+" Rời khỏi đội ngủ -> Disconnect !!!");ts.SetTimerOnOff(false);ts.delay(500);ts.Disconnect();} if (playerid == idmem4_sena) {debug(playerid+" Rời khỏi đội ngủ -> Disconnect !!!");ts.SetTimerOnOff(false);ts.delay(500);ts.Disconnect();} } /************************* Start ***************************/ public override void Start() { if (ts.Character.mapid == mapid1) { ts.Warp(warpid1); return; } else if (ts.Character.mapid == mapid2) { ts.Warp(warpid2); return; } } /************************** Stop ***************************/ public override void Stop() { for(byte i=0;i<25;i++){ Slot oSlot = (Slot)ts.MyItems[i]; Item oItem = (Item)ts.ITEMS[oSlot.itemid.ToString()]; if(oSlot.itemid == 0){ continue; } debug(oItem.itemname + " at slot " + oSlot.slot.ToString() + " with ID " + oSlot.itemid.ToString(),0); } } /*********************** View State ************************/ void ViewState() { debug("************************************************************************",255) ; debug(" Số trận đánh : " + battle_count ,255) ; debug(" HP của "+ts.Character.CharName+" = " + ts.Character.HP +" "+ "/" +" "+ ts.Character.MAXHP,255); debug(" HP của "+ts.CurrentPartner.CharName +" = " + ts.CurrentPartner.HP + " "+"/" +" "+ ts.CurrentPartner.MAXHP +" "+" FAI = " + ts.CurrentPartner.fai,255); debug(" Số lần gặp BTQ : "+ NS_count +" Số con ma : " + ts.Character.ghost ,255) ; debug("======= Script by Jet007 - Copy Right GameVN–™ =======",255) ; } /********************** Warp Finish ************************/ public override void warpFinish() { if (ts.Character.ghost >= 2 && ts.Character.mapid == 12011) {ts.Walk(462,515);ts.ClickOnNPC(9);} if (ts.Character.ghost >= 2 && ts.Character.mapid == 12000) {ts.Warp(6);} if (pt1 ==1 && pt2 == 1 && pt3 == 1 && pt4 == 1) {Start();} if (ts.Character.ghost == 0 && ts.Character.mapid == 12000 && ts.Character.x == 830 && ts.Character.y == 1490) {ts.SetTimerOnOff(true);} } /********************* Fishish Answer **********************/ public override void FinishAnswer() { ts.delay(2000); Start(); } /************************ Init Bot *************************/ public override void InitBot() { ts.SetReconnectTime(3); ts.SetMaxIdleTime(15); if (ts.Character.mapid == 11000) {ts.Warp(1);} ts.SetTimerOnOff(true); AddDropItemList("viênongmật"); AddDropItemList("tựđ uốngthuốc"); AddDropItemList("viên công kích"); AddDropItemList("Thịt Dê khô"); AddDropItemList("Táo đỏ"); AddDropItemList("Bánh Lạc"); AddDropItemList("Nấm Rơm"); AddDropItemList("Rượu Bạch Cang"); ViewState(); if (ts.Character.ghost >= 2 && ts.Character.mapid == 12000) {ts.Warp(6);} if (ts.Character.ghost == 0 && ts.Character.x == 462 && ts.Character.y ==515 && ts.Character.mapid == 12011) {ts.Warp(1);} } public override void Disconnected() { ts.SetTimerOnOff(false); }
Member PHP: double DisconnectFlag = 0.1; // Disconnect when current HP is below 30% double hpFractionEat = 0.8; //Eat HP when current HP<= 80% double spFractionEat = 0.8; double hpFraction = 0.95; //Eat until current HP >= 95 % double spFraction = 0.95; byte DisconFai = 00; // Faith of warrior to disconnect byte time = 0; byte battle_count = 0; byte NS_count = 0; byte myturn = 0; byte peturn = 0; /******** Chinh sua ID o day ********/ uint idchupt = 289563; /*************************************/ /*********************** My Attack *************************/ public override void MyAttack() { myturn++; if (myturn == 1) { CharacterInfo MyChar = ts.Character; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyChar.Row, MyChar.Col, 0, 2, 17001); } if (myturn >=2) { CharacterInfo MyChar = ts.Character; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyChar.Row, MyChar.Col, 0, 2, 17001); } } /******************* My Partner Attack *********************/ public override void MyPartnerAttack() { peturn++; if (peturn == 1) { CharacterInfo MyWarrior = ts.CurrentPartner; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyWarrior.Row, MyWarrior.Col, 0, 2, 12003); } if (peturn >= 2) { CharacterInfo MyWarrior = ts.CurrentPartner; //NPCCombatObject Monster = findMonster(); ts.SendAttack(MyWarrior.Row, MyWarrior.Col, 0, 4, 17001); } } /********************* Battle Started **********************/ public override void BattleStarted() { CheckGhost(); battle_count++; myturn = 0; peturn = 0; time = 0; } /********************* Battle Stoped ***********************/ public override void BattleStopped() { AutoEatFood(); ProcessInventoryAction(); //CheckDisconnect(); NS_count = 0; time = 0; } void CheckGhost() { if (ts.Character.ghost >= 1) {ts.Disconnect();} } /******************* Receive Question *********************/ public override void doRecvQuestion() { NS_count++; } /******************** Response Answer **********************/ public override void ResponseAnswer() { string tmp=ts.LastQuestion.Replace("=?",""); int ans=ts.Eval(tmp); byte ans_index=Convert.ToByte(ts.LastAnswers[ans.ToString()]); if (NS_count == 3) {ts.Answer(ans_index);ts.SendEnd();ts.SendEnd();} ts.Answer(ans_index); } public override void UnGhostFinished() { ts.Warp(1); } /******************** NPC Dialog Menu **********************/ public override void NpcDialogMenu(ushort DialogId) { debug("Dialog Menu ID = "+DialogId.ToString()); if (DialogId == 4) {ts.SelectChoice(1);ts.SendEnd();} } /********************* NPC Dialog ID ***********************/ public override void NpcDialog(ushort DialogId) { //debug("Dialog ID = "+DialogId.ToString()); ts.SendEnd(); } /************************ On Timer *************************/ public override void OnTimer() { time++;if (time == 60) {ts.Disconnect();} ts.RequestParty(idchupt); } /************************* Start ***************************/ public override void Start() { debug("Request Party .........."); ts.RequestParty(idchupt); } /************************** Stop ***************************/ public override void Stop() { for(byte i=0;i<25;i++){ Slot oSlot = (Slot)ts.MyItems[i]; Item oItem = (Item)ts.ITEMS[oSlot.itemid.ToString()]; if(oSlot.itemid == 0){ continue; } debug(oItem.itemname + " at slot " + oSlot.slot.ToString() + " with ID " + oSlot.itemid.ToString(),0); } } /*********************** View State ************************/ void ViewState() { debug("************************************************************************",255) ; debug(" Số trận đánh : " + battle_count ,255) ; debug(" HP của "+ts.Character.CharName+" = " + ts.Character.HP +" "+ "/" +" "+ ts.Character.MAXHP,255); debug(" HP của "+ts.CurrentPartner.CharName +" = " + ts.CurrentPartner.HP + " "+"/" +" "+ ts.CurrentPartner.MAXHP +" "+" FAI = " + ts.CurrentPartner.fai,255); debug(" Số lần gặp BTQ : "+ NS_count +" Số con ma : " + ts.Character.ghost ,255) ; debug("======= Script by Jet007 - Copy Right GameVN–™ =======",255) ; } /********************** Warp Finished **********************/ public override void warpFinish() { if (ts.Character.ghost >= 1 && ts.Character.mapid == 12011) {ts.Walk(462,515);ts.ClickOnNPC(9);} if (ts.Character.ghost >= 1 && ts.Character.mapid == 12000) {ts.Warp(6);} if (ts.Character.ghost == 0 && ts.Character.mapid == 12000) {ts.SetTimerOnOff(true);} } /********************** Disconnected ***********************/ public override void Disconnected() { ts.SetTimerOnOff(false); } /************************ Init Bot *************************/ public override void InitBot() { if (ts.Character.mapid==11000 && ts.Character.ghost == 0) {ts.Warp(1);ts.SetTimerOnOff(true);} if (ts.Character.mapid==11000 && ts.Character.ghost >= 1) {ts.Warp(1);} ts.SetReconnectTime(3); ts.SetMaxIdleTime(15); ViewState(); debug("Login Okie"); if (ts.Character.ghost >= 1 && ts.Character.mapid == 12000) {ts.Warp(6);} if (ts.Character.ghost == 0 && ts.Character.x == 462 && ts.Character.y ==515 && ts.Character.mapid == 12011) {ts.Warp(1);ts.SetTimerOnOff(true);} if (ts.Character.ghost == 0 && ts.Character.mapid == 12000) {ts.SetTimerOnOff(true);} AddDropItemList("viênongmật"); AddDropItemList("tựđ uốngthuốc"); AddDropItemList("viên công kích"); AddDropItemList("Thịt Dê khô"); AddDropItemList("Táo đỏ"); AddDropItemList("Bánh Lạc"); AddDropItemList("Nấm Rơm"); AddDropItemList("Rượu Bạch Cang"); AddDropItemList("ThuốcThôngPhổi"); AddDropItemList("Bánh Lạc Hành"); }
Nói thêm là sc này tui sài good với ver mới nhất ( tức 2.6.1 ) Chúc vui Nếu cả nhà có hứng thú viết script tự giải ma các gate khác cũng như Bot NPC thì chúng ta có thể giúp nhau :)
có thể cho biết nick yahoo không em cũng đang học c# và cũng thử viết scritp, em có chút chuyện muốn hỏi cũng như trao đổi và học tập ý mà .
wao ! tốt quá ! bác cho em hỏi nếu thay ở sông bằng CL thì phải sửa ở đâu cái ! hehe ! đúng thứ mình cần 30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả30 chả
Sửa hết cái script luôn, mỗi nơi mỗi khác 30 charr rrrr r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r r
tui bot TG nhưng khi thằng chủ pt nó đi giải ma về thì nó đứng ngay ngoài cổng nó ko lên đài để đánh TG nữa mà nó cứ đứng mặt đực ở cửa ra vào đó. giúp em với nhé
Mã: Sửa hết cái script luôn, mỗi nơi mỗi khác em nghĩ khác chứ cài này không nhất thiết phải sửa hết script mình chỉ cần sửa lại tọa độ walk và warp khi đi giải ma thôi Mã: if (ts.Character.ghost >= 1 && ts.Character.mapid == 12000) {ts.Warp(6);} if (ts.Character.ghost == 0 && ts.Character.x == 462 && ts.Character.y ==515 && ts.Character.mapid == 12011) {ts.Warp(1);ts.SetTimerOnOff(true);} if (ts.Character.ghost == 0 && ts.Character.mapid == 12000) {ts.SetTimerOnOff(true);} ví dụ trong cái hàm InitBot phân tích cái này em nghĩ là hiểu ngay phải hem anh Jet ( gọi anh vì khôgn biết gọi thế nào ) việc viết cai walk và warp cho từng địe điểm bot thì cũng như viết script taxi Cư Lộc vô trong Trương Bửu ý mà, không biết đúng không anh Jet. Mà anh cho em nick Yahoo đi em có thể hỏi chút vấn đề được hem
oh yeah wá ngon đó đại ca ơi em mong đại ca tiếp tục pot thêm nhiều nhiều các bản ở các nơi khác nữa cho bọn gà tụi em ăn theo
oh yearhhhhh cam on anh jet nhiu` lam` em dang can` 1 cai script moi vi` script cua em toan` dí ma` reconnec cung~ lau gio` duoc anh chi giao roi` thanhks anh nhiu` nhiu` nhiu`
Đêm qua chat với Jet về vụ tại sao Jet lại cầu xin Trường Script triệu chỉ , sau khi chat xong Jet nói chơi lại và làm ra các script trên , anh thật sự bái phục em đấy dù mất host script nhưng vẩn làm dc cái khác
Mình đề nghị nên viết tất cả các bước giải ma vào thành 1 hàm RemoveGhost() Trong warpFinish() và InitBot() chỉ cần cho hàm này vào Ví dụ như sau: /********************** Warp Finished **********************/ public override void warpFinish() { RemoveGhost(); } và: public override void InitBot() { RemoveGhost(); .....................} Sau này khi cần giải ma ở các map khác hoặc post scrip giải ma ở map khác chỉ cần post đoạn RemoveGhost(); lên cho mọi người copy và paste thay đoạn RemoveGhost(); cũ là được
Ở chỗ cầu Triệu Chi có 2 con Phong đứng 2 bên nhưng lại không biết vị trí 2 con Phong là gì để cho con agi cao đánh và 1 con Tuyền Phong nhưng lại không biết vị trí 2 con đó . Ai biết chỉ giùm với
Vị trí là 0.0 và 0.4 , canh chính xác mà bem bay đầu nó nghen # , save mp sao khó quá trời ơi ai cứu tui
ai co scrip bot truong giac' ma tu dong giai? ma cho em xin voi tim mai~ ma ko co srcip bot truong giac tu dong giai? ma de cam chuot cho de~ hoi ti la gap ma a` anh Jet co cho em voi hic hic anh pót som nha