Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


mkhzaleh last won the day on August 19

mkhzaleh had the most liked content!

Recent Profile Visitors

609 profile views

mkhzaleh's Achievements

Rum lover

Rum lover (3/13)

  • First Post
  • Collaborator Rare
  • One Year In
  • Dedicated
  • Great Content Rare

Recent Badges



  1. not developer and want write top from scratch that's mean you should be rich enough to hire people to do that, but if not dev, and not rich then you are searching in wrong place better improve your python maybe o.o or learn c# if want to move that to unity . or c++ for unreal
  2. yea i would suggest to run it once inside "initial.lua"
  3. just to make this topic more helpful for newbie's , : add this function to your function.lua or anywhere function IsPlayerLocked(character) ------- small check for all kind of locks ingame if KitbagLock(character, 1) == LUA_TRUE or GetChaStateLv(character, STATE_BAT) >= 1 or GetChaStateLv(character, STATE_JY) >= 1 then return true else return false end ------ end then you write the function itself function ChestX(Player, Item) local ItemID = GetItemID(Item) local SlotsNeeds = 3 local LevelCheck = true local LevelNeeds = 50 local OpenInXmap = true local quality = 4 --disable for boats if ChaIsBoat(Player) == 1 then SystemNotice(Player, GetItemName(ItemID).." is only usable for players not in a boat.") UseItemFailed(Player) return end --check if inventory loked if IsPlayerLocked(Player) then PopupNotice(Player, "Your bag is locked!") UseItemFailed(Player) return end --if has free slots if GetChaFreeBagGridNum(Player) < SlotsNeeds then SystemNotice(Player, "You need at least "..SlotsNeeds.." free inventory slot to open ["..GetItemName(GetItemID(Item)).."].") UseItemFailed(Player) return end --if we check levels if LevelCheck then if GetChaAttr(Player, ATTR_LV) < LevelNeeds then BickerNotice(Player, GetItemName(ItemID).." is only usable for players below level "..LevelNeeds..".") UseItemFailed(Player) return end end --if we open this chest inside x maps only if OpenInXmap then local mapName = GetChaMapName(Player) local maps = {} maps["garner2"] = true if maps[mapName] == nil then SystemNotice(Player ,"Cannot be used in "..mapName..) UseItemFailed ( Player ) return end end --give the item --to give it to temp bag use --GiveItemX(Player, 0, item_id, qty, quality ) --or use giveitem to inventory --GiveItem(Player, 0, item_id, qty, quality ) --if want give gem with level use like --GiveItem(Player,0,gemid,1,GemLv+100) --give new gem GiveItem(Player, 0, 102, 1, quality ) GiveItemX(Player, 0, 500, 1, quality ) GiveItem(Player, 0, 860, 1, 102 ) --gem --give random items from x table math.randomseed(os.time()) local RandomItems = {6910,6911,6912,6913,6914} GiveItem(Player, 0, RandomItems[math.random(1,#RandomItems)], 1, quality ) end and that's it
  4. your side, well you still can improve on your code, for example, add auto copy after create the function, or add copy button more options to generate ref gems inside that chest , if we are talking about "newbies "
  5. that's normal you should edit your Creat_Item_Tattr(item_type,item_lv , item_event) local quality = SetItemQua ( item_event ) -----------gemes lv3+ if item_event == 101 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 10 ) --��ʯ return end if item_event == 102 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 20 ) --��ʯ return end if item_event == 101 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 10 ) --��ʯ return end if item_event == 102 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 20 ) --��ʯ return end if item_event == 103 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 30 ) --��ʯ return end if item_event == 104 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 40 ) --��ʯ return end if item_event == 105 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 50 ) --��ʯ return end if item_event == 106 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 60 ) --��ʯ return end if item_event == 107 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 70 ) --��ʯ return end if item_event == 108 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 80 ) --��ʯ return end if item_event == 109 then Add_Item_Attr ( ITEMATTR_VAL_BaoshiLV , 90 ) --��ʯ return end ---------------
  6. SPECIALSKILL = {} SPECIALSKILL[10]=0 SPECIALSKILL[11]=0 SPECIALSKILL[12]=0 SPECIALSKILL[13]=0 SPECIALSKILL[14]=0 SPECIALSKILL[15]=0 SPECIALSKILL[16]=0 SPECIALSKILL[17]=0 SPECIALSKILL[18]=0 SPECIALSKILL[19]=0 this suppose to be inside ctrl.lua hell3 in your case seems not exist as it already nil
  7. well i know that, and trying to understand why people would bother develop such a thing ,as it not healthy
  8. people vs bots and you make it legal /? what the point of that? making all top spots full of fake empty bots so real new comer can't farm anymore lol?
  9. i will write this in english so some people can use it first in such a code you will face 2 problems in general as it above server will take your cash and do not extract anything if one of slots had empy socket so to solve such a problem you should do like this --inside can_getstone_item_main( Table ) --below if Item_Stone[0]==0 and Item_Stone[1]==0 and Item_Stone[2]==0 then SystemNotice( role ,"Equipment is not forged with gem") return 0 end --add : if (ItemID_otheritem ~= 1020 and ItemID_otheritem ~= 15109 and ItemID_otheritem ~= 15110) then SystemNotice( role ,"Please use Blacksmith's Pliers") return 0 end if (ItemID_otheritem == 15109 and Item_Stone[1]==0 ) then SystemNotice( role ,"Equipment second socket not forged with gem ") return 0 elseif (ItemID_otheritem == 15110 and Item_Stone[2]==0 ) then SystemNotice( role ,"Equipment Third socket not forged with gem ") return 0 end --note change ids to your ids *second issue you may face if you want to make normal blacksmith to extract all slots not only slot one *Third issue you will have small dupe if you have stack gems slots same as co files etc how ever this small fix for these issues >find in attachment extract gems per slot code.lua
  10. that's mean you didn't built util project or audio or you don't have included in correct path for commons
  11. rebuild your common files as release
  12. hello! as the title says is there is any c++ assist to check if wpe already attached to game process ? i know there is few from windows for anti debugging the game included in windows header but how about wpe?
  13. hello there! this small optimizing for _evtGameOptionFormMouseDown normal code will run every functions in the list even if its same previous value example: so what we do small optimize to call changed values in system options only " this helpful if you are using hide effects/apps etc" the modification: open UISystemForm.cpp and search for : void CSystemMgr::_evtGameOptionFormMouseDown(CCompent* pSender, int nMsgType, int x, int y, DWORD dwKey) for example we change it to now repeat same steps for the rest options pGroup = g_stUISystem.cbxHelpMode; if (pGroup) { bool bHelpMode = pGroup->GetActiveIndex() == 1 ? true : false; if (g_stUISystem.m_sysProp.m_gameOption.bHelpMode != bHelpMode) { g_stUISystem.m_sysProp.m_gameOption.bHelpMode = bHelpMode; if (!bHelpMode) g_stUIStart.ShowLevelUpHelpButton(bHelpMode); g_stUIStart.ShowInfoCenterButton(bHelpMode); ::WritePrivateProfileString("gameOption", "helpMode", bHelpMode ? "1" : "0", "./user/system.ini"); } }
  14. Hello there! as all you know all top client has this bug exist you edit music volume >close client> reopen music still playing as max volume until open/apply music edits again so this small fix for that! open: PacketCMD_CS.CPP on header add : #include "UIsystemform.h" :search for: void CS_BeginPlay(const char *cha) add inside it : g_stUISystem.m_sysProp.ApplyAudio(); done: rebuild . :if you have some cool ideas to make for top type them here! some of codes been done lately :

Board Life Status

Board startup date: May 27, 2020 20:35:04



    You don't have permission to chat.
    • Create New...