init
This commit is contained in:
@@ -0,0 +1,195 @@
|
||||
--<2D><><EFBFBD>ܸ<EFBFBD><DCB8>ʵķ<CAB5>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
|
||||
|
||||
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--#include "data/config/item/scriptItemConfig/ProabilityItem.txt" once
|
||||
|
||||
|
||||
--[[
|
||||
--<2D><><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>Roll<6C><6C>Ʒ
|
||||
--sysarg:ʵ<><CAB5><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
--itemidx: <20><>Ʒ<EFBFBD><C6B7>ID
|
||||
--itemPtr: <20><>Ʒ<EFBFBD><C6B7>ָ<EFBFBD><D6B8>
|
||||
--ItemTable: <20><><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĻ<C3B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
--]]
|
||||
function ProbablityItemFunc(sysarg,count,itemidx,itemPtr,ItemTable) --<2D><>ʱδ<CAB1>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>count<6E>ֶμ<D6B6><CEBC>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
if(itemidx == nil) then
|
||||
System.trace ("ProbablityItemFunc itemidx ==nil")
|
||||
return
|
||||
end
|
||||
--print ("ProbablityItemFunc"..itemidx)
|
||||
--<2D><>ȡ<EFBFBD><C8A1><EFBFBD>Ŀǰ<C4BF>ж<EFBFBD><D0B6>ٸ<EFBFBD><D9B8>ո<EFBFBD><D5B8>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
|
||||
local config =ItemTable
|
||||
if(config == nil) then
|
||||
System.trace("ProbablityItemFunc config is nill")
|
||||
return
|
||||
end
|
||||
-- <20><><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>D<EFBFBD><EFBCA4>ſ<EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
if config.needRideActivited and not IsRideActivited(sysarg) then
|
||||
return
|
||||
end
|
||||
|
||||
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵı<CFB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
local count = Item.getAllBagMinEmptyGridCount(sysarg)
|
||||
--local count = Item.getBagEmptyGridCount(sysarg)
|
||||
local needGridCount=1 --<2D><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
if( config.needMinBagGrid ~= nil) then
|
||||
needGridCount = config.needMinBagGrid
|
||||
end
|
||||
|
||||
if needGridCount and count < needGridCount then
|
||||
local tipMsg = string.format(OldLang.ScriptTips.x00074,needGridCount)
|
||||
Actor.sendTipmsg( sysarg,tipMsg,ttFlyTip )
|
||||
return false
|
||||
end
|
||||
|
||||
-- <20><>ȡ<EFBFBD><C8A1><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
local nYb = Actor.getIntProperty(sysarg,PROP_ACTOR_YUANBAO)
|
||||
local needYb = 0
|
||||
if config.needYuanBao and config.needYuanBao > 0 then
|
||||
needYb = config.needYuanBao
|
||||
if nYb < needYb then
|
||||
Actor.sendTipmsg( sysarg,OldLang.Script.comm005, ttFlyTip )
|
||||
return false
|
||||
end
|
||||
local itemName = Item.getItemName(config.item_id);
|
||||
if not Actor.changeMoney(sysarg, 3, -needYb, 842, itemName) then
|
||||
local msg = string.format(OldLang.Script.comm004, needYb, itemName);
|
||||
Actor.sendTipmsg( sysarg, msg, ttFlyTip );
|
||||
return false;
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--<2D>ж<EFBFBD><D0B6><EFBFBD>Ʒ<EFBFBD><C6B7>Ҫ<EFBFBD><D2AA><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>Ŀ
|
||||
local nNeedItemCount = ItemTable.itemCount
|
||||
if(nNeedItemCount == nil) then
|
||||
nNeedItemCount =1
|
||||
end
|
||||
if( Actor.getItemCount(sysarg,itemidx,-1,-1) < nNeedItemCount) then
|
||||
local tipMsg = string.format(OldLang.ScriptTips.x00140,nNeedItemCount)
|
||||
Actor.sendTipmsg( sysarg,tipMsg,ttFlyTip )
|
||||
return false
|
||||
end
|
||||
|
||||
local consumes = {}
|
||||
|
||||
if config.consumes and table.getn(config.consumes) > 0 then
|
||||
for k, v in ipairs(config.consumes) do
|
||||
table.insert(consumes, v)
|
||||
end
|
||||
end
|
||||
|
||||
local consume = {type = 0, id = itemidx, count = nNeedItemCount}
|
||||
table.insert(consumes, consume)
|
||||
|
||||
--[[
|
||||
if CommonFunc.Consumes.SuccessCheck(sysarg, consumes) ~= successCheckResult.ok then
|
||||
return false
|
||||
end
|
||||
]]
|
||||
|
||||
--<2D><>Ҫrollһ<6C><D2BB><EFBFBD><EFBFBD>Ʒ
|
||||
local dropName = "proability"..tostring(itemidx) --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
local drop = System.getObjectVar(dropName)
|
||||
if (not drop) then
|
||||
System.trace("getObjectVar is nil"..itemidx)
|
||||
return
|
||||
end
|
||||
|
||||
local items = drop:proabilityDrop(sysarg)
|
||||
if ( items.itemCount > 0) then
|
||||
for i = items.itemCount - 1, 0, -1 do
|
||||
local result = Actor.canGiveAward(sysarg,
|
||||
items.itemList[i].btAwardType,
|
||||
items.itemList[i].wItemId,
|
||||
items.itemList[i].btCount,
|
||||
items.itemList[i].btQuality,
|
||||
items.itemList[i].btStrong,
|
||||
items.itemList[i].btBind,
|
||||
true)
|
||||
if not result then
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--<2D><><EFBFBD><EFBFBD><EFBFBD>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>Ʒ<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>ɾ<EFBFBD><C9BE>
|
||||
--if (config.needDelete and (Actor.removeItem(sysarg,itemidx,nNeedItemCount,-1,-1,-1,"Roll",2) ~=nNeedItemCount) ) then --ɾ<><C9BE><EFBFBD><EFBFBD>Ʒʧ<C6B7><CAA7>
|
||||
--[[
|
||||
local bBind = 1
|
||||
local result = successCheckResult.otherLack
|
||||
if (config.needDelete) then
|
||||
result, bBind = Consumes.OnConsumes(sysarg, consumes, 0, 0, 2, "ProabilityItem Roll")
|
||||
if result ~= successCheckResult.ok then
|
||||
return false
|
||||
end
|
||||
end
|
||||
]]
|
||||
|
||||
--[[
|
||||
<09><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>tips<70>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
Item.addItem(sysarg,itemPtr,"roll",1,items.itemList[i].btCount)
|
||||
if(items.itemList[i].btAuxParam ==1) then
|
||||
local itemDes = Item.getItemLinkMsg(items.itemList[i].wItemId,itemPtr)
|
||||
local tipMsg = string.format(OldLang.ScriptTips.x00085,Actor.getName(sysarg),Item.getItemName(itemidx), itemDes ) --Ҫȫ<D2AA><C8AB><EFBFBD>㲥
|
||||
System.broadcastTipmsg(tipMsg,ttScreenCenter )
|
||||
end
|
||||
--]]
|
||||
|
||||
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>Ʒ
|
||||
|
||||
if ( items.itemCount > 0) then
|
||||
for i=0, items.itemCount -1 do
|
||||
if config.infectBind == nil or config.infectBind ~= true then
|
||||
bBind = items.itemList[i].btBind
|
||||
end
|
||||
|
||||
Actor.giveAward(sysarg,
|
||||
items.itemList[i].btAwardType,
|
||||
items.itemList[i].wItemId,
|
||||
items.itemList[i].btCount,
|
||||
items.itemList[i].btQuality,
|
||||
items.itemList[i].btStrong,
|
||||
bBind,
|
||||
items.itemList[i].nTime,
|
||||
1,"roll")
|
||||
if(items.itemList[i].btAuxParam ==1) then
|
||||
local count = items.itemList[i].btCount
|
||||
local name = Item.getAwardDesc(items.itemList[i].btAwardType,items.itemList[i].wItemId,true,items.itemList[i])
|
||||
if(name ~= nil and name ~= "") then
|
||||
|
||||
if(items.itemList[i].btAwardType == 20) then --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>þ<EFBFBD><C3BE><EFBFBD><EFBFBD>
|
||||
count = Actor.getActivityExp(sysarg,items.itemList[i].wItemId,items.itemList[i].btCount,items.itemList[i].btQuality)
|
||||
end
|
||||
local tipMsg = string.format(OldLang.ScriptTips.x00085,Actor.getName(sysarg),Item.getItemName(itemidx), name,count ) --Ҫȫ<D2AA><C8AB><EFBFBD>㲥
|
||||
System.broadcastTipmsg(tipMsg,ttScreenCenter + ttChatWindow)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
--<2D><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۺϱ<DBBA><CFB1><EFBFBD>Ʒ
|
||||
function InitProabilityDropItem(sysarg)
|
||||
-- <20><>ȡ"data/config/item/scriptItemConfig/ProabilityItem.txt"<22>ı<EFBFBD>ProabolityItemConfig
|
||||
for i = 1,table.getn(ProabolityItemConfig) do
|
||||
local x = ProabolityItemConfig[i]
|
||||
|
||||
GlobalItemFn[x.item_id] = { func = ProbablityItemFunc,params =x }
|
||||
|
||||
--<2D>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ȫ<EFBFBD><C8AB>װ<EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD> ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱȥ<CAB1><C8A5><EFBFBD><EFBFBD>
|
||||
local dropName = "proability"..tostring(x.item_id)
|
||||
local boxdrop = System.getObjectVar(dropName)
|
||||
if (not boxdrop) then
|
||||
boxdrop = CBoxDropMgr:getSingleton():createBoxDrop(dropName) -- <20><><EFBFBD><EFBFBD>᷵<EFBFBD><E1B7B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(CBoxDrop)
|
||||
end
|
||||
if(boxdrop) then
|
||||
boxdrop:load(x.dropName) -- <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
table.insert(InitFnTable,InitProabilityDropItem)
|
||||
Reference in New Issue
Block a user