PDA

View Full Version : [TLBB] add nhiều shop vào npc ?



skythienlong
09-09-14, 08:09 AM
ai biết chỉ mình cách add nhiều shop vào npc.......Thank

Sói Đẹp Trai
09-09-14, 08:30 AM
Dùng cái AddNumText rồi tương ứng mỗi cái thì gọi đến một shop

skythienlong
09-09-14, 10:47 AM
bạn hướng dẫn cụ thể cho mình cái đoạn gọi đến shop được không, điền ntn ?. Hỏi luôn câu cuối cùng: lệnh nén thư mục tlbb....

script 1 npc có shop


--钱庄NPC
--宝石精华
--普通

--地摊
x895107_g_shoptableindex=265

--**********************************
--事件交互入口
--**********************************
function x895107_OnDefaultEvent( sceneId, selfId,targetId )
DispatchShopItem( sceneId, selfId,targetId, x895107_g_shoptableindex )
end

Dark.Hades
09-09-14, 12:01 PM
bạn hướng dẫn cụ thể cho mình cái đoạn gọi đến shop được không, điền ntn ?. Hỏi luôn câu cuối cùng: lệnh nén thư mục tlbb....

script 1 npc có shop


--钱庄NPC
--宝石精华
--普通

--地摊
x895107_g_shoptableindex=265

--**********************************
--事件交互入口
--**********************************
function x895107_OnDefaultEvent( sceneId, selfId,targetId )
DispatchShopItem( sceneId, selfId,targetId, x895107_g_shoptableindex )
end

bạn mở terminal gõ tar --help là ra hết

Sói Đẹp Trai
09-09-14, 08:43 PM
DispatchShopItem( sceneId, selfId,targetId, x895107_g_shoptableindex )
Đây chính là câu lệnh hiển thị shop với ID của nó là x895107_g_shoptableindex

--- Chế độ gộp bài viết ---

Cụ thể hoạt động của script này là khi ta ấn vào NPC thì cái shop tự hiện lên luôn

skythienlong
11-09-14, 04:24 PM
mình tìm được cái script mở nhiều shop có đoạn này thắc mắc ý nghĩa của nó là gì 8-x


elseif(NumText>=3 and NumText<=11) then
x229012_OpenShopNumText(sceneId, selfId, targetId, NumText )
end

Code đây


--师贡商店
x229012_g_scriptId = 229012


--**********************************
--事件交互入口
--**********************************
function x229012_OnDefaultEvent( sceneId, selfId,targetId )

local NumText = GetNumText();
if(NumText == 1) then
BeginEvent(sceneId)
AddNumText(sceneId,x229012_g_scriptId, "2级配方", 7, 3)
AddNumText(sceneId,x229012_g_scriptId, "3级配方", 7, 4)
AddNumText(sceneId,x229012_g_scriptId, "4级配方", 7, 5)
AddNumText(sceneId,x229012_g_scriptId, "5级配方", 7, 6)
AddNumText(sceneId,x229012_g_scriptId, "6级配方", 7, 7)
AddNumText(sceneId,x229012_g_scriptId, "7级配方", 7, 8)
EndEvent(sceneId)
DispatchEventList(sceneId,selfId,targetId)

elseif(NumText == 2) then
BeginEvent(sceneId)
AddNumText(sceneId,x229012_g_scriptId, "2级配方", 7, 3)
AddNumText(sceneId,x229012_g_scriptId, "3级配方", 7, 4)
AddNumText(sceneId,x229012_g_scriptId, "4级配方", 7, 5)
AddNumText(sceneId,x229012_g_scriptId, "5级配方", 7, 6)
AddNumText(sceneId,x229012_g_scriptId, "6级配方", 7, 7)
AddNumText(sceneId,x229012_g_scriptId, "7级配方", 7, 8)
AddNumText(sceneId,x229012_g_scriptId, "8级配方", 7, 9)
AddNumText(sceneId,x229012_g_scriptId, "9级配方", 7, 10)
AddNumText(sceneId,x229012_g_scriptId, "10级配方", 7, 11)
EndEvent(sceneId)
DispatchEventList(sceneId,selfId,targetId)

