- 23/10/04
- 22,624
- 6,351
Thật ra là đoạn code trong cliend! mình gởi lên cho mọi người xem có gì lạ không nhé
Mã:
--MisDescBegin
x500619_g_ScriptId = 500619
x500619_g_Position_X=160.2399
x500619_g_Position_Z=134.1486
x500619_g_SceneID=0
x500619_g_AccomplishNPC_Name="Châu Thiên Sß"
x500619_g_givegift_diffday = 10 --³¬¹ý10Ìì¸øÀ¡Ôù
x500619_g_givegift_levellimit = 30 --30¼¶£¨°üÀ¨30¼¶£©²ÅÄܽÓ
x500619_g_ExpTbl = {
[30]=765,[31]=787,[32]=810,[33]=832,[34]=855,
[35]=877,[36]=900,[37]=922,[38]=945,[39]=967,
[40]=990,[41]=1012,[42]=1035,[43]=1057,[44]=1080,
[45]=1102,[46]=1125,[47]=1147,[48]=1170,[49]=1192,
[50]=1215,[51]=1237,[52]=1260,[53]=1282,[54]=1305,
[55]=1327,[56]=1350,[57]=1372,[58]=1395,[59]=1417,
[60]=1440,[61]=1462,[62]=1485,[63]=1507,[64]=1530,
[65]=1552,[66]=1575,[67]=1597,[68]=1620,[69]=1642,
[70]=1665,[71]=1687,[72]=1710,[73]=1732,[74]=1755,
[75]=1777,[76]=1800,[77]=1822,[78]=1845,[79]=1867,
[80]=1890,[81]=1912,[82]=1935,[83]=1957,[84]=1980,
[85]=2002,[86]=2025,[87]=2047,[88]=2070,[89]=2092,
[90]=3975,[91]=4346,[92]=4897,[93]=5516,[94]=6208,
[95]=6976,[96]=7822,[97]=8751,[98]=9764,[99]=10866,
[100]=10824,[101]=10789,[102]=10760,[103]=10736,[104]=10718,
[105]=10705,[106]=10696,[107]=10693,[108]=10694,[109]=10699,
[110]=10709,[111]=10722,[112]=10740,[113]=10761,[114]=10785,
[115]=10813,[116]=10845,[117]=10880,[118]=10918,[119]=10959,
[120]=11003,[121]=11050,[122]=11099,[123]=11152,[124]=11207,
[125]=11265,[126]=11325,[127]=11388,[128]=11454,[129]=11521,
[130]=11592,[131]=11664,[132]=11739,[133]=11816,[134]=11895,
[135]=11976,[136]=12060,[137]=12145,[138]=12233,[139]=12323,
[140]=12414,[141]=12508,[142]=12603,[143]=12701,[144]=12800,
[145]=13260,[146]=13780,[147]=14363,[148]=15013,[149]=15732,
[150]=0,
}
x500619_g_giftData = {nGiftId = 30505214, nGiftNum = 1}
function x500619_OnDefaultEvent( sceneId, selfId, targetId )
if x500619_CheckActiveDay() == 0 then
return
end
if GetNumText() == 1 then
local nCanGiftUnline = GetMissionData(sceneId, selfId, MD_GIFT_OUTLINE)
if nCanGiftUnline == 1 then --¸ø¾Ñ飬¸øÎïÆ·
x500619_SetGiveFlag(sceneId, selfId, 2) --¸ø¹ý¾ÑéÁË
local nGiveExp, nDiffDay
nGiveExp, nDiffDay = x500619_GetGiveExpNum(sceneId, selfId)
AddExpMore(sceneId, selfId, nGiveExp) --¸ø¾Ñé
AddOutlineGiftLog(sceneId, selfId, 1, nDiffDay, nGiveExp)
end
if (nCanGiftUnline == 1 or nCanGiftUnline == 2) then
BeginEvent( sceneId )
AddText(sceneId, "Tái chiªn giang h°\n")
local szName = GetName(sceneId, selfId)
AddText(sceneId, "#{LXJY_80818_02}"..szName.."#{LXJY_80818_03}")
AddText(sceneId, "#{LXJY_80818_05}")
AddItemBonus( sceneId, x500619_g_giftData.nGiftId, x500619_g_giftData.nGiftNum )
EndEvent( sceneId )
DispatchMissionContinueInfo(sceneId,selfId,targetId,x500619_g_ScriptId,-1)
end
end
end
function x500619_OnEnumerate( sceneId, selfId, targetId ) --¸ù¾ÝÊÇ·ñÁì¹ýÁËÀ´ÅжÏÊÇ·ñÏÔʾ¸Ã¶Ô»°
if x500619_CheckActiveDay() == 0 then
return
end
local nCanGiftUnline = GetMissionData(sceneId, selfId, MD_GIFT_OUTLINE)
if (nCanGiftUnline == 1 or nCanGiftUnline == 2) then
AddNumText( sceneId, x500619_g_ScriptId, "#G Tái chiªn giang h°", 1, 1 )
end
end
function x500619_OnSubmit( sceneId, selfId, targetId, selectRadioId )
if LuaFnGetPropertyBagSpace( sceneId, selfId ) < 1 then
x500619_SetGiveFlag(sceneId, selfId, 2) --¸ø¹ý¾ÑéÁË
BeginEvent( sceneId )
AddText(sceneId, "#{LXJY_80818_04}")
EndEvent( sceneId )
DispatchMissionTips(sceneId,selfId)
return
end
x500619_SetGiveFlag(sceneId, selfId, 0)
BeginAddItem(sceneId) --¸øÎïÆ·
AddItem(sceneId, x500619_g_giftData.nGiftId, x500619_g_giftData.nGiftNum)
local canAdd = EndAddItem(sceneId,selfId)
if canAdd > 0 then
for count=1, x500619_g_giftData.nGiftNum do --°ó¶¨ÎïÆ·
bagPos = TryRecieveItem( sceneId, selfId, x500619_g_giftData.nGiftId, QUALITY_MUST_BE_CHANGE )
LuaFnItemBind( sceneId, selfId, bagPos )
end
end
AddOutlineGiftLog(sceneId, selfId, 2, x500619_g_giftData.nGiftId, x500619_g_giftData.nGiftNum )
end
function x500619_OnContinue( sceneId, selfId, targetId )
end
function x500619_CheckUnlineGift( sceneId, selfId )
if x500619_CheckActiveDay() == 0 then
x500619_SetGiveFlag(sceneId, selfId, 0)
return
end
local nDiffDay= GetLoginDiffTime( sceneId, selfId)
local CurLevel = LuaFnGetLevel( sceneId, selfId )
if (nDiffDay > x500619_g_givegift_diffday and CurLevel >= x500619_g_givegift_levellimit) then
x500619_SetGiveFlag(sceneId, selfId, 1)
LuaFnSendSystemMail( sceneId, GetName(sceneId, selfId), "#{LXJY_80818_01}" ) -- ·¢Óʼþ
else
x500619_SetGiveFlag(sceneId, selfId, 0)
end
end
function x500619_GetGiveExpNum( sceneId, selfId )
local CurLevel = LuaFnGetLevel( sceneId, selfId )
if (CurLevel < 0 or CurLevel > 150) then
return 0
end
local nDiffDay = GetLoginDiffTime( sceneId, selfId)
if nDiffDay <= x500619_g_givegift_diffday then --²»Âú10Ì죬²»¸ø¾Ñé
return 0, nDiffDay
elseif nDiffDay > 366 then
nDiffDay = 366 --³¬¹ý366Ì죬°´366ÌìËã
end
local ExpInHan = x500619_g_ExpTbl[CurLevel]*60 --30Ã뺮Óñ´²¾Ñé*60 = 30·ÖÖÓº®Óñ´²¾Ñé
local nGiveReady = ExpInHan*2*(nDiffDay - 10)
local CurExp = GetExp(sceneId, selfId)
local nFullExp = GetFullExp(sceneId, selfId)
if (nGiveReady + CurExp) > nFullExp then --0x7fffffff
nGiveReady = nFullExp - CurExp - 1 -- ¼õ¸ö1£¬°²È«µã
end
return nGiveReady, nDiffDay
end
function x500619_SetGiveFlag(sceneId, selfId, nFlag)
if (nFlag == 1 or nFlag == 2) then
SetMissionData(sceneId, selfId, MD_GIFT_OUTLINE, nFlag)
else
SetMissionData(sceneId, selfId, MD_GIFT_OUTLINE, 0)
end
end
function x500619_CheckActiveDay(sceneId, selfId, nFlag)
return 1;
end

. Chờ cái chính thức coi sau đã.