Jump to content

Haziel

Content Moderator
  • Posts

    639
  • Joined

  • Last visited

  • Days Won

    88

Community Answers

  1. Haziel's post in How to change prontera flag was marked as the answer   
    The 3D model of that Flag is located under model/ÇÁ·ÐÅ׶ó/ÈÖÀå°¡·Îµî.rsm.
    If you're just looking foward on editing the texture, you can find them file on texture/ÇÁ·ÐÅ׶ó/rponsramp_08.bmp.
  2. Haziel's post in Can't get sprite to work. was marked as the answer   
    Cons_Of_Poison.zip
    There you go.
  3. Haziel's post in Cloth pallette for High Priest not working was marked as the answer   
    Double check if your client isn't diffed with the 'Use Official Cloth Palettes', that might be the issue.
  4. Haziel's post in adding view on custom shield || question was marked as the answer   
    It doesn't work, never had.
    Unfortunately @NeoMind hasn't it fully tested for custom shields at the time and it never got updated.
    It currently can assign old sprites for new IDs, but doesn't let you add new views.
  5. Haziel's post in Inserting values into array was marked as the answer   
    The code looks right, I mean:
    setd ".@item_list" + .@c + "$[" + .@i + "]", getd(".@master_list" + .@c + "$[" + .@i + "]"); Check if the index you're seeking is exactly the same on both cases.
  6. Haziel's post in Weapon refine break rate was marked as the answer   
    As far as I could dig into it, all refine chances on source are read directly from the refine_db.

    This fragment:
    if( sd->class_&JOBL_THIRD ) per += 15; else per += (((signed int)sd->status.job_level)-50)/2; //Updated per the new kro descriptions. [Skotlex] Adds a modifier on top of it depending on the class, +15% in absolute for Third Classes (which probably just means Mechanic) and (Joblevel - 50)/2 for the Black/Whitesmith.
    Blackmisths can't go over Level 50, so, it wouldn't add anything, but Whitesmiths can get, it seems, up to 10% extra. ((70 - 50)/2)
  7. Haziel's post in Change Max Level Experience Tables [Pre-Renewal] was marked as the answer   
    Under import folder you can find exp tables up to level 1000.
  8. Haziel's post in need help debug warning map was marked as the answer   
    It looks like there's a typo in a header on one of your scripts, check your custom script files if none of them have any kind of misinput on its headers.
  9. Haziel's post in how to add custom weapon!!!!! cant find answer in wiki was marked as the answer   
    Two things: First, the viewID must be the same as the ID on your sprite set in weapontable.
    Secondly, there's ID ranges for each kind of weapon.

     
    Weapon Sprite Solution (Renewal Clients <= 2012-04-10a & Main Clients <= 2012-07-10a) For these clients, Weapons are limited to use a range of Item IDs hardcoded in the clientn for each type. For e.g. 1265,Bloody_Roar,Bloody Roar,4,,10,1000,120,,1,0,4096,7,2,34,4,75,1,16,{ bonus bIgnoreDefRace,RC_DemiHuman; bonus bFlee,-160; bonus bFlee2,-160; bonus bNoRegen,1; bonus bNoRegen,2; },{},{} 1266,Test,Test,4,4000,2000,10,165,,1,0,4096,7,2,34,3,33,1,16,{} // 1-Handed Axes 1301,Axe,Axe,4,500,,800,38,,1,3,8803555,7,2,2,1,3,1,6,{} Here the item 1266 is a custom katar and it does show up as a katar (if you have the proper sprite files ofcourse). but if i use some id like say 22000, client wont display it. So what is the range of item ids you can use? Look below: One handed Swords = 1100-1149, 13400-13499 Two handed Swords = 1150-1199, 21000-21999 Knives, Daggers etc = 1200-1249, 13000-13099 Katars = 1250-1299 ; Has 35 free IDs One handed Axes = 1300-1349; Has 43 free IDs Two handed Axes = 1350-1399; Has 32 free IDs One handed Spears = 1400-1449; Has 34 free IDs Two Handed Spears = 1450-1471, 1474-1499 Maces = 1500-1549, 16000-16999 Books = 1550-1599 ; Has only 2 IDs. Knuckles = 1800-1899 ; Has 95 free IDs One Handed Staves/Rods = 1600-1699; Has 79 free IDs Two Handed Staves/Rods = 1472,1473,2000-2099 Bows = 1700-1749, 18100-18499 Guitars = 1900-1949 ; Has 32 free IDs Whips = 1950-1999 ; Has 130 free IDs Handguns = 13100-13149 Other guns = 13150-13199 Ninja weapons = 13300-13399 The number of unused Item IDs left known for a range has also been mentioned above. Best practice to follow check in your range in official db before adding custom weapon. Weapon Sprite Solution (For New Clients) For new clients the view id system is also applicable to client. To add a custom weapon you need to first edit a file called weapontable.lub in your data folder data/luafiles514/lua files/datainfo/weapontable.lub I will be adding Oriental_Sword which will be a 1-Handed sword. Open weapontable.lub. First you will see a table called Weapon_IDs. Take note of the first 30 values in this table - these are the only available Weapon types in the client right now. Anyways go to the last entry which should be for Wizardy Staff = 97. You can use a view id after that like shown below WEAPONTYPE_Oriental_Sword = 98, Come down and you see the next table called WeaponNameTable. Here is where you add your sprite name suffix. What do i mean by that? Its the last part in your weapon sprite & act file. Before it used to be _<Item ID>. data/sprite/<job dependent folder>/<job dependent prefix>_<gender><weapon suffix>.spr OK Back to topic. so I add my entry like shown below. [Weapon_IDs.WEAPONTYPE_Oriental_Sword] = "Oriental" Lastly come down further in weapontable.lub and you see the last table called Expansion_Weapon_IDs. Remember the 30 types i told you to take note of ? here we assign one of those to our custom (like a mapping or connection). Since mine is a 1-Handed Sword I specify it like below. [Weapon_IDs.WEAPONTYPE_Oriental_Sword] = Weapon_IDs.WPCLASS_WEAPONTYPE_SWORD Now for the most important part. For our client to actually pick up all these details we need to provide the view id which we used in Weapon_IDs table as the ClassNum value in ItemInfo.lua. Check the ItemInfo.lub format shown above for details. With this your weapon sprite will become visible while attacking.  
  10. Haziel's post in Copying a map with BrowEdit was marked as the answer   
    That's the infamous Cliping Effect:
     
  11. Haziel's post in Check Equiped Item was marked as the answer   
    Not a sample script, but the command you're looking for:
    *getequipid({<equipment slot>,<char_id>}) This function returns the item ID of the item slot that calls the script on the invoking character or the specified equipment slot. If nothing is equipped there, it returns -1. Valid equipment slots are: EQI_COMPOUND_ON (-1) - Item slot that calls this script (In context of item script) EQI_ACC_L (0) - Accessory 1 EQI_ACC_R (1) - Accessory 2 EQI_SHOES (2) - Footgear (shoes, boots) EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux) EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks) EQI_HEAD_MID (5) - Middle Headgear (masks, glasses) EQI_HEAD_TOP (6) - Upper Headgear EQI_ARMOR (7) - Armor (jackets, robes) EQI_HAND_L (8) - Left hand (weapons, shields) EQI_HAND_R (9) - Right hand (weapons) EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear EQI_COSTUME_GARMENT (13) - Costume Garment EQI_AMMO (14) - Arrow/Ammunition EQI_SHADOW_ARMOR (15) - Shadow Armor EQI_SHADOW_WEAPON (16) - Shadow Weapon EQI_SHADOW_SHIELD (17) - Shadow Shield EQI_SHADOW_SHOES (18) - Shadow Shoes EQI_SHADOW_ACC_R (19) - Shadow Accessory 2 EQI_SHADOW_ACC_L (20) - Shadow Accessory 1 Notice that a few items occupy several equipment slots, and if the character is wearing such an item, 'getequipid' will return its ID number for either slot. Can be used to check if you have something equipped, or if you haven't got something equipped: if (getequipid(EQI_HEAD_TOP) == 2234) mes "What a lovely Tiara you have on"; else mes "Come back when you have a Tiara on"; close; You can also use it to make sure people don't pass a point before removing an item totally from them. Let's say you don't want people to wear Legion Plate armor, but also don't want them to equip if after the check, you would do this: if (getequipid(EQI_ARMOR) == 2341 || getequipid(EQI_ARMOR) == 2342) { mes "You are wearing some Legion Plate Armor, please drop that in your stash before continuing"; close; } // the || is used as an or argument, there is 2341 and 2342 cause there are // two different legion plate armors, one with a slot one without. if (countitem(2341) > 0 || countitem(2432) > 0) { mes "You have some Legion Plate Armor in your inventory, please drop that in your stash before continuing"; close; } mes "I will lets you pass."; close2; warp "place",50,50; end; ---------------------------------------  
  12. Haziel's post in R > Hocus pocus/Abracadabra was marked as the answer   
    The abra_db is pretty straightfoward, it explains really well how it works.
    // Hocus-Pocus (Abracadabra) Castable Skills Database // // Structure of Database: // SkillID,DummyName,ProbabilityPerLvl // // 01. SkillID Skill ID to be casted by hocus pocus. // 02. DummyName Name of the skill (informative, not used by server). // 03. ProbabilityPerLvl Not a rate! Chance at which the skill is selected compared // with other entries probabilties // // NOTE: // - The skill is picked at random from the entire database and then tested for rate. If it // does not succeed at that rate, another skill is picked and tested. This continues // until a skill succeeds. Abracadabra-specific skills have a different chance to occur // depending on skill level used. All other skills have an equal chance and appear from // level 1 onward. // - To remove entry by importing, put "clear" (without quotes) in DummyName In short, it's not set as a percentage, but in 'tiers'.
    For your best luck it is for the best that you pick a skill that appears as much as you wanted 'Class-Change' to be casted and copy its values to it.
    Abracadabra specific skills has different chances by skill level by the way.
  13. Haziel's post in Where is that phrase? was marked as the answer   
    If I recall correctly, that's from eAmod, isn't it?
    If that's true, we have no way to find it, but take a look on pc.c on ondropitem or something like that.
  14. Haziel's post in Custom Card - Problem was marked as the answer   
    GetEquipID(3) refers to Garment Slot.
    Left or Right hand would be 8 or 9 respectively.
  15. Haziel's post in Friend Warper Map restriction was marked as the answer   
    The simplest, to restrict for only one map, is this one:
    getmapxy(@m$,@x,@y,0,rid2name(@aid[@menu])); if (@m$ == "prontera"){ mes "I can't be teleport you to your friend's location!"; close; } warp @m$,@x,@y; Changing Prontera to whichever map you want to avoid teleporting the person to.
  16. Haziel's post in Palette missing other colors 3rd new clothes was marked as the answer   
    Duplicate your current palettes, copy them to ,ö\costume_1 adding _1 at the end of each file name.
  17. Haziel's post in how to properly implement a custom misc item and npc was marked as the answer   
    What's your Client Date? Clients since 2011 ~ 2012ish uses a new method of item listing.
    I guess all info you need can be found here. Look for New Clients.
  18. Haziel's post in GRF Editor - How to properly decrypt? (SOLVED) was marked as the answer   
    Hello.

    I wrote a complete guide on Encrypting using GRF Editor.
    If you read it carefully, you'll notice several errors of conduct on your procedure.
    I encrypt my main grf before and already generate cps.dll.. Not wrong here, but you should test everything before using it in a live server.
    But after that, I decided to decrypt in since I cannot update encrypted grf files via thor patcher.. You can send Encrypted GRFs and Encrypted Files via Thor Patcher using GRF Editor to create the patches, see the Guide above about that.
    So, I decrypt the grf files.. So.. to edit, I no longer need to input my encrypt password and my grf files can updated with thor patcher.. Couldn't understand what you did neither why you did that.
    My problem is, when I delete or rename cps.dll, my client wont run and said cps.dll is missing.. How do I fix it? Any idea? Already check diff with nemo that custom dll is not load.. RO has an official cps.dll, it needs to be used encrypting stuff or not.
    GRF Editor generates a CUSTOM one to be used.

    There's no need to touch cps.dll, even if you're not using Encrypted stuff anymore, unless you've changed the password.
    Get the official cps.dll on any DATA folders releases somewhere in the forum or generate a new one using the same password you used before, also, same .exe name.

    And, to finish the answer, to decrypt a GRF you just need to use the same menu that encrypts it if you know the password.
  19. Haziel's post in Error on Custom Map with Custom Model / Texture was marked as the answer   
    As far as my research comes to, it seems that some clients won't support models with version 5 on their headers.
    Is your map using any of the new models from Prontera, Lasagna or other recent updates in an 2013 client or something?
  20. Haziel's post in how to disable Tomb was marked as the answer   
    You can set this configuration under: conf\battle\monster.conf
    Search for:
    mvp_tomb_enabled: yes That is a well known and numerous-times-answered question.
    Please, do a quick search before posting.
  21. Haziel's post in Thor patcher downloads but doesn't apply patch was marked as the answer   
    Use GRF Editor to create your patches.
    If the problem persists, then, we can see if it's the Thor Patcher's version.
  22. Haziel's post in Cloud and Smoke was marked as the answer   
    The best advice I can give you is, try blending the map light color with fog effects and see if the result goes close to what you want.
  23. Haziel's post in Daily Reward was marked as the answer   
    Line 176, at the end, change the , to a ;
  24. Haziel's post in Something wrong when add custom mobs was marked as the answer   
    Those are NPC IDs. 
    They end at 999 and a new list was started at 10000.

    And even if it was mobs, you're trying 15000, a bit far, isn't?
  25. Haziel's post in [2013 Client] Any way I don't need to use iteminfo.lua for item descriptions? was marked as the answer   
    Once you're using 2013 Clients, neither of the previously used 'idnum2' files are needed anymore.
    For nothing.

    Iteminfo.lua replaces the needs of editing 7 damn files into 1, it replaces idnum2itemdesctable.txt, idnum2itemdisplaynametable.txt, idnum2itemresnametable.txt, num2itemdesctable.txt, num2itemdisplaynametable.txt, num2itemresnametable.txt and itemslotcounttable.txt.
     
    So, why would you want to still use the older way?
    ,
×
×
  • Create New...