[Guide] Make STRS from Header

Page 1 of 9 123456789 LastLast
Results 1 to 15 of 135
  1. #1
    iam still Noob novanakal is offline
    True MemberRank
    Nov 2009 Join Date
    Jaka, IndonesiaLocation
    1,164Posts

    [Guide] Make STRS from Header

    [Guide] Make STRS from Header
    how to create Structure form header file :

    in case, we want to create Storelist.strs
    open zoneserver.h ( GU Version )

    Find = struct _StoreList_fld

    and we will see like this
    struct _StoreList_fld
    {
    _base_fld baseclass_0;
    char m_strBinding_DummyName[64];
    char m_strStore_NPCcode[64];
    char m_strStore_NPCname[64];
    char m_strStore_MAPcode[64];
    int m_nStore_trade;
    int m_bSet_NPCangle;
    int m_nStore_NPCangle;
    int m_nNpc_Class[10];
    int m_nStore_LISTcount;
    int m_nLimit_Listcount;
    int m_nLimitItem_InitTime;
    int m_nPriceSet;
    int m_nItemUpCode;
    char m_strItemlist[200][64];
    sell_info m_sellLimitList[16];
    };


    if you have an open struct _StoreList_fld, maen is Storelist.dat from Zoneserver/RF_Bin/Script/

    Ok, lets begin "How to make STRS"



    1. Create new Document with .strs extention file like Storelist.strs

    now, Open Storelist.strs with notepad.
    and we make string file for strs to Storelist.dat

    [filemask="StoreList.dat"]
    struct StorelistFile
    {
    u32 StorelistBlocks;
    u32 StorelistColumns;
    u32 StorelistBlockSize;
    Child Storelist [count=StorelistBlocks];
    }



    2. oke next,..
    see struct _StoreList_fld again,..
    look at _base_fld baseclass_0;
    and find struct _base_fld in zoneserver header.

    struct _base_fld
    {
    unsigned int m_dwIndex;
    char m_strCode[64];
    };
    its mean
    unsigned int = u32 m_dwIndex;
    char m_strCode[64] = cstr[len=64] m_strCode;

    now you have 2 line for your strs file and input that to your strs document like this

    [filemask="StoreList.dat"]
    struct StorelistFile
    {
    u32 StorelistBlocks;
    u32 StorelistColumns;
    u32 StorelistBlockSize;
    Child Storelist [count=StorelistBlocks];
    }

    struct Storelist [preload=1]
    {
    u32 m_dwIndex;
    cstr[len=64] m_strCode;



    3. after that, you can add more line to strs document
    char m_strBinding_DummyName[64];
    char m_strStore_NPCcode[64];
    char m_strStore_NPCname[64];
    char m_strStore_MAPcode[64];
    int m_nStore_trade;
    int m_bSet_NPCangle;
    int m_nStore_NPCangle;
    int m_nNpc_Class[10];
    int m_nStore_LISTcount;
    int m_nLimit_Listcount;
    int m_nLimitItem_InitTime;
    int m_nPriceSet;
    int m_nItemUpCode;
    char m_strItemlist[200][64];
    sell_info m_sellLimitList[16];

    just follow the line in header file

    [filemask="StoreList.dat"]
    struct StorelistFile
    {
    u32 StorelistBlocks;
    u32 StorelistColumns;
    u32 StorelistBlockSize;
    Child Storelist [count=StorelistBlocks];
    }

    struct Storelist [preload=1]
    {
    u32 m_dwIndex;
    cstr[len=64] m_strCode;
    cstr[len=64]m_strBinding_DummyName;
    cstr [len=64] m_strStore_NPCcode;
    cstr [len=64] m_strStore_NPCname;
    cstr [len=64] m_strStore_MAPcode;
    i32 m_nStore_trade;
    i32 m_bSet_NPCangle;
    i32 m_nStore_NPCangle;

    repeat 10
    { i32 m_nNpc_Class; }

    i32 m_nStore_LISTcount;
    i32 m_nLimit_Listcount;
    i32 m_nLimitItem_InitTime;
    i32 m_nPriceSet;
    i32 m_nItemUpCode;

    repeat 200
    { cstr[len=64] m_strItemlist; }


    4. and now we have 1 line again to input your strs document
    sell_info m_sellLimitList[16];

    you can find struct sell_info in your header,
    and you'll see like this
    struct sell_info
    {
    char m_strItemCode[64];
    int m_nMaxCount;
    };

    now, put that line to your strs
    [filemask="StoreList.dat"]
    struct StorelistFile
    {
    u32 StorelistBlocks;
    u32 StorelistColumns;
    u32 StorelistBlockSize;
    Child Storelist [count=StorelistBlocks];
    }

    struct Storelist [preload=1]
    {
    u32 m_dwIndex;
    cstr[len=64] m_strCode;
    cstr[len=64]m_strBinding_DummyName;
    cstr [len=64] m_strStore_NPCcode;
    cstr [len=64] m_strStore_NPCname;
    cstr [len=64] m_strStore_MAPcode;
    i32 m_nStore_trade;
    i32 m_bSet_NPCangle;
    i32 m_nStore_NPCangle;

    repeat 10
    { i32 m_nNpc_Class; }

    i32 m_nStore_LISTcount;
    i32 m_nLimit_Listcount;
    i32 m_nLimitItem_InitTime;
    i32 m_nPriceSet;
    i32 m_nItemUpCode;

    repeat 200
    { cstr[len=64] m_strItemlist; }

    repeat 16
    {
    cstr[len=64] m_strItemCode;
    i32 m_nMaxCount;
    }

    }

    You have finish your strs file..
    now you can use it with DATEDITOR for open your Storelist.dat

    here i attach 3 header from 2.1.5, 2.1.6, 2.2.3 and GU
    ZoneServerGiga4.7z
    ZoneServer_215.rar
    ZoneServer_216.rar
    Zoneserver_221
    ZoneServer_223.rar
    ZoneServer-GU.rar
    RF Online v2.3 | Caravans Time and Space Version
    RF Online v4.5 | Age of Patron Version



    Header Line for Structure file

    Header Structure Folder File Structure
    _monster_sp_fld Script/ MonsterCharacterAI.dat
    _skill_fld Script/ Skill.dat
    ClassSkill.dat
    PotionItemEffect.dat
    BulletItemEffect.dat
    _force_fld Script/ Force.dat
    _portal_fld Script/
    Map/
    [NameMap]-portal.dat
    [NameMap]-[portal].dat
    _PotionItem_fld Script/ PotionItem.dat
    _monster_fld Script/ MonsterCharacter.dat
    _class_fld Script/ Class.dat


    _animus_fld



    Script/
    HecateCharacter.dat
    HecateCharacter_S.dat
    InannaCharacter.dat
    InannaCharacter_S.dat
    IsisCharacter.dat
    IsisCharacter_S.dat
    PaimonCharacter.dat
    PaimonCharacter_S.dat
    _CheckPotion_fld Script/ CheckPotionEffect.dat
    _ItemLooting_fld Script/ ItemLooting.dat
    _PcRoom_fld Script/ PcRoom.dat
    _Quest_fld Script/ Quest.dat
    HolyStoneKeepperQuest.dat
    _SetItemEff_fld Script/ SetItemEff.dat
    _UnitKeyItem_fld Script/ UnitKeyItem.dat
    _AnimusItem_fld Script/ AnimusItem.dat
    _CashShop_fld Script/ CashShop.dat
    _WeaponItem_fld Script/ WeaponItem.dat
    _TimeItem_fld Script/ TimerItem.dat
    _npc_fld Script/ NpCharacter.dat
    _TrapItem_fld Script/ TrapItem.dat
    _StoreList_fld Script/ StoreList.dat
    _NameTxt_fld Script/ _str.dat
    _CashShop_str_fld Script/ CashShop_str.dat



    _QuestHappenEvent_fld




    Script/
    QuestDummyEvent.dat
    QuestGainItemEvent.dat
    QuestGradeEvent.dat
    QuestKillOtherRaceEvent.dat
    QuestLvLimitEvent.dat
    QuestLvUpEvent.dat
    QuestMasteryEvent.dat
    QuestNPCEvent.dat
    QuestPromoteEvent.dat
    _mobmsg_fld Script/ MobMessage_str.dat
    _ItemCombine_exp_fld Script/ CombineTable.dat
    CombineTable2.dat
    _ItemExchange_fld Script/ BoxItemOut.dat
    _ResourceItem_fld Script/ ResourceItem.dat
    _BulletItem_fld Script/ BulletItem.dat


    _UnitPart_fld


    Script/
    UnitArms.dat
    UnitBack.dat
    UnitHead.dat
    UnitLower.dat
    UnitShoulder.dat
    UnitUpper.dat
    _UnitBullet_fld Script/ UnitBullet.dat
    _ItemUpgrade_fld Script/ ItemUpgrade.dat
    _RadarItem_fld Script/ RadarItem.dat
    _GuardTowerItem_fld Script/ GuardTowerItem.dat
    _player_fld Script/ PlayerCharacter.dat
    _OreCutting_fld Script/ OreCutting.dat
    _OreItem_fld Script/ OreItem.dat
    _WorldSchedule_fld Script/ Schedule.dat
    _TicketItem_fld Script/ TicketItem.dat
    _CouponItem_fld Script/ CouponItem.dat
    _UNmannedminer_fld Script/ UNmannedminer.dat
    _BatteryItem_fld Script/ BatteryItem.dat
    _LinkItem_Result_fld Script/ LinkedResult.dat
    _LinkItem_Stuff_fld Script/ LinkedStuff.dat
    _BattleDungeonItem_fld Script/ BattleDungeonItem.dat
    _MakeToolItem_fld Script/ MakeToolItem.dat

    _DfnEquipItem_fld


    Script/
    GauntletItem.dat
    HelmetItem.dat
    LowerItem.dat
    ShieldItem.dat
    ShoeItem.dat
    UpperItem.dat
    _BagItem_fld Script/ BagItem.dat
    _CloakItem_fld Script/ CloakItem.dat
    _RingItem_fld Script/ RingItem.dat
    _AmuletItem_fld Script/ AmuletItem.dat
    _ForceItem_fld Script/ ForceItem.dat
    _BootyItem_fld Script/ BootyItem.dat
    _MapItem_fld Script/ MapItem.dat
    _TOWNItem_fld Script/ TownItem.dat
    _SiegeKitItem_fld Script/ SiegeKitItem.dat
    _EventItem_fld Script/ EventItem.dat
    _RecoveryItem_fld Script/ RecoveryItem.dat
    _BoxItem_fld Script/ BoxItem.dat
    _FIRECRACKER_fld Script/ FIRECRACKER.dat
    _NPCLink_fld Script/ NpcLinkItem.dat
    _UnitFrame_fld Script/ UnitFrame.dat
    _ItemMakeData_fld Script/ ItemMakeData.dat
    _EditData_fld Script/ EditData.dat
    _ItemCombine_fld Script/ ItemCombine.dat
    _exp_fld Script/ Exp.dat
    _grade_fld Script/ Grade.dat

    _MasteryLimit_fld

    Script/
    RangerMasteryLimit.dat
    SpecialistMasteryLimit.dat
    SpiritualistMasteryLimit.dat
    WarriorMasteryLimit.dat
    _mon_active_fld Map/ <MonsterFiles>.dat
    _mon_block_fld Map/ <MapBlockFile>-[block].dat


    Hope this Tutorial, can be use it for everyone.
    Last edited by novanakal; 10-11-17 at 01:29 PM.
    KEBANYAKAN OPINI LU - - - KONTOL


  2. #2
    Member Xcct is offline
    MemberRank
    Jan 2011 Join Date
    58Posts

    Re: [Guide] Make STRS from Header

    i'm kinda new at this but it looks interessting.

    Questions:
    int = i32
    string = cstr [len=XX] (XX=64 the most time)
    float = ?

    if i load some strs there is an Type=message Name=Unknown Value=Error loading
    what does it mean did i something wrong?



    i got error line 11 character 1 { wrong token
    Edit: Solved with baItemBlock [preload=1]

    PHP Code:
    [filemask="bagItem.dat"]
    struct StorelistFile
    {
    u32 bagItemBlocks;
    u32 bagItemColumns;
    u32 bagItemBlockSize;
    Child bagItem [count=bagItemBlocks];
    }

    struct baItemBlock [preload=1]
    {
    u32 m_dwIndex;
    cstr[len=64m_strCode;
    i32 m_bExist;
    cstr [len=64m_strModel;
    i32 m_nIconIDX;
    cstr [len=64m_strName;
    i32 m_nKindClt;
    i32 m_nFixPart;
    cstr [len=64m_strCivil;
    i32 m_nMoney
    i32 m_nStdPrice;
    i32 m_nStdPoint;
    i32 m_nGoldPoint;
    i32 m_nKillPoint;
    i32 m_nProcPoint;
    i32 m_nStoragePrice;
    i32 m_bSell;
    i32 m_bExchange;
    i32 m_bGround;
    i32 m_bStoragePossible;
    i32 m_bUseableNormalAcc;
    cstr [len=64m_strTooltipIndex;
    i32 m_bIsTime;

    Last edited by Xcct; 13-12-11 at 02:23 AM.

  3. #3
    iam still Noob novanakal is offline
    True MemberRank
    Nov 2009 Join Date
    Jaka, IndonesiaLocation
    1,164Posts

    Re: [Guide] Make STRS from Header

    i have say before i make the tutorial

    in case, we want to create Storelist.strs
    open zoneserver.h ( GU Version )
    Quote Originally Posted by Xcct View Post


    int = i32
    string = cstr [len=XX] (XX=64 the most time)
    float = ?

    float is float
    double is double
    unsigned int is u32
    int is i32

    please, dont edit your post..

    just use quote and replay my post
    KEBANYAKAN OPINI LU - - - KONTOL

  4. #4
    Member Xcct is offline
    MemberRank
    Jan 2011 Join Date
    58Posts

    Re: [Guide] Make STRS from Header

    well i just wont to spam thats why i edit my post.
    thanks for the informations now i just need to know how i can solve this problem:

    if i load some strs there is an Type=message Name=Unknown Value=Error loading
    and btw the resault of your guide don't work for me i still get error if i try it with structorian.

    error:
    error line 11 character 1 { wrong token
    i could solve this problem on a other .dat but not on StoreList

    please tell me if it is right. that i know that i understand the syntex. thanks

    ItemMakeData:

    struct _ItemMakeData_fld::_output_list
    {
    char m_itmPdOutput[8];
    unsigned int m_dwPdProp;
    };

    struct _ItemMakeData_fld
    {
    _base_fld baseclass_0;
    int m_nMakeMastery;
    char m_strCivil[64];
    _ItemMakeData_fld::_material_list m_listMaterial[5];
    _ItemMakeData_fld::_output_list m_listOutput[30];
    };

    resault:

    [filemask="ItemMakeData.dat"]
    struct ItemMakeDataFile
    {
    u32 ItemMakeDataBlocks;
    u32 ItemMakeDataColumns;
    u32 ItemMakeDataBlockSize;
    Child ItemMakeData [count=ItemMakeDataBlocks];
    }

    struct ItemMakeDataBlock [preload=1]
    {
    u32 m_dwIndex;
    cstr[len=64] m_strCode;
    i32 m_nMakeMastery;
    cstr[len=64] m_strCivil;

    repeat 5
    {
    repeat 8
    {
    cstr[len=64] m_itmPdMat;
    }
    i32 m_nPdMatNum;
    }

    repeat 30
    {
    repeat 8
    {
    cstr[len=64] m_itmPdOutput;
    }
    u32 m_dwPdProp;
    }
    }

  5. #5
    iam still Noob novanakal is offline
    True MemberRank
    Nov 2009 Join Date
    Jaka, IndonesiaLocation
    1,164Posts

    Re: [Guide] Make STRS from Header

    You Wrong at

    _ItemMakeData_fld::_material_list m_listMaterial[5];
    _ItemMakeData_fld::_output_list m_listOutput[30];
    just make like this

    repeat 5
    {
    cstr [len=8] m_itmPdMat;
    i32 m_nPdMatNum;
    }

    repeat 30
    {
    cstr [len=8] m_itmPdOutput;
    u32 m_dwPdProp;
    }
    KEBANYAKAN OPINI LU - - - KONTOL

  6. #6
    Account Inactive msd18 is offline
    InactiveRank
    Jul 2009 Join Date
    273Posts

    Re: [Guide] Make STRS from Header

    nova ur storelist.strs is incorrect

    here is the fixed version


    Code:
    [filemask="StoreList.dat"]
    struct StorelistFile
    {
    u32 StorelistBlocks;
    u32 StorelistColumns;
    u32 StorelistBlockSize;
    Child Storelist [count=StorelistBlocks];
    }
    
    struct Storelist [preload=1]
    {
    
    u32 m_dwIndex;
    cstr[len=64] m_strCode;
    cstr[len=64] m_strBinding_DummyName;
    cstr [len=64] m_strStore_NPCcode;
    cstr [len=64] m_strStore_NPCname;
    cstr [len=64] m_strStore_MAPcode;
    i32 m_nStore_trade;
    i32 m_bSet_NPCangle;
    i32 m_nStore_NPCangle;
    
    repeat 10
    { i32 m_nNpc_Class; }
    
    i32 m_nStore_LISTcount;
    i32 m_nLimit_Listcount;
    i32 m_nLimitItem_InitTime;
    i32 m_nPriceSet;
    i32 m_nItemUpCode;
    
    repeat 200
    { cstr[len=64] m_strItemlist; }
    
    repeat 16
    { 
    cstr[len=64] m_strItemCode;
    i32 m_nMaxCount;
    }
    
    }

  7. #7
    iam still Noob novanakal is offline
    True MemberRank
    Nov 2009 Join Date
    Jaka, IndonesiaLocation
    1,164Posts

    Re: [Guide] Make STRS from Header

    Sorry my bad..
    iam lost "INT" Character

    thx for your improvements
    KEBANYAKAN OPINI LU - - - KONTOL

  8. #8
    Account Inactive evillcreed1212 is offline
    InactiveRank
    Nov 2011 Join Date
    7Posts

    Re: [Guide] Make STRS from Header

    how about Client STRS? can anyone release rf_online.bin that already generated?

  9. #9
    iam still Noob novanakal is offline
    True MemberRank
    Nov 2009 Join Date
    Jaka, IndonesiaLocation
    1,164Posts

    Re: [Guide] Make STRS from Header

    you must improvement to find header from bin file.
    KEBANYAKAN OPINI LU - - - KONTOL

  10. #10
    Account Inactive msd18 is offline
    InactiveRank
    Jul 2009 Join Date
    273Posts

    Re: [Guide] Make STRS from Header

    nova do u have any client side strs? and if not does anyone here have them or at least a header file from the client

  11. #11
    Account Inactive msd18 is offline
    InactiveRank
    Jul 2009 Join Date
    273Posts

    Re: [Guide] Make STRS from Header

    for those wondering the client side header isnt in the bin file its in one of the dlls but im not gonnna say which one u have to figure that one out :)

  12. #12
    Ultimate Member VivienX is offline
    MemberRank
    Aug 2011 Join Date
    SlovakiaLocation
    172Posts

    Re: [Guide] Make STRS from Header

    how about this
    {
    _base_fld baseclass_0;
    int m_nRaceCode;
    int m_nClass;
    int m_nIconIDX;
    int m_nGrade;
    int m_nUpGradeLv;
    char m_strCh_Class[8][64];
    char m_strTemp[64];
    char m_strKorName[64];
    char m_strEngName[64];
    int m_nConLim;
    char m_strLinkClassSkill[10][64];
    int m_bUnitUsable;
    int m_bAnimusUsable;
    int m_bLauncherUsable;
    int m_bWMKToolUsable;
    int m_bDMKToolUnitUsable;
    int m_bBMKToolUnitUsable;
    int m_nMakeTrapMaxNum;
    int m_nBnsForHP;
    int m_nBnsForFP;
    int m_nBnsForSP;
    int m_nUpValueDefMastery;
    _mastery_lim_data m_MasteryLim;
    int m_bSelectRewardItem;
    _class_fld::_bns_item m_DefaultItem[9];
    };
    ? please ...i can ┬┤t make work class.strs for 2.1.6 :/
    Last edited by VivienX; 19-12-11 at 06:58 PM.

  13. #13
    Account Inactive msd18 is offline
    InactiveRank
    Jul 2009 Join Date
    273Posts

    Re: [Guide] Make STRS from Header

    is that from the 216 zone header?

  14. #14
    Ultimate Member VivienX is offline
    MemberRank
    Aug 2011 Join Date
    SlovakiaLocation
    172Posts

    Re: [Guide] Make STRS from Header

    yeah ... ZoneServer_216

  15. #15
    Account Inactive msd18 is offline
    InactiveRank
    Jul 2009 Join Date
    273Posts

    Re: [Guide] Make STRS from Header

    ok ill fix it for u



Page 1 of 9 123456789 LastLast

Advertisement