PDA

View Full Version : [JX] Chia sẻ script add quái vào map với vùng ngẫu nhiên.



rinodung
12-09-18, 03:19 PM
[JX WIN] Tình hình là mình đang làm chức năng add nhím béo, hươu béo(đánh sẽ nhận được kinh nghiệm, vật phẩm...) vào map Ba Lăng Huyện ở một vùng vị trí ngẫu nhiên nào đó như sau:
Tọa độ trong game
Tọa độ trong game được định nghĩa theo trục x,y ở bản đồ thực tế và bản đồ nhỏ góc phải trên màn hình với tỉ lệ: X: 1/256 Y: 1/512
Tức là khi lấy tọa trên map nhỏ là: 203,208 thì trên map lớn là: 203x256 , 208x512
<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ột tọa độ chấm nhỏ trên bản đồ mini 203,208 sẽ cho được 1 vùng hình chữ nhật trên bản đồ lớn(các điểm trong vùng này cùng có tọa độ 203,208)

<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>
Không tin, khi ta chạy trong vùng này tọa độ sẽ không thay đổi.

Vậy khi ta muốn add quái vào một vùng nào đó trên bản đồ ta cần xác định được 2 điểm M1(x1,y1) và M2(x2,y2) để tạo được vùng cần thêm, chú ý 2 điểm này trên bản đồ nhỏ sẽ cho ra một vùng lớn hơn trên map thật.

<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>

Tóm lại khi muốn thêm quái vào vùng nào chúng ta xác định chính xác trên bản đồ nhỏ là ok.

Ta có hàm AddNpcAuto như sau:


function AddNpcAuto(nArray, nRegionX, nRegionY, ArrayNpcId,nLevel, nMap, nX, nY,
szScript, nCurCamp, szName, bBarrierCheck, szSeries, nExp, nLife,
-- 13 14 15
nReplenish, nAttackR, nDefend, --phuc hoi sinh luc | do chinh xac | ne tranh
-- 16 17
nMinDamage, nMaxDamage, --sat thuong nho nhat/lon nhat
-- 18
nNoAppend, --Tinh damage tren skill
-- 19 20 21
nReviveTime, nHitRecover, nBossType, --Thoi gian phuc sinh, thoi gian phuc hoi, kieu boss
-- 22 23
DropRateFile, nMissionAdd) --File ty le rot do`



Ta thực hiện xác định 2 điểm cần add như sau:



function addNpcTest()
local x1 = 208; --
local y1 = 203; --
local x2 = x1 + 10; -- x2: 218
local y2 = y1 + 10; -- y2: 213


Gọi hàm AddNpcAuto


AddNpcAuto(3,x2,y2,{31,42,43},1,53,x1,y1,DEATHFILE 0X,5,"tên quái",1,"555",nil,200,nil,40,5,10,15,nil,25,nil,nil,DROPFILE0X) ;


Giải thích các tham số:

-- 3: mang vi tri xuat hien npcposarray.lua
--x2,y2: vi tri dung diem thu 2
--DEATHFILE0X: duong dan xu ly khi npc hoi sinh, chet **script/global/lastdamage**
--{31,42,43}: mang id npc ngau nhien se xuat hien, 31: kim mieu, 42: heo trang, 43: huu dom nam trong npcs.txt
--1: level quai
--x1,y1: vung vi dung diem thu 1
-- camp =5 thi quai danh duoc, =6 la npc dung' im
-- 555 : ngu hanh
-- 200: mau quai, neu khong co' lay mac dinh npcs.txt = 100
--600: thoi gian hoi sinh 30 = 1 giay
--DROPFILE0X: ti le rot do cua quai 0x nam trong **script/global/droprate**

Tham khảo chi tiết tại: <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>