PDA

View Full Version : [Gunny] HOT!! FIX Full Cường Hóa Biến Hình + Add Nhiều đá GunnyII



trong0981
19-12-12, 10:05 PM
đã có bản mới ở đây:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

trungqbbn
19-12-12, 10:15 PM
Thank bạn nhiều nhé hj. ;;);;);;)

trungqbbn
19-12-12, 10:25 PM
Đã test Ok hết thank bạn lần nữa. :D

namngo.hmu
19-12-12, 10:28 PM
Ok đã test xong.,tks nhé,mày mò mãi ko ra

vuahaitacD
19-12-12, 10:45 PM
PM mấy bro xin share ko cho 8-x. Ém hàng vê lu nên tức mình ngồi vọc em nó. Khổ là chưa đụng vào thằng C# bao giờ nên chật vật mãi mới fix được. Hiện mới fix được zà các pro khác bỏ qua nhé:

- Add được nhiều đá cường hóa và CH liên tục
- Tự biến hình
- Fix kèm MĐTB :D
- Không có bug như các bản share trên gz hiện thời. Nói chung là hoàn chỉnh giống anh trminhpc đệp zai 8-x 8-x

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> bienhinhgunnyii.jpg (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> bienhinhgunnyii.jpg)

Linkdown: <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
pass: gamezone-trong0981


Thank nhiệt tình nhé!

Cám ơn ông nhé! Cho mình hỏi edit source hay edit cả database thế :D Coi như gợi ý 1 chút ha :D

namngo.hmu
19-12-12, 10:57 PM
Cám ơn ông nhé! Cho mình hỏi edit source hay edit cả database thế :D Coi như gợi ý 1 chút ha :D

Phang nó vào Road thôi,và cứ thế mà chén,hoho

daicadoibung
19-12-12, 11:06 PM
chưa biết làm như nào ... mà tks phát đã .. để đấy .. mai thi về tính tiếp ....:>

vuahaitacD
19-12-12, 11:10 PM
Phang nó vào Road thôi,và cứ thế mà chén,hoho

t đang hỏi cách edit thôi, còn copy thì các bản sau trminhpc ra các bản tút thì t biết sửa đâu mà làm O.o

vipbk
19-12-12, 11:24 PM
very good ;))
.....................

ironhide
19-12-12, 11:34 PM
Bro tốt bụng share cái code ItemStrengHandler.cs đc ko, xem code sửa thế nào ;))

trong0981
19-12-12, 11:41 PM
t đang hỏi cách edit thôi, còn copy thì các bản sau trminhpc ra các bản tút thì t biết sửa đâu mà làm O.o

Edit MDTB thì trong cả db nữa. Còn fix cường hóa thì ko cần vì db trminhpc đã add full rồi. fix source cho nó nhận là run ok luôn ;;) .

Thực ra source gunnyII đưa lên online là một vấn đề rất chi là 8-x... bởi vì nó đã bị 8-x => CPU 100% => nghỉ việc đưa lên online đi nha. tham khảo thì được 8-x

Phong_JxOnline
20-12-12, 08:34 AM
tôi mún nghỉ tới online Lan để ae chơi nét , tụi nó bị vng hút máu h nghỉ hết rùi

trungqbbn
20-12-12, 08:47 AM
Bị lỗi CPU chán nhỉ :(( :((...

trminhpc
20-12-12, 08:49 AM
Good tuyệt vời cố gắn phát huy \:D/
Một vài lưu ý nè:
--1: nếu bạn cường hóa lên 8 rồi bạn cho vào 999v đá bấm cái bặc, em nó vẩn nguyên xi mà +10 ;;)
--2: giả sử bạn cường hóa 11 và 98% bạn cho vào 999v và bấm cái bặc những viên đá còn dư hy sinh \:D/
cả 2 trường hợp đều chọn cường hóa Liên tục. ;;)

Bản share củ bạn có bi vậy không? ;;) Nếu không chắc down về relector thôi :>

vuleson
20-12-12, 09:36 AM
Ai Không thank không phải là con người.

btbaotrung90
20-12-12, 09:37 AM
Good tuyệt vời cố gắn phát huy \:D/
Một vài lưu ý nè:
--1: nếu bạn cường hóa lên 8 rồi bạn cho vào 999v đá bấm cái bặc, em nó vẩn nguyên xi mà +10 ;;)
--2: giả sử bạn cường hóa 11 và 98% bạn cho vào 999v và bấm cái bặc những viên đá còn dư hy sinh \:D/
cả 2 trường hợp đều chọn cường hóa Liên tục. ;;)

Bản share củ bạn có bi vậy không? ;;) Nếu không chắc down về relector thôi :>

Quả thật cái này nếu không có hướng dẫn hoặc gợi ý để code típ mà mò để fix thì quả thật cực kỳ khó khăn, hic bác có thể HD thêm chút hoặc chú thích cơ chế hoạt động của nó dc ko?

hung3020
20-12-12, 09:49 AM
Good tuyệt vời cố gắn phát huy \:D/
Một vài lưu ý nè:
--1: nếu bạn cường hóa lên 8 rồi bạn cho vào 999v đá bấm cái bặc, em nó vẩn nguyên xi mà +10 ;;)
--2: giả sử bạn cường hóa 11 và 98% bạn cho vào 999v và bấm cái bặc những viên đá còn dư hy sinh \:D/
cả 2 trường hợp đều chọn cường hóa Liên tục. ;;)

Bản share củ bạn có bi vậy không? ;;) Nếu không chắc down về relector thôi :>

anh trminhpc fix dùm em lỗi k lưu item vs, out ra zo lại là mất :((

duyluong_2108
20-12-12, 10:06 AM
Bác share cho em các file fix trong source vs, !!!!!!!!!!!!!!!!!!!!!!!!

Aljen
20-12-12, 10:17 AM
Tks anh trong nhé ....hihihi......................

luadola000
20-12-12, 10:47 AM
cảm ơn nhé :D

Phong_JxOnline
20-12-12, 11:02 AM
cậu ơi cái này nó có lưu lại item không

angelvipno.1
20-12-12, 11:08 AM
Bạn ơi, sao mà khi cường hóa lên từ +10 trở đi không còn chữ thành công nữa vậy?

btbaotrung90
20-12-12, 11:11 AM
Các bạn nào muốn tự fix trong code thì chú ý đến cái đoạn double MuntilStreng trong cái HD của anh trminh ấy, cái này dùng để mình cường hóa nhiều đá cùng lúc, trong clip HD có khai báo nhưng chưa bao giời sử dụng biến này.

duyluong_2108
20-12-12, 11:30 AM
Em Cường hóa xong out ra vào lại là mất hết đồ ak, ai chỉ e cách fix vs , thanks !!!!!!!!!!!!!!!!!!!!!!!!!!

trong0981
20-12-12, 02:11 PM
Good tuyệt vời cố gắn phát huy \:D/
Một vài lưu ý nè:
--1: nếu bạn cường hóa lên 8 rồi bạn cho vào 999v đá bấm cái bặc, em nó vẩn nguyên xi mà +10 ;;)
--2: giả sử bạn cường hóa 11 và 98% bạn cho vào 999v và bấm cái bặc những viên đá còn dư hy sinh \:D/
cả 2 trường hợp đều chọn cường hóa Liên tục. ;;)

Bản share củ bạn có bi vậy không? ;;) Nếu không chắc down về relector thôi :>

Mình không làm theo cách của bạn. Mình làm theo cách: bỏ đá vào ko chọn multi thì phập 1 nhát + check. vì exp từ guild + vip ko có chạy. lúc nào cũng = 0 nên check dễ 8-x => ko chọn multi thì lúc phập = 10 exp => exp = strengthenLevel + 1 thì nâng level nó lên 1, sau đó trừ 1 viên đá.

Còn chọn multi thì bỏ 999 viên, mình chỉ check từ exp hiện tại cần bao nhiêu nữa để lên lv. nếu allexp đủ hoặc dư để lên lv thì => tính được đá và số đá còn dư, cộng lên 1lv và xóa số đá đã sử dụng.

Nói chung mới mò lên hơi chật vật. Đang nghiên cứu cách của bạn. VD đang ở lv1 bỏ 999 viên nó tự đập hết sạch 8-x => lên lv8 (ví dụ thế). rồi từ lv8 bỏ 999 viên phập 1 nhát nó lên +12 vẫn dư 180 viên 8-x8-x. Mình làm được rồi nhưng nó ko chịu biến con ông hình 8-x

supergunny677
20-12-12, 03:24 PM
Mình không làm theo cách của bạn. Mình làm theo cách: bỏ đá vào ko chọn multi thì phập 1 nhát + check. vì exp từ guild + vip ko có chạy. lúc nào cũng = 0 nên check dễ 8-x => ko chọn multi thì lúc phập = 10 exp => exp = strengthenLevel + 1 thì nâng level nó lên 1, sau đó trừ 1 viên đá.

Còn chọn multi thì bỏ 999 viên, mình chỉ check từ exp hiện tại cần bao nhiêu nữa để lên lv. nếu allexp đủ hoặc dư để lên lv thì => tính được đá và số đá còn dư, cộng lên 1lv và xóa số đá đã sử dụng.

Nói chung mới mò lên hơi chật vật. Đang nghiên cứu cách của bạn. VD đang ở lv1 bỏ 999 viên nó tự đập hết sạch 8-x => lên lv8 (ví dụ thế). rồi từ lv8 bỏ 999 viên phập 1 nhát nó lên +12 vẫn dư 180 viên 8-x8-x. Mình làm được rồi nhưng nó ko chịu biến con ông hình 8-x

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

duyluong_2108
20-12-12, 03:29 PM
Bác nào fix đc lỗi mất item, cho e xin code vs !!!!!!!!!!!!!!!!!!!!!!!!!
Hoặc cho e xin code fix cường hóa cũng đc !!!!!!!!!!!!!!!!!!!!!!!!!
(ak cho e xin code fix MĐTB lun, làm mãi ko xong )

duyluong_2108
20-12-12, 03:45 PM
Fix đc ko mất ITEM ko bác, e chơi mak bị mất item nản quá, còn đây là code e kiếm đc :

namespace Game.Server.Packets.Client
{
using Bussiness;
using Bussiness.Managers;
using Game.Base.Packets;
using Game.Server;
using Game.Server.GameObjects;
using Game.Server.Managers;
using Game.Server.Packets;
using SqlDataProvider.Data;
using System;
using System.Collections.Generic;
using System.Text;

[PacketHandler(0x3b, "物品强化")]
public class ItemStrengthenHandler : IPacketHandler
{
public static int countConnect = 0;
private static readonly double[] rateItems = new double[] { 0.75, 3.0, 12.0, 48.0, 240.0, 768.0 };

public int HandlePacket(GameClient client, GSPacketIn packet)
{
if (countConnect >= 0xbb8)
{
client.Disconnect();
return 0;
}
GSPacketIn pkg = packet.Clone();
pkg.ClearContext();
StringBuilder str = new StringBuilder();
bool isBinds = false;
bool consortia = packet.ReadBoolean();
bool MultiStrengThen = packet.ReadBoolean();
double exp1 = 0.0;
double exp2 = 0.0;
double exp3 = 0.0;
double Total = 0.0;
ItemInfo item = client.Player.StoreBag2.GetItemAt(1);
ItemInfo stone1 = client.Player.StoreBag2.GetItemAt(0);
if (((stone1 != null) && (stone1.get_Template().get_CategoryID() == 11)) && ((stone1.get_Template().get_Property1() == 2) || (stone1.get_Template().get_Property1() == 0x23)))
{
isBinds = isBinds || stone1.get_IsBinds();
exp1 += stone1.get_Template().get_Property2();
}
bool ConsortiaRate = false;
ConsortiaInfo info = ConsortiaMgr.FindConsortiaInfo(client.Player.Playe rCharacter.get_ConsortiaID());
if (consortia)
{
ConsortiaEquipControlInfo cecInfo = new ConsortiaBussiness().GetConsortiaEuqipRiches(clien t.Player.PlayerCharacter.get_ConsortiaID(), 0, 2);
if (info == null)
{
client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.Fail", new object[0]));
}
else
{
if (client.Player.PlayerCharacter.get_Riches() < cecInfo.get_Riches())
{
client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("ItemStrengthenHandler.FailbyPermission", new object[0]));
return 1;
}
ConsortiaRate = true;
}
}
List<double> <>g__initLocal0 = new List<double> { 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0 };
List<double> ConsortiaStrengthenEx = <>g__initLocal0;
if (ConsortiaRate)
{
exp2 = (ConsortiaStrengthenEx[info.get_SmithLevel() - 1] / 100.0) * exp1;
}
if (client.Player.PlayerCharacter.get_VIPExpireDay() >= DateTime.Now)
{
List<double> VIPStrengthenEx = new List<double> { 25.0, 25.0, 25.0, 35.0, 35.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0 };
exp3 = (VIPStrengthenEx[client.Player.PlayerCharacter.get_VIPLevel() - 1] / 100.0) * exp1;
}
Total = Math.Floor((double) ((exp1 + exp2) + exp3));
List<int> StrengthenExp = new List<int> { 0, 10, 50, 150, 350, 700, 0x5dc, 0x8fc, 0xce4, 0x1194, 0x1770, 0x1d4c, 0x2328 };
pkg.WriteByte(0);
item.set_StrengthenExp(item.get_StrengthenExp() + ((int) Total));
StrengthenGoodsInfo strengthenGoodsInfo = StrengthenMgr.FindStrengthenGoodsInfo(item.get_Str engthenLevel(), item.get_TemplateID());
if (StrengthenMgr.FindStrengthenInfo(item.get_Strengt henLevel() + 1) == null)
{
client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.NoStrength", new object[0]));
return 0;
}
str.Append("true");
pkg.WriteByte(0);
if (strengthenGoodsInfo != null)
{
ItemTemplateInfo Temp = ItemMgr.FindItemTemplate(strengthenGoodsInfo.get_G ainEquip());
if (Temp != null)
{
ItemInfo newItem = ItemInfo.CreateFromTemplate(Temp, 1, 0x74);
newItem.set_StrengthenLevel(item.get_StrengthenLev el() + 1);
ItemInfo.OpenHole(ref newItem);
StrengthenMgr.InheritProperty(item, ref newItem);
client.Player.StoreBag2.AddItemTo(newItem, 5);
item = newItem;
}
}
if (item.get_StrengthenExp() >= StrengthenExp[item.get_StrengthenLevel() + 1])
{
item.set_StrengthenLevel(item.get_StrengthenLevel( ) + 1);
item.set_StrengthenExp(item.get_StrengthenExp() - StrengthenExp[item.get_StrengthenLevel()]);
ItemInfo.OpenHole(ref item);
client.Player.StoreBag2.AddItemTo(item, 1);
if ((((item.get_StrengthenLevel() == 3) || (item.get_StrengthenLevel() == 6)) || (((item.get_StrengthenLevel() == 9) || (item.get_StrengthenLevel() == 12)) || (item.get_StrengthenLevel() == 15))) && (item.get_Template().get_CategoryID() != 0x11))
{
pkg.WriteBoolean(true);
}
else
{
pkg.WriteBoolean(false);
}
}
if (item.get_StrengthenLevel() >= 10)
{
string msg = LanguageMgr.GetTranslation("ItemStrengthenHandler.congratulation", new object[] { client.Player.PlayerCharacter.get_NickName(), item.get_Template().get_Name(), item.get_StrengthenLevel() });
GSPacketIn pkg1 = new GSPacketIn(10);
pkg1.WriteInt(1);
pkg1.WriteString(msg);
GameServer.Instance.LoginServer.SendPacket(pkg1);
GamePlayer[] players = WorldMgr.GetAllPlayers();
foreach (GamePlayer p in players)
{
p.Out.SendTCP(pkg1);
}
}
client.Player.StoreBag2.UpdateItem(item);
client.Player.StoreBag2.RemoveItem(stone1);
client.Out.SendTCP(pkg);
str.Append(item.get_StrengthenLevel());
client.Player.BeginChanges();
client.Player.CommitChanges();
return 0;
}
}
}

trminhpc
20-12-12, 04:13 PM
.....
Nói chung mới mò lên hơi chật vật. Đang nghiên cứu cách của bạn. VD đang ở lv1 bỏ 999 viên nó tự đập hết sạch 8-x => lên lv8 (ví dụ thế). rồi từ lv8 bỏ 999 viên phập 1 nhát nó lên +12 vẫn dư 180 viên 8-x8-x. Mình làm được rồi nhưng nó ko chịu biến con ông hình 8-x

Giải pháp ở đây là sửa lại bảng Biến hình giống file xml trong request.
Phần server bạn đưa biến lấy id biến hình xuông dưới phần item.strengthen++;

Bạn cứ xem file xml trong request tự khắc hiểu \:D/

trong0981
20-12-12, 04:15 PM
2 bạn không có cãi nhau ở trên đây nhé :|. đây là topic trao đổi về ch & multi stone chứ ko fai để 2 bạn gây lộn

trminhpc
20-12-12, 04:18 PM
=)) kaka thì ra admin đã dell của mày vì tội chém gió :)), giờ xem mày dev được gì hay lại mang của triminhpc đi bán,mày với bibivietnam, :))


Thì ra mày nói cái topic bên trao đổi mua bán !
Cái đó là tao viết. Nhưng tin hay ko là tùy vào thông minh ! sao nói tao đc !

Đề nghị các bạn không span trong topic này nói riêng và các topic khác nói chung.
Vì một công đồng văn minh đề nghị các bạn bình tỉnh và kiền chế. cảnh báo lần 1.

duyluong_2108
20-12-12, 04:19 PM
2 MOD hợp sức mak dev cho a e ké thì ........................

hoaloi
20-12-12, 04:20 PM
Fix đc ko mất ITEM ko bác, e chơi mak bị mất item nản quá, còn đây là code e kiếm đc :

namespace Game.Server.Packets.Client
{
using Bussiness;
using Bussiness.Managers;
using Game.Base.Packets;
using Game.Server;
using Game.Server.GameObjects;
using Game.Server.Managers;
using Game.Server.Packets;
using SqlDataProvider.Data;
using System;
using System.Collections.Generic;
using System.Text;

[PacketHandler(0x3b, "物品强化")]
public class ItemStrengthenHandler : IPacketHandler
{
public static int countConnect = 0;
private static readonly double[] rateItems = new double[] { 0.75, 3.0, 12.0, 48.0, 240.0, 768.0 };

public int HandlePacket(GameClient client, GSPacketIn packet)
{
if (countConnect >= 0xbb8)
{
client.Disconnect();
return 0;
}
GSPacketIn pkg = packet.Clone();
pkg.ClearContext();
StringBuilder str = new StringBuilder();
bool isBinds = false;
bool consortia = packet.ReadBoolean();
bool MultiStrengThen = packet.ReadBoolean();
double exp1 = 0.0;
double exp2 = 0.0;
double exp3 = 0.0;
double Total = 0.0;
ItemInfo item = client.Player.StoreBag2.GetItemAt(1);
ItemInfo stone1 = client.Player.StoreBag2.GetItemAt(0);
if (((stone1 != null) && (stone1.get_Template().get_CategoryID() == 11)) && ((stone1.get_Template().get_Property1() == 2) || (stone1.get_Template().get_Property1() == 0x23)))
{
isBinds = isBinds || stone1.get_IsBinds();
exp1 += stone1.get_Template().get_Property2();
}
bool ConsortiaRate = false;
ConsortiaInfo info = ConsortiaMgr.FindConsortiaInfo(client.Player.Playe rCharacter.get_ConsortiaID());
if (consortia)
{
ConsortiaEquipControlInfo cecInfo = new ConsortiaBussiness().GetConsortiaEuqipRiches(clien t.Player.PlayerCharacter.get_ConsortiaID(), 0, 2);
if (info == null)
{
client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.Fail", new object[0]));
}
else
{
if (client.Player.PlayerCharacter.get_Riches() < cecInfo.get_Riches())
{
client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("ItemStrengthenHandler.FailbyPermission", new object[0]));
return 1;
}
ConsortiaRate = true;
}
}
List<double> <>g__initLocal0 = new List<double> { 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0 };
List<double> ConsortiaStrengthenEx = <>g__initLocal0;
if (ConsortiaRate)
{
exp2 = (ConsortiaStrengthenEx[info.get_SmithLevel() - 1] / 100.0) * exp1;
}
if (client.Player.PlayerCharacter.get_VIPExpireDay() >= DateTime.Now)
{
List<double> VIPStrengthenEx = new List<double> { 25.0, 25.0, 25.0, 35.0, 35.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0 };
exp3 = (VIPStrengthenEx[client.Player.PlayerCharacter.get_VIPLevel() - 1] / 100.0) * exp1;
}
Total = Math.Floor((double) ((exp1 + exp2) + exp3));
List<int> StrengthenExp = new List<int> { 0, 10, 50, 150, 350, 700, 0x5dc, 0x8fc, 0xce4, 0x1194, 0x1770, 0x1d4c, 0x2328 };
pkg.WriteByte(0);
item.set_StrengthenExp(item.get_StrengthenExp() + ((int) Total));
StrengthenGoodsInfo strengthenGoodsInfo = StrengthenMgr.FindStrengthenGoodsInfo(item.get_Str engthenLevel(), item.get_TemplateID());
if (StrengthenMgr.FindStrengthenInfo(item.get_Strengt henLevel() + 1) == null)
{
client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.NoStrength", new object[0]));
return 0;
}
str.Append("true");
pkg.WriteByte(0);
if (strengthenGoodsInfo != null)
{
ItemTemplateInfo Temp = ItemMgr.FindItemTemplate(strengthenGoodsInfo.get_G ainEquip());
if (Temp != null)
{
ItemInfo newItem = ItemInfo.CreateFromTemplate(Temp, 1, 0x74);
newItem.set_StrengthenLevel(item.get_StrengthenLev el() + 1);
ItemInfo.OpenHole(ref newItem);
StrengthenMgr.InheritProperty(item, ref newItem);
client.Player.StoreBag2.AddItemTo(newItem, 5);
item = newItem;
}
}
if (item.get_StrengthenExp() >= StrengthenExp[item.get_StrengthenLevel() + 1])
{
item.set_StrengthenLevel(item.get_StrengthenLevel( ) + 1);
item.set_StrengthenExp(item.get_StrengthenExp() - StrengthenExp[item.get_StrengthenLevel()]);
ItemInfo.OpenHole(ref item);
client.Player.StoreBag2.AddItemTo(item, 1);
if ((((item.get_StrengthenLevel() == 3) || (item.get_StrengthenLevel() == 6)) || (((item.get_StrengthenLevel() == 9) || (item.get_StrengthenLevel() == 12)) || (item.get_StrengthenLevel() == 15))) && (item.get_Template().get_CategoryID() != 0x11))
{
pkg.WriteBoolean(true);
}
else
{
pkg.WriteBoolean(false);
}
}
if (item.get_StrengthenLevel() >= 10)
{
string msg = LanguageMgr.GetTranslation("ItemStrengthenHandler.congratulation", new object[] { client.Player.PlayerCharacter.get_NickName(), item.get_Template().get_Name(), item.get_StrengthenLevel() });
GSPacketIn pkg1 = new GSPacketIn(10);
pkg1.WriteInt(1);
pkg1.WriteString(msg);
GameServer.Instance.LoginServer.SendPacket(pkg1);
GamePlayer[] players = WorldMgr.GetAllPlayers();
foreach (GamePlayer p in players)
{
p.Out.SendTCP(pkg1);
}
}
client.Player.StoreBag2.UpdateItem(item);
client.Player.StoreBag2.RemoveItem(stone1);
client.Out.SendTCP(pkg);
str.Append(item.get_StrengthenLevel());
client.Player.BeginChanges();
client.Player.CommitChanges();
return 0;
}
}
}



Code này là của ta share mà :D. Lấy của slopt1 nên chưa hoàn thiện đâu.

trong0981
20-12-12, 04:31 PM
Giải pháp ở đây là sửa lại bảng Biến hình giống file xml trong request.
Phần server bạn đưa biến lấy id biến hình xuông dưới phần item.strengthen++;

Bạn cứ xem file xml trong request tự khắc hiểu \:D/

Không có gì là không thể. Như source full của bạn thì tính cả VIP + Guild nên nó sẽ ra số lẻ nên nếu giờ viết theo cách tính tròn 1ch = 10 exp thì sau này phải sửa hết lại code. Mình đang thử. Mò từ tối qua đến sáng vẫn chưa ra :(. Mới có ý tưởng để viết thôi chứ viết toàn bị lỗi do chưa làm quen được hết thư viện source

luadola000
20-12-12, 04:37 PM
chúc mừng bác lên T-MOD nhé gáng mà share cho anh em đi :))

trong0981
20-12-12, 04:37 PM
Fix đc ko mất ITEM ko bác, e chơi mak bị mất item nản quá, còn đây là code e kiếm đc :

namespace Game.Server.Packets.Client
{
using Bussiness;
using Bussiness.Managers;
using Game.Base.Packets;
using Game.Server;
using Game.Server.GameObjects;
using Game.Server.Managers;
using Game.Server.Packets;
using SqlDataProvider.Data;
using System;
using System.Collections.Generic;
using System.Text;

[PacketHandler(0x3b, "物品强化")]
public class ItemStrengthenHandler : IPacketHandler
{
public static int countConnect = 0;
private static readonly double[] rateItems = new double[] { 0.75, 3.0, 12.0, 48.0, 240.0, 768.0 };

public int HandlePacket(GameClient client, GSPacketIn packet)
{
if (countConnect >= 0xbb8)
{
client.Disconnect();
return 0;
}
GSPacketIn pkg = packet.Clone();
pkg.ClearContext();
StringBuilder str = new StringBuilder();
bool isBinds = false;
bool consortia = packet.ReadBoolean();
bool MultiStrengThen = packet.ReadBoolean();
double exp1 = 0.0;
double exp2 = 0.0;
double exp3 = 0.0;
double Total = 0.0;
ItemInfo item = client.Player.StoreBag2.GetItemAt(1);
ItemInfo stone1 = client.Player.StoreBag2.GetItemAt(0);
if (((stone1 != null) && (stone1.get_Template().get_CategoryID() == 11)) && ((stone1.get_Template().get_Property1() == 2) || (stone1.get_Template().get_Property1() == 0x23)))
{
isBinds = isBinds || stone1.get_IsBinds();
exp1 += stone1.get_Template().get_Property2();
}
bool ConsortiaRate = false;
ConsortiaInfo info = ConsortiaMgr.FindConsortiaInfo(client.Player.Playe rCharacter.get_ConsortiaID());
if (consortia)
{
ConsortiaEquipControlInfo cecInfo = new ConsortiaBussiness().GetConsortiaEuqipRiches(clien t.Player.PlayerCharacter.get_ConsortiaID(), 0, 2);
if (info == null)
{
client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.Fail", new object[0]));
}
else
{
if (client.Player.PlayerCharacter.get_Riches() < cecInfo.get_Riches())
{
client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation("ItemStrengthenHandler.FailbyPermission", new object[0]));
return 1;
}
ConsortiaRate = true;
}
}
List<double> <>g__initLocal0 = new List<double> { 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0 };
List<double> ConsortiaStrengthenEx = <>g__initLocal0;
if (ConsortiaRate)
{
exp2 = (ConsortiaStrengthenEx[info.get_SmithLevel() - 1] / 100.0) * exp1;
}
if (client.Player.PlayerCharacter.get_VIPExpireDay() >= DateTime.Now)
{
List<double> VIPStrengthenEx = new List<double> { 25.0, 25.0, 25.0, 35.0, 35.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0 };
exp3 = (VIPStrengthenEx[client.Player.PlayerCharacter.get_VIPLevel() - 1] / 100.0) * exp1;
}
Total = Math.Floor((double) ((exp1 + exp2) + exp3));
List<int> StrengthenExp = new List<int> { 0, 10, 50, 150, 350, 700, 0x5dc, 0x8fc, 0xce4, 0x1194, 0x1770, 0x1d4c, 0x2328 };
pkg.WriteByte(0);
item.set_StrengthenExp(item.get_StrengthenExp() + ((int) Total));
StrengthenGoodsInfo strengthenGoodsInfo = StrengthenMgr.FindStrengthenGoodsInfo(item.get_Str engthenLevel(), item.get_TemplateID());
if (StrengthenMgr.FindStrengthenInfo(item.get_Strengt henLevel() + 1) == null)
{
client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemStrengthenHandler.NoStrength", new object[0]));
return 0;
}
str.Append("true");
pkg.WriteByte(0);
if (strengthenGoodsInfo != null)
{
ItemTemplateInfo Temp = ItemMgr.FindItemTemplate(strengthenGoodsInfo.get_G ainEquip());
if (Temp != null)
{
ItemInfo newItem = ItemInfo.CreateFromTemplate(Temp, 1, 0x74);
newItem.set_StrengthenLevel(item.get_StrengthenLev el() + 1);
ItemInfo.OpenHole(ref newItem);
StrengthenMgr.InheritProperty(item, ref newItem);
client.Player.StoreBag2.AddItemTo(newItem, 5);
item = newItem;
}
}
if (item.get_StrengthenExp() >= StrengthenExp[item.get_StrengthenLevel() + 1])
{
item.set_StrengthenLevel(item.get_StrengthenLevel( ) + 1);
item.set_StrengthenExp(item.get_StrengthenExp() - StrengthenExp[item.get_StrengthenLevel()]);
ItemInfo.OpenHole(ref item);
client.Player.StoreBag2.AddItemTo(item, 1);
if ((((item.get_StrengthenLevel() == 3) || (item.get_StrengthenLevel() == 6)) || (((item.get_StrengthenLevel() == 9) || (item.get_StrengthenLevel() == 12)) || (item.get_StrengthenLevel() == 15))) && (item.get_Template().get_CategoryID() != 0x11))
{
pkg.WriteBoolean(true);
}
else
{
pkg.WriteBoolean(false);
}
}
if (item.get_StrengthenLevel() >= 10)
{
string msg = LanguageMgr.GetTranslation("ItemStrengthenHandler.congratulation", new object[] { client.Player.PlayerCharacter.get_NickName(), item.get_Template().get_Name(), item.get_StrengthenLevel() });
GSPacketIn pkg1 = new GSPacketIn(10);
pkg1.WriteInt(1);
pkg1.WriteString(msg);
GameServer.Instance.LoginServer.SendPacket(pkg1);
GamePlayer[] players = WorldMgr.GetAllPlayers();
foreach (GamePlayer p in players)
{
p.Out.SendTCP(pkg1);
}
}
client.Player.StoreBag2.UpdateItem(item);
client.Player.StoreBag2.RemoveItem(stone1);
client.Out.SendTCP(pkg);
str.Append(item.get_StrengthenLevel());
client.Player.BeginChanges();
client.Player.CommitChanges();
return 0;
}
}
}



Code của bạn sử dụng phần mềm decompier đúng ko? Code này bỏ vào thì khỏi build luôn :|. Khi nào mình viết xong cách đập liên tục giống clip trminhpc thì share lên cả source cho mọi người ngâm cứu.

kutepllove
20-12-12, 06:07 PM
anh ơi sao em coppy vào sever nhưng vẫn bị lỗi mật đạo thần bí vậy anh giờ làm cánh nào để fix mdtb vậy anh(:| em thank rồi đó

minhhailc
20-12-12, 07:10 PM
anh ơi sao em coppy vào sever nhưng vẫn bị lỗi mật đạo thần bí vậy anh giờ làm cánh nào để fix mdtb vậy anh(:| em thank rồi đó
Lưu ý k phải lỗi nhé mà là do chưa có scripts MDTB nhé!!!

kutepllove
20-12-12, 07:39 PM
Lưu ý k phải lỗi nhé mà là do chưa có scripts MDTB nhé!!!thế anh send em được ko cái này khó em ko bít làm thế nào:-s:-s

minhhailc
20-12-12, 07:44 PM
Làm theo video của a ấy nhé
Tiếp theo tải mấy cái query này về <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

mở lên = sql >> execute
Tiếp <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> bỏ vào AI\game
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> bỏ vào AI\Missions
Các bạn config lại map tùy ý mình nhé

tks

trong0981
20-12-12, 10:26 PM
thế anh send em được ko cái này khó em ko bít làm thế nào:-s:-s

Bạn coi topic này: <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Bỏ bước coi video đi vì source trên mình fix rồi. Chỉ làm mấy bước tiếp theo là run MDTB ok

BaBySumi
20-12-12, 11:40 PM
trong0981 ơi pm yh girl_boy_love_06 giúp mình 1 chút được không :(

modbibi
21-12-12, 12:14 AM
Làm sao để nó biến hình liền lun nhỉ, mình làm thì nó chỉ biến hình sau khi f5 thui :D

trong0981
21-12-12, 01:25 AM
Làm sao để nó biến hình liền lun nhỉ, mình làm thì nó chỉ biến hình sau khi f5 thui :D

vẫn biến hình bình thường đâu cần F5 đâu nhỉ? :-/

modbibi
21-12-12, 01:55 AM
vẫn biến hình bình thường đâu cần F5 đâu nhỉ? :-/

Ý là mình hỏi cách code ý,mình muốn tự sửa trog source ấy mà

ironhide
21-12-12, 02:09 AM
pkg.WriteByte(0);
Sửa thành pkg.WriteByte(1);

Cái này bác Trminhpc đã nói rồi

kutepllove
21-12-12, 11:55 AM
Bạn coi topic này: <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Bỏ bước coi video đi vì source trên mình fix rồi. Chỉ làm mấy bước tiếp theo là run MDTB ok
anh ơi em làm rồi vẫn ko được anh có yh chỉ giùm em\:D/