TS2GVN
28-09-15, 03:44 PM
Theo như các bạn có tâm huyết devlopment , mỗi thứ điều có thể xẫy ra phát sinh lỗi này lỗi nọ nhưng một vài cái này sẽ giúp các bạn hiểu và fix được những vấn đề mà không cần hỏi đến anh em
, Thứ nhất : bạn chạy server chạy phải lỗi lib++6 gì đó là do bạn thiếu thư viện hãy cài nó vào bằng lệnh (yum install libstdc++.so.6) dùng cho centos
Thứ 2 : bạn gặp phải lỗi khi chỉnh sữa này nọ cho file .ini trong server mà chạy lệnh ./shm start rồi bị lỗi luôn , thì bạn hãy chọn Upload bằng winscp bằng chế đồ Binary ( Binary khi bạn mở trình upload lên bạn sẽ thấy chổ default trên chổ cái cục trái đắt chỉnh nó về binary là ok thỏa thích Upload mà không bị lỗi gì cả )
Mình chỉ biết sơ lượt thôi còn lại mình sẽ Update thêm những cách khác thân chào và cảm ơn anh em đã cho mình biết tất cả lỗi này
+[Cách] Di chuyển NPC đúng vị trí bản đồ
Các bạn có thể xem trong File daily_new_monster.ini hoặc daily_monster.ini trong thư mục scen trong bộ Server của mình để di chuyển các NPC đứng theo vị trí phù hợp
Ví dụ : các bạn vào Map đại lý nhìn lên phía trên góc tọa độ có là 198 199
Dưới đây là mô hình rất dễ hiểu
[monster0]
guid=12293999
type=193 - Type là ID của hình dạng 1 em quái nào đó
name=Thôi Phùng CØu
title=Ông chü d¸ch trÕm
pos_x= Là tọa độ 198 phía trên muốn di chuyển thì bạn đi đến chổ tọa độ đó rồi sửa lại
pos_z= Là tọa độ 199 phía trên các bạn xem mình đã có HD
dir=27
script_id=900006
respawn_time=1000
group_id=-1
team_id=-1
base_ai=3
ai_file=0
patrol_id=-1
shop0=-1
shop1=-1
shop2=-1
shop3=-1
ReputationID=-1
level=20
Như các bạn làm ở trên thì nó sẽ tự động di chuyển NPC này đến đúng chổ mà bạn đang đứng trong map chúc các bạn thành công
+[Code] Khảm nạm 4 lổ Full 100% tốn 5 cái Hạn ngọc tinh túy
Các bạn có thể lấy đoạn này chèn vào server rồi thêm 1 đoạn nhận như sau
số 333 này là nó lặp dòng xuốn if GetNumText() == 333 then để nó tạo ra 1 bảng nhận có thể chèn code này vào NPC nào đó mà bạn mong muốn
AddNumText( sceneId, x000110_g_scriptId, " Ðøc 100% cñc hÕn trang b¸ 4 l±", 6, 333 )
x000110_NotifyFailTips( sceneId, selfId, "T¤t cä trang b¸ ðã ðßþc khoan thành công!" )
end
if GetNumText() == 333 then
if LuaFnGetAvailableItemCount(sceneId, selfId, 20310111) >= 5 then
BeginEvent( sceneId )
AddText( sceneId, "Xin lña ch÷n phß½ng thÑc ðøc l± cñc hÕng:" )
AddNumText( sceneId, x001101_g_ScriptId, "Ðøc toàn bµ 4 l± (Full)", 6, 166 )
EndEvent( sceneId )
DispatchEventList( sceneId, selfId, targetId )
else
BeginEvent(sceneId)
AddText(sceneId, "Ngß½i không có 5 cái #GHàn ng÷c tinh túy!!")
EndEvent(sceneId)
DispatchEventList(sceneId,selfId,targetId)
end
end
if GetNumText() == 166 then
local tEquipGemTable = { 0, 1, 2, 3, 4, 5, 6, 7, 8,9,10, 12, 14, 15, 16, 17, 18 }
local bagbegin = GetBasicBagStartPos(sceneId, selfId)
local bagend = GetBasicBagEndPos(sceneId, selfId)
for i = 0,10 do
for i=bagbegin, bagend do
local itemIndex = LuaFnGetItemTableIndexByIndex( sceneId, selfId, i )
if itemIndex>0 then
local ret = LuaFnIsItemLocked( sceneId, selfId, i )
if ret ~= 0 then
return
end
local EquipType = LuaFnGetBagEquipType( sceneId, selfId, i )
local find = 0
for j, gem in tEquipGemTable do
if gem == EquipType then
find = 1
end
end
if find == 1 then
local equipMaxGemCount = GetBagGemCount( sceneId, selfId, i )
--while equipMaxGemCount<3 do
local ret = AddBagItemSlot( sceneId, selfId, i )
local ret1 = AddBagItemSlotFour( sceneId, selfId, i )
equipMaxGemCount = GetBagGemCount( sceneId, selfId, i )
LuaFnDelAvailableItem(sceneId,selfId,20310111,5)
end
end
end
end
x000110_NotifyFailTips( sceneId, selfId, "T¤t cä trang b¸ ðã 4 l± thành công" )
end
, Thứ nhất : bạn chạy server chạy phải lỗi lib++6 gì đó là do bạn thiếu thư viện hãy cài nó vào bằng lệnh (yum install libstdc++.so.6) dùng cho centos
Thứ 2 : bạn gặp phải lỗi khi chỉnh sữa này nọ cho file .ini trong server mà chạy lệnh ./shm start rồi bị lỗi luôn , thì bạn hãy chọn Upload bằng winscp bằng chế đồ Binary ( Binary khi bạn mở trình upload lên bạn sẽ thấy chổ default trên chổ cái cục trái đắt chỉnh nó về binary là ok thỏa thích Upload mà không bị lỗi gì cả )
Mình chỉ biết sơ lượt thôi còn lại mình sẽ Update thêm những cách khác thân chào và cảm ơn anh em đã cho mình biết tất cả lỗi này
+[Cách] Di chuyển NPC đúng vị trí bản đồ
Các bạn có thể xem trong File daily_new_monster.ini hoặc daily_monster.ini trong thư mục scen trong bộ Server của mình để di chuyển các NPC đứng theo vị trí phù hợp
Ví dụ : các bạn vào Map đại lý nhìn lên phía trên góc tọa độ có là 198 199
Dưới đây là mô hình rất dễ hiểu
[monster0]
guid=12293999
type=193 - Type là ID của hình dạng 1 em quái nào đó
name=Thôi Phùng CØu
title=Ông chü d¸ch trÕm
pos_x= Là tọa độ 198 phía trên muốn di chuyển thì bạn đi đến chổ tọa độ đó rồi sửa lại
pos_z= Là tọa độ 199 phía trên các bạn xem mình đã có HD
dir=27
script_id=900006
respawn_time=1000
group_id=-1
team_id=-1
base_ai=3
ai_file=0
patrol_id=-1
shop0=-1
shop1=-1
shop2=-1
shop3=-1
ReputationID=-1
level=20
Như các bạn làm ở trên thì nó sẽ tự động di chuyển NPC này đến đúng chổ mà bạn đang đứng trong map chúc các bạn thành công
+[Code] Khảm nạm 4 lổ Full 100% tốn 5 cái Hạn ngọc tinh túy
Các bạn có thể lấy đoạn này chèn vào server rồi thêm 1 đoạn nhận như sau
số 333 này là nó lặp dòng xuốn if GetNumText() == 333 then để nó tạo ra 1 bảng nhận có thể chèn code này vào NPC nào đó mà bạn mong muốn
AddNumText( sceneId, x000110_g_scriptId, " Ðøc 100% cñc hÕn trang b¸ 4 l±", 6, 333 )
x000110_NotifyFailTips( sceneId, selfId, "T¤t cä trang b¸ ðã ðßþc khoan thành công!" )
end
if GetNumText() == 333 then
if LuaFnGetAvailableItemCount(sceneId, selfId, 20310111) >= 5 then
BeginEvent( sceneId )
AddText( sceneId, "Xin lña ch÷n phß½ng thÑc ðøc l± cñc hÕng:" )
AddNumText( sceneId, x001101_g_ScriptId, "Ðøc toàn bµ 4 l± (Full)", 6, 166 )
EndEvent( sceneId )
DispatchEventList( sceneId, selfId, targetId )
else
BeginEvent(sceneId)
AddText(sceneId, "Ngß½i không có 5 cái #GHàn ng÷c tinh túy!!")
EndEvent(sceneId)
DispatchEventList(sceneId,selfId,targetId)
end
end
if GetNumText() == 166 then
local tEquipGemTable = { 0, 1, 2, 3, 4, 5, 6, 7, 8,9,10, 12, 14, 15, 16, 17, 18 }
local bagbegin = GetBasicBagStartPos(sceneId, selfId)
local bagend = GetBasicBagEndPos(sceneId, selfId)
for i = 0,10 do
for i=bagbegin, bagend do
local itemIndex = LuaFnGetItemTableIndexByIndex( sceneId, selfId, i )
if itemIndex>0 then
local ret = LuaFnIsItemLocked( sceneId, selfId, i )
if ret ~= 0 then
return
end
local EquipType = LuaFnGetBagEquipType( sceneId, selfId, i )
local find = 0
for j, gem in tEquipGemTable do
if gem == EquipType then
find = 1
end
end
if find == 1 then
local equipMaxGemCount = GetBagGemCount( sceneId, selfId, i )
--while equipMaxGemCount<3 do
local ret = AddBagItemSlot( sceneId, selfId, i )
local ret1 = AddBagItemSlotFour( sceneId, selfId, i )
equipMaxGemCount = GetBagGemCount( sceneId, selfId, i )
LuaFnDelAvailableItem(sceneId,selfId,20310111,5)
end
end
end
end
x000110_NotifyFailTips( sceneId, selfId, "T¤t cä trang b¸ ðã 4 l± thành công" )
end