elseif(NumText>=3 and NumText<=11) then
x229012_OpenShopNumText(sceneId, selfId, targetId, NumText )
end


end

--**********************************
--列举事件
--**********************************
function x229012_OnEnumerate( sceneId, selfId, targetId )

local lev = GetLevel(sceneId, selfId)
if(lev>=40 and lev<70) then
AddNumText(sceneId,x229012_g_scriptId, "购买配方", 7, 1)
elseif(lev>=70) then
AddNumText(sceneId,x229012_g_scriptId, "购买配方", 7, 2)
end

end

function x229012_OpenShopNumText( sceneId, selfId, targetId, shopNumText )

if(shopNumText == 3) then
DispatchShopItem( sceneId, selfId,targetId, 169 )
elseif(shopNumText == 4) then
DispatchShopItem( sceneId, selfId,targetId, 170 )
elseif(shopNumText == 5) then
DispatchShopItem( sceneId, selfId,targetId, 171 )
elseif(shopNumText == 6) then
DispatchShopItem( sceneId, selfId,targetId, 172 )
elseif(shopNumText == 7) then
DispatchShopItem( sceneId, selfId,targetId, 173 )
elseif(shopNumText == 8) then
DispatchShopItem( sceneId, selfId,targetId, 174 )
elseif(shopNumText == 9) then
DispatchShopItem( sceneId, selfId,targetId, 175 )
elseif(shopNumText == 10) then
DispatchShopItem( sceneId, selfId,targetId, 176 )
elseif(shopNumText == 11) then
DispatchShopItem( sceneId, selfId,targetId, 177 )
end
end


Tiện hỏi lun về danh hiệu thuộc tính. Có đoạn


elseif GetNumText() == 1508 then
LuaFnAwardSpouseTitle( sceneId, selfId, "#gDC4C18#c33CC00#224É¥ÐIJ¡¿ñ#225" )
LuaFnDelAvailableItem(sceneId,selfId,20310184,30)
LuaFnSendSpecificImpactToUnit(sceneId, selfId, selfId, selfId, 10481, 0)
DispatchAllTitle( sceneId, selfId )
BeginEvent( sceneId )
AddText( sceneId, "#G¹§Ï²£¬Äú³É¹¦ÁìÈ¡ÁË#gDC4C18#c33 CC00#224É¥ÐIJ¡¿ñ#225¡£" )
local nam = LuaFnGetName( sceneId, selfId )
BroadMsgByChatPipe( sceneId, selfId, "#gff00f0¹§Ï²Íæ¼Ò#gffff00"..nam.."#gff00f0³É¹¦ÁìÈ¡ÊôÐԳƺÅ#gDC4C18#c 33CC00#224É¥ÐIJ¡¿ñ#225", 4 )
EndEvent( sceneId )
DispatchEventList( sceneId, selfId, targetId )


Mình muốn thêm hiệu ứng vào cùng 1 danh hiệu thì thêm dòng này vào à hay ntn


LuaFnSendSpecificImpactToUnit(sceneId, selfId, selfId, selfId, 10481, 0)

Chốt: trong cái script dhtt có đoạn cuối ntn:........... không biết dùng thế nào, nôm na là hồi máu , khí


--**********************************
--»Ö¸´ÑªºÍÆø
--**********************************
function x895108_Restore_hpmp( sceneId, selfId, targetId )
RestoreHp( sceneId, selfId )
RestoreMp( sceneId, selfId )
RestoreRage( sceneId, selfId )
end

Sói Đẹp Trai
11-09-14, 07:31 PM
Hình 1: Nó gọi đến cái hàm bên dưới của nó, cụ thể là hàm tên OpenShopNumText
Hình 3: Mấu chốt là nó add danh hiệu mới cho mình đồng thời nhét luôn cái hiệu ứng kia lên người mình. Cách làm đơn giản và đúng là thêm hoặc edit cái SendSpecificImpact đó. Tuy nhiên để mà thằng nhân vật nó mở danh hiệu ra làm danh hiệu hiện tại của nó mới có hiệu ứng ấy thì còn phải suy nghĩ thêm nhiều đó.
Cuối cùng: Không tác dụng trong script này nhưng một vài script khác gọi đến nó. Chi tiết tham khảo các script của các NPC thần y đó