|
You last visited: Today at 08:34
Advertisement
How to Create Giftbox
Discussion on How to Create Giftbox within the Flyff Private Server forum part of the Flyff category.
09/21/2021, 05:47
|
#1
|
elite*gold: 0
Join Date: Nov 2009
Posts: 182
Received Thanks: 13
|
How to Create Giftbox
Hello Elitepvers community . i wanna ask if there someone know how do i create a giftbox box or Item Box with Weapon or Armor Set per Jobs
if you open the box if your jobs is Mercenary you will get a weapon and set for mercenary
if someone share it thankyou so much big respect.
|
|
|
09/21/2021, 11:02
|
#2
|
elite*gold: 0
Join Date: Mar 2013
Posts: 200
Received Thanks: 38
|
Replace the entire function of:
Code:
CEventLua::SetLevelUpGift
With:
Code:
#ifdef __EVENTLUA_GIFT
void CEventLua::SetLevelUpGift(CUser* pUser, int nLevel)
{
if (!IsPossible())
return;
if (m_Lua.GetLuaFunction("GetLevelUpGift"))
{
m_Lua.PushNumber(nLevel);
m_Lua.PushString(pUser->m_playAccount.lpszAccount);
m_Lua.PushNumber(pUser->GetLegendChar());
m_Lua.PushNumber(pUser->GetJob());
m_Lua.CallLuaFunction(4, 1);
if (m_Lua.IsNil(-1))
{
m_Lua.Pop(0);
return;
}
m_Lua.PushNil();
while (m_Lua.TableLoop(-2))
{
DWORD dwItemId = CScript::GetDefineNum(m_Lua.GetFieldToString(-1, "strItemId"));
int nItemNum = (int)m_Lua.GetFieldToNumber(-1, "nItemNum");
if (!prj.GetItemProp(dwItemId))
{
Error("CEventLua::SetLevelUpGift() - ItemProp is NULL. ItemId = \"%s\"", m_Lua.GetFieldToString(-1, "strItemId"));
m_Lua.Pop(1);
continue;
}
CItemElem itemElem;
itemElem.m_dwItemId = dwItemId;
itemElem.m_nItemNum = nItemNum;
itemElem.SetFlag(static_cast<BYTE>(m_Lua.GetFieldToNumber(-1, "byFlag")));
itemElem.SetSerialNumber();
LogItemInfo aLogItem;
aLogItem.Action = "E";
aLogItem.SendName = pUser->GetName();
aLogItem.WorldId = pUser->GetWorld()->GetID();
aLogItem.Gold = aLogItem.Gold2 = pUser->GetGold();
if (pUser->CreateItem(&itemElem))
{
aLogItem.RecvName = "EVENT_LEVELUP_GIFT";
g_DPSrvr.OnLogItem(aLogItem, &itemElem, nItemNum);
}
else
{
g_dpDBClient.SendQueryPostMail(pUser->m_idPlayer, 0, itemElem, 0, "", "");
aLogItem.RecvName = "EVENT_LEVELUP_GIFT_POST";
g_DPSrvr.OnLogItem(aLogItem, &itemElem, nItemNum);
}
pUser->AddDefinedText(TID_GAME_EVENT_LEVELUP_GIFT, "\"%s\"", itemElem.GetName());
m_Lua.Pop(1);
}
}
m_Lua.Pop(0);
}
#endif
EventFunc.lua
Below:
Code:
ITEM = 4
MONSTER = 5
Add:
Code:
LEGEND_CLASS_NORMAL = 0
LEGEND_CLASS_MASTER = 1
LEGEND_CLASS_HERO = 2
LEGEND_CLASS_LEGENDHERO = 3
JOB_VAGRANT = 0
JOB_MERCENARY = 1
JOB_ACROBAT = 2
JOB_ASSIST = 3
JOB_MAGICIAN = 4
JOB_PUPPETEER = 5
JOB_KNIGHT = 6
JOB_BLADE = 7
JOB_JESTER = 8
JOB_RANGER = 9
JOB_RINGMASTER = 10
JOB_BILLPOSTER = 11
JOB_PSYCHIKEEPER = 12
JOB_ELEMENTOR = 13
JOB_GATEKEEPER = 14
JOB_DOPPLER = 15
JOB_KNIGHT_MASTER = 16
JOB_BLADE_MASTER = 17
JOB_JESTER_MASTER = 18
JOB_RANGER_MASTER = 19
JOB_RINGMASTER_MASTER = 20
JOB_BILLPOSTER_MASTER = 21
JOB_PSYCHIKEEPER_MASTER = 22
JOB_ELEMENTOR_MASTER = 23
JOB_KNIGHT_HERO = 24
JOB_BLADE_HERO = 25
JOB_JESTER_HERO = 26
JOB_RANGER_HERO = 27
JOB_RINGMASTER_HERO = 28
JOB_BILLPOSTER_HERO = 29
JOB_PSYCHIKEEPER_HERO = 30
JOB_ELEMENTOR_HERO = 31
JOB_LORDTEMPLER_HERO = 32
JOB_STORMBLADE_HERO = 33
JOB_WINDLURKER_HERO = 34
JOB_CRACKSHOOTER_HERO = 35
JOB_FLORIST_HERO = 36
JOB_FORCEMASTER_HERO = 37
JOB_MENTALIST_HERO = 38
JOB_ELEMENTORLORD_HERO = 39
JOB_MAX = 40
Replace entire function:
With:
Code:
function SetLevelUpGift( nLevel, strAccount, strItemId, nItemNum, byFlag, nLegendClass, nJob )
local nEventId = #tEvent
local nSize = #tEvent[nEventId].Gift
tEvent[nEventId].Gift[nSize+1] = {}
tEvent[nEventId].Gift[nSize+1].nLevel = nLevel
tEvent[nEventId].Gift[nSize+1].strAccount = strAccount
tEvent[nEventId].Gift[nSize+1].strItemId = strItemId
tEvent[nEventId].Gift[nSize+1].nItemNum = nItemNum
tEvent[nEventId].Gift[nSize+1].byFlag = byFlag
tEvent[nEventId].Gift[nSize+1].nLegendClass = nLegendClass
tEvent[nEventId].Gift[nSize+1].nJob = nJob
end
Replace entire function:
With:
Code:
function GetLevelUpGift( nLevel, strAccount, nLegendClass, nJob )
local nCount = 1
local tGiftList = {}
local tList = GetEventList()
for i in pairs(tList) do
local tGift = tEvent[tList[i]].Gift
for j in pairs(tGift) do
local nTemp = string.find( strAccount, tGift[j].strAccount )
if( (tGift[j].strAccount == "all") or (nTemp ~= nil) ) then
if( (tGift[j].nJob == JOB_MAX ) or ( tGift[j].nJob == nJob ) ) then
if( tGift[j].nLevel == nLevel and tGift[j].nLegendClass == nLegendClass ) then
tGiftList[nCount] = {}
tGiftList[nCount].strItemId = tGift[j].strItemId
tGiftList[nCount].nItemNum = tGift[j].nItemNum
tGiftList[nCount].byFlag = tGift[j].byFlag
nCount = nCount + 1
end
end
end
end
end
return tGiftList
end
Event.lua
Replace:
Code:
---- 11. SetLevelUpGift( nLevel, "all", ItemId, nNum, byFlag ) -- 레벨업 선물( nLevel달성시 아이템 지급, "all" 부분에 특정 계정 지정 가능(예. "__bu" - 버디, "__an" - 엔젤 )
With:
Code:
---- 11. SetLevelUpGift( nLevel, "all", ItemId, nNum, byFlag, nLegendClass, nJob ) -- 레벨업 선물( nLevel달성시 아이템 지급, "all" 부분에 특정 계정 지정 가능(예. "__bu" - 버디, "__an" - 엔젤 ), nJob으로 직업지정(JOB_MAX 기입시 모든 직업)
You then are able to do events like this:
Code:
AddEvent( "JOB EVENT TEST" )
--{
SetTime( "2007-06-08 14:23", "2099-06-08 16:11" )
SetLevelUpGift( 60, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_NORMAL, JOB_KNIGHT )
SetLevelUpGift( 80, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_MASTER, JOB_KNIGHT_MASTER )
SetLevelUpGift( 125, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_HERO, JOB_KNIGHT_HERO)
SetLevelUpGift( 140, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_LEGEND_HERO, JOB_LORDTEMPLER_HERO )
--}
|
|
|
09/21/2021, 11:21
|
#3
|
elite*gold: 0
Join Date: Nov 2009
Posts: 182
Received Thanks: 13
|
Quote:
Originally Posted by flyffdev
Replace the entire function of:
Code:
CEventLua::SetLevelUpGift
With:
Code:
#ifdef __EVENTLUA_GIFT
void CEventLua::SetLevelUpGift(CUser* pUser, int nLevel)
{
if (!IsPossible())
return;
if (m_Lua.GetLuaFunction("GetLevelUpGift"))
{
m_Lua.PushNumber(nLevel);
m_Lua.PushString(pUser->m_playAccount.lpszAccount);
m_Lua.PushNumber(pUser->GetLegendChar());
m_Lua.PushNumber(pUser->GetJob());
m_Lua.CallLuaFunction(4, 1);
if (m_Lua.IsNil(-1))
{
m_Lua.Pop(0);
return;
}
m_Lua.PushNil();
while (m_Lua.TableLoop(-2))
{
DWORD dwItemId = CScript::GetDefineNum(m_Lua.GetFieldToString(-1, "strItemId"));
int nItemNum = (int)m_Lua.GetFieldToNumber(-1, "nItemNum");
if (!prj.GetItemProp(dwItemId))
{
Error("CEventLua::SetLevelUpGift() - ItemProp is NULL. ItemId = \"%s\"", m_Lua.GetFieldToString(-1, "strItemId"));
m_Lua.Pop(1);
continue;
}
CItemElem itemElem;
itemElem.m_dwItemId = dwItemId;
itemElem.m_nItemNum = nItemNum;
itemElem.SetFlag(static_cast<BYTE>(m_Lua.GetFieldToNumber(-1, "byFlag")));
itemElem.SetSerialNumber();
LogItemInfo aLogItem;
aLogItem.Action = "E";
aLogItem.SendName = pUser->GetName();
aLogItem.WorldId = pUser->GetWorld()->GetID();
aLogItem.Gold = aLogItem.Gold2 = pUser->GetGold();
if (pUser->CreateItem(&itemElem))
{
aLogItem.RecvName = "EVENT_LEVELUP_GIFT";
g_DPSrvr.OnLogItem(aLogItem, &itemElem, nItemNum);
}
else
{
g_dpDBClient.SendQueryPostMail(pUser->m_idPlayer, 0, itemElem, 0, "", "");
aLogItem.RecvName = "EVENT_LEVELUP_GIFT_POST";
g_DPSrvr.OnLogItem(aLogItem, &itemElem, nItemNum);
}
pUser->AddDefinedText(TID_GAME_EVENT_LEVELUP_GIFT, "\"%s\"", itemElem.GetName());
m_Lua.Pop(1);
}
}
m_Lua.Pop(0);
}
#endif
EventFunc.lua
Below:
Code:
ITEM = 4
MONSTER = 5
Add:
Code:
LEGEND_CLASS_NORMAL = 0
LEGEND_CLASS_MASTER = 1
LEGEND_CLASS_HERO = 2
LEGEND_CLASS_LEGENDHERO = 3
JOB_VAGRANT = 0
JOB_MERCENARY = 1
JOB_ACROBAT = 2
JOB_ASSIST = 3
JOB_MAGICIAN = 4
JOB_PUPPETEER = 5
JOB_KNIGHT = 6
JOB_BLADE = 7
JOB_JESTER = 8
JOB_RANGER = 9
JOB_RINGMASTER = 10
JOB_BILLPOSTER = 11
JOB_PSYCHIKEEPER = 12
JOB_ELEMENTOR = 13
JOB_GATEKEEPER = 14
JOB_DOPPLER = 15
JOB_KNIGHT_MASTER = 16
JOB_BLADE_MASTER = 17
JOB_JESTER_MASTER = 18
JOB_RANGER_MASTER = 19
JOB_RINGMASTER_MASTER = 20
JOB_BILLPOSTER_MASTER = 21
JOB_PSYCHIKEEPER_MASTER = 22
JOB_ELEMENTOR_MASTER = 23
JOB_KNIGHT_HERO = 24
JOB_BLADE_HERO = 25
JOB_JESTER_HERO = 26
JOB_RANGER_HERO = 27
JOB_RINGMASTER_HERO = 28
JOB_BILLPOSTER_HERO = 29
JOB_PSYCHIKEEPER_HERO = 30
JOB_ELEMENTOR_HERO = 31
JOB_LORDTEMPLER_HERO = 32
JOB_STORMBLADE_HERO = 33
JOB_WINDLURKER_HERO = 34
JOB_CRACKSHOOTER_HERO = 35
JOB_FLORIST_HERO = 36
JOB_FORCEMASTER_HERO = 37
JOB_MENTALIST_HERO = 38
JOB_ELEMENTORLORD_HERO = 39
JOB_MAX = 40
Replace entire function:
With:
Code:
function SetLevelUpGift( nLevel, strAccount, strItemId, nItemNum, byFlag, nLegendClass, nJob )
local nEventId = #tEvent
local nSize = #tEvent[nEventId].Gift
tEvent[nEventId].Gift[nSize+1] = {}
tEvent[nEventId].Gift[nSize+1].nLevel = nLevel
tEvent[nEventId].Gift[nSize+1].strAccount = strAccount
tEvent[nEventId].Gift[nSize+1].strItemId = strItemId
tEvent[nEventId].Gift[nSize+1].nItemNum = nItemNum
tEvent[nEventId].Gift[nSize+1].byFlag = byFlag
tEvent[nEventId].Gift[nSize+1].nLegendClass = nLegendClass
tEvent[nEventId].Gift[nSize+1].nJob = nJob
end
Replace entire function:
With:
Code:
function GetLevelUpGift( nLevel, strAccount, nLegendClass, nJob )
local nCount = 1
local tGiftList = {}
local tList = GetEventList()
for i in pairs(tList) do
local tGift = tEvent[tList[i]].Gift
for j in pairs(tGift) do
local nTemp = string.find( strAccount, tGift[j].strAccount )
if( (tGift[j].strAccount == "all") or (nTemp ~= nil) ) then
if( (tGift[j].nJob == JOB_MAX ) or ( tGift[j].nJob == nJob ) ) then
if( tGift[j].nLevel == nLevel and tGift[j].nLegendClass == nLegendClass ) then
tGiftList[nCount] = {}
tGiftList[nCount].strItemId = tGift[j].strItemId
tGiftList[nCount].nItemNum = tGift[j].nItemNum
tGiftList[nCount].byFlag = tGift[j].byFlag
nCount = nCount + 1
end
end
end
end
end
return tGiftList
end
Event.lua
Replace:
Code:
---- 11. SetLevelUpGift( nLevel, "all", ItemId, nNum, byFlag ) -- 레벨업 선물( nLevel달성시 아이템 지급, "all" 부분에 특정 계정 지정 가능(예. "__bu" - 버디, "__an" - 엔젤 )
With:
Code:
---- 11. SetLevelUpGift( nLevel, "all", ItemId, nNum, byFlag, nLegendClass, nJob ) -- 레벨업 선물( nLevel달성시 아이템 지급, "all" 부분에 특정 계정 지정 가능(예. "__bu" - 버디, "__an" - 엔젤 ), nJob으로 직업지정(JOB_MAX 기입시 모든 직업)
You then are able to do events like this:
Code:
AddEvent( "JOB EVENT TEST" )
--{
SetTime( "2007-06-08 14:23", "2099-06-08 16:11" )
SetLevelUpGift( 60, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_NORMAL, JOB_KNIGHT )
SetLevelUpGift( 80, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_MASTER, JOB_KNIGHT_MASTER )
SetLevelUpGift( 125, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_HERO, JOB_KNIGHT_HERO)
SetLevelUpGift( 140, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 2, LEGEND_CLASS_LEGEND_HERO, JOB_LORDTEMPLER_HERO )
--}
|
i will try thankyou so much! <3
|
|
|
|
Similar Threads
|
Giftbox & Fortune Circle
02/19/2013 - Flyff - 0 Replies
Hey,
Ich wollt ma Fragen wie die Partyskills die Droprate erhöhen also um wv %?
Hooffe ihr könnt helfen.
MFG
|
Verkaufe Silberblume (Oberstleutnantanwärter) <50 Pics inside 9000 ap giftbox wert
03/21/2012 - Wolfteam - 5 Replies
Macht mir Preisvorschläge
Ich will den Account verkaufen da mir Wolfteam keinen Spass mehr macht
habe hier im forum schlechte erfahrungen gemacht deshalb verlinke ich auf facebook (ich gehe davon aus das hier im Forum 80% Scammer sind, frag mich ehrlich gesagt gerade selber warum ich ihn hier anbiete...)
http://s14.directupload.net/images/120320/f3fjatg k.jpg
http://s7.directupload.net/images/120320/temp/gvw srat5.jpg
|
Verkaufe Silberblume (Oberstleutnantanwärter) <50 Pics inside 80 euro giftbox wert
03/21/2012 - elite*gold Trading - 1 Replies
Macht mir Preisvorschläge
Ich will den Account verkaufen da mir Wolfteam keinen Spass mehr macht
habe hier im forum schlechte erfahrungen gemacht deshalb verlinke ich auf facebook (ich gehe davon aus das hier im Forum 80% Scammer sind, frag mich ehrlich gesagt gerade selber warum ich ihn hier anbiete...)
http://s14.directupload.net/images/120320/f3fjatg k.jpg
http://s7.directupload.net/images/120320/temp/gvw srat5.jpg
|
Trashed a giftbox... What would you do?
09/10/2010 - Battle of the Immortals - 8 Replies
Well i trashed the giftbox by mistake.. im around lvl 59 atm.. should i make a new char?
Well the only thing keeping me of making a new char is that i got like 2 ids from people already, meaning profits of bonus etc will come once they hit hight lvls..
The thing is.. is it so important to have the gift box? are the gifts that good at higher lvls?
Share with me your opinion, if having 2 ids is a reason to not make a new char and lvl it back to 59.
PS: sometimes we need an extra...
|
All times are GMT +2. The time now is 08:34.
|
|