vipbk
01-07-12, 05:45 PM
Thấy một số bạn đang cần cái này, hôm nay mình share luôn cho nó HOT :))
1) mở file: gameserver\setting\npc\npc.txt (nên mở bằng Excel), tìm cột Z (PropParam)
ta thấy các "giá trị": pp, intensity0, intensity1 ...
Các chữ này quy định thông số của NPC bất kỳ
2) Mở file: gameserver\script\npc\basesetting.lua
File này quy định đầy đủ thông số của mọi NPC như: máu, kháng, kinh nghiệm người chơi nhận được ...
Nói nhiều chắc a/e vẫn chưa hiểu =)), mình lấy ví dụ cụ thể với Boss Hỏa Kỳ Lân: id 20005
Cột Z của nó là: worldboss3
Vào file basesetting.lua search chữ: worldboss3, ta được:
worldboss3 = {
Exp = 900000,
Life = {{1,160*0.9},{55,7125000*0.9},{100,21930000*0.9},} ,
LifeReplenish = 0,
AR = 667,
Defense = 1500,
MinDamage = 1,
MaxDamage = 1000,
PhysicsResist = 800,
PoisonResist = 800,
ColdResist = 800,
FireResist = 800,
LightResist = 800,
PhysicalDamageBase = 700,
PoisonDamageBase = 700,
ColdDamageBase = 700,
FireDamageBase = 700,
LightingDamageBase = 700,
PhysicalMagicBase = 700,
PoisonMagicBase = 700,
ColdMagicBase = 700,
FireMagicBase = 700,
LightingMagicBase = 700,
AuraSkillId = 1410,
AuraSkillLevel = 1,
PasstSkillId = 1407,
PasstSkillLevel = 10,
},
- Dòng Exp: là kinh nghiệm nhận được sau khi giết được boss
- Dòng Life: là máu của boss, ta thấy:
+) {55,7125000*0.9} tức là boss level 55 thì máu là 7125000*0.9 = 6412500 (6 triệu)
+) {100,21930000*0.9} ------------- 100 -------- 21930000*0.9 = 19737000 (19 triệu)
+) còn ở các level khác thì sao: ta coi {55,7125000*0.9} giống như (x,y): tọa độ một điểm trong mặt phẳng Oxy
+) Trong mp Oxy, hai điểm bất kỳ (x1,y1) và (x2,y2) sẽ xác định được một đường thẳng
=> Do đó khi level của boss là bất kỳ ngoài 55 và 100 thì máu của nó sẽ được xác định theo phương trình đường thẳng đi qua hai điểm (x1,y1) (x2,y2)
Bạn nào học môn Hình học giải tích thì biết ngay ;)
+) Phương trình đường thẳng đi qua hai điểm (x1,y1) và (x2,y2) là:
y = ((y2-y1)/(x2-x1))*x - ((y2-y1)/(x2-x1))*x1 + y1 (*)
Thay x = 255 ta được y = 65632500 (trên 65 triệu) nhưng nhiều bạn vẫn cho là số máu này còn ít, vậy hãy tăng số này lên: 21930000*0.9 là máu sẽ cao hơn
- Dòng LifeReplenish là Hồi phục sinh lực mỗi nửa giây, nếu muốn boss khủng hơn nữa thì tăng cái này, không thì để là 0
- Dòng AR (Attack Rating) là độ chính xác (giống như phái ngoại công cần độ chính xác)
- Dòng Defense là né tránh
- MinDamage và MaxDamage là lực đánh tối thiểu và lực đánh tối đa
- PhysicsResist là kháng vật
- PoisonResist là kháng độc
...
- PhysicalDamageBase là sát thương vật lý ngoại công / 1 level
- PoisonDamageBase là độc sát ngoại công / 1 level
...
- PhysicalMagicBase là sát thương vật lý nội công / 1 level
- PoisonMagicBase là độc sát nội công / 1 level
...
- AuraSkillId là id skill hiệu ứng hỗ trợ xung quanh boss, ở đây là 1410: tra trong skill.txt thì nó là boss Buff Hoàng đế
- AuraSkillLevel là level của skill này (id skill 1410)
- PasstSkillId là một dạng skill hỗ trợ (không hiểu cái này lắm :D )
- PasstSkillLevel là level của skill này
Ví dụ mình chỉnh máu boss như thế này:
Life = {{1,160*0.9},{50,1000000},{100,100000000},},
theo phương trình (*) ở trên, ta tính được:
x = 150 thì y = 199000000 (199 triệu)
x = 255 thì y = 406900000 (trên 400 triệu)
Pro nào cảm thấy boss còn "yếu" thì có thể tăng thêm máu, kháng và cả sát thương nội - ngoại công nữa :D
Chỉnh xong chỉ cần reload script là xong, không cần đồng bộ client :)>-
DEMO:
<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áu 199 triệu 8-}
còn nhiều thứ cần khám phá đang chờ các bạn trong file basesetting.lua, rất thú vị :)
1) mở file: gameserver\setting\npc\npc.txt (nên mở bằng Excel), tìm cột Z (PropParam)
ta thấy các "giá trị": pp, intensity0, intensity1 ...
Các chữ này quy định thông số của NPC bất kỳ
2) Mở file: gameserver\script\npc\basesetting.lua
File này quy định đầy đủ thông số của mọi NPC như: máu, kháng, kinh nghiệm người chơi nhận được ...
Nói nhiều chắc a/e vẫn chưa hiểu =)), mình lấy ví dụ cụ thể với Boss Hỏa Kỳ Lân: id 20005
Cột Z của nó là: worldboss3
Vào file basesetting.lua search chữ: worldboss3, ta được:
worldboss3 = {
Exp = 900000,
Life = {{1,160*0.9},{55,7125000*0.9},{100,21930000*0.9},} ,
LifeReplenish = 0,
AR = 667,
Defense = 1500,
MinDamage = 1,
MaxDamage = 1000,
PhysicsResist = 800,
PoisonResist = 800,
ColdResist = 800,
FireResist = 800,
LightResist = 800,
PhysicalDamageBase = 700,
PoisonDamageBase = 700,
ColdDamageBase = 700,
FireDamageBase = 700,
LightingDamageBase = 700,
PhysicalMagicBase = 700,
PoisonMagicBase = 700,
ColdMagicBase = 700,
FireMagicBase = 700,
LightingMagicBase = 700,
AuraSkillId = 1410,
AuraSkillLevel = 1,
PasstSkillId = 1407,
PasstSkillLevel = 10,
},
- Dòng Exp: là kinh nghiệm nhận được sau khi giết được boss
- Dòng Life: là máu của boss, ta thấy:
+) {55,7125000*0.9} tức là boss level 55 thì máu là 7125000*0.9 = 6412500 (6 triệu)
+) {100,21930000*0.9} ------------- 100 -------- 21930000*0.9 = 19737000 (19 triệu)
+) còn ở các level khác thì sao: ta coi {55,7125000*0.9} giống như (x,y): tọa độ một điểm trong mặt phẳng Oxy
+) Trong mp Oxy, hai điểm bất kỳ (x1,y1) và (x2,y2) sẽ xác định được một đường thẳng
=> Do đó khi level của boss là bất kỳ ngoài 55 và 100 thì máu của nó sẽ được xác định theo phương trình đường thẳng đi qua hai điểm (x1,y1) (x2,y2)
Bạn nào học môn Hình học giải tích thì biết ngay ;)
+) Phương trình đường thẳng đi qua hai điểm (x1,y1) và (x2,y2) là:
y = ((y2-y1)/(x2-x1))*x - ((y2-y1)/(x2-x1))*x1 + y1 (*)
Thay x = 255 ta được y = 65632500 (trên 65 triệu) nhưng nhiều bạn vẫn cho là số máu này còn ít, vậy hãy tăng số này lên: 21930000*0.9 là máu sẽ cao hơn
- Dòng LifeReplenish là Hồi phục sinh lực mỗi nửa giây, nếu muốn boss khủng hơn nữa thì tăng cái này, không thì để là 0
- Dòng AR (Attack Rating) là độ chính xác (giống như phái ngoại công cần độ chính xác)
- Dòng Defense là né tránh
- MinDamage và MaxDamage là lực đánh tối thiểu và lực đánh tối đa
- PhysicsResist là kháng vật
- PoisonResist là kháng độc
...
- PhysicalDamageBase là sát thương vật lý ngoại công / 1 level
- PoisonDamageBase là độc sát ngoại công / 1 level
...
- PhysicalMagicBase là sát thương vật lý nội công / 1 level
- PoisonMagicBase là độc sát nội công / 1 level
...
- AuraSkillId là id skill hiệu ứng hỗ trợ xung quanh boss, ở đây là 1410: tra trong skill.txt thì nó là boss Buff Hoàng đế
- AuraSkillLevel là level của skill này (id skill 1410)
- PasstSkillId là một dạng skill hỗ trợ (không hiểu cái này lắm :D )
- PasstSkillLevel là level của skill này
Ví dụ mình chỉnh máu boss như thế này:
Life = {{1,160*0.9},{50,1000000},{100,100000000},},
theo phương trình (*) ở trên, ta tính được:
x = 150 thì y = 199000000 (199 triệu)
x = 255 thì y = 406900000 (trên 400 triệu)
Pro nào cảm thấy boss còn "yếu" thì có thể tăng thêm máu, kháng và cả sát thương nội - ngoại công nữa :D
Chỉnh xong chỉ cần reload script là xong, không cần đồng bộ client :)>-
DEMO:
<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áu 199 triệu 8-}
còn nhiều thứ cần khám phá đang chờ các bạn trong file basesetting.lua, rất thú vị :)