Jump to content

Kuroe

Members
  • Content Count

    23
  • Joined

  • Last visited

  • Days Won

    2

Reputation Activity

  1. Like
    Kuroe reacted to 4144 in Some new hercules features   
    Display group (titlte) and icon for mobs, homunculus, npc, mercenaries
    For set icon in some way need get bl_id of npc, mob etc and call function:
     
    Set icon
    setunitdata(GID, UDT_GROUP, ID) Icon files stored in directory data/texture/유저인터페이스/group/group_ID.bmp
    Where GID is bl id of being, ID is icon id.
    Example for npc:
    setunitdata(getnpcid(), UDT_GROUP, 3); It will use this image:
    data/texture/유저인터페이스/group/group_3.bmp  
    Set group
    setunittitle(GID, group_name);
    Where group_name is any name what you want assign to group
    Example for npc:
    setunittitle(getnpcid(), "Hercules");  
    Sample images



     
    Works from versions:
    ragexe from 20180207,
    ragexeRE from 20171129,
    ragexe_zero from 20171130
  2. Like
    Kuroe reacted to Luciar in Item giver for a specific range of account IDs   
    Thanks for trying to help the OP. However, this script isn’t written correctly.
    The OnInit label inherently does not have an attached RID, using detachrid() is pointless.
    You then use a for loop without any defined action: syntax for(index set; condition; increment) { action }
    Note that you are missing the action portion of the for loop.
    The OnPCLoginEvent label inherently DOES have an RID attached (namely, the player that just logged in). There is no need to use attachrid here.
    If you were to fix all of the issues I listed above, your script would distribute the items to all accounts as you have not implemented any check to ensure the account ID is within the specified range described by the OP.
  3. Upvote
    Kuroe got a reaction from AnnieRuru in race_resist   
    Thank you for pointing it out. updated to ver 1.1
  4. Upvote
    Kuroe got a reaction from banhelba2019 in race_resist   
    View File race_resist
    A simple plugin that adds race_resist() into your emulator (Checks race resist of a player).
    //===== Description ========================================== //= Checks how much resistance a character has to a particular // race. // //= race_resist(<type>{, <account id>}); //= E.g. race_resist(RC_Player); //= E.g. race_resist(RC_Player, getcharid(CHAR_ID_ACCOUNT)); Its just actually a rip off plugin from @bWolfie's check_resist() plugin full credits goes to him.
    Submitter Kuroe Submitted 04/11/19 Category Plugins  
  5. Upvote
    Kuroe reacted to AnnieRuru in @market clone   
    1.8 - plugin
    - update to latest revision
  6. Upvote
    Kuroe reacted to 4144 in @market clone   
    Replace charnameack to blname_ack
  7. Upvote
    Kuroe got a reaction from bWolfie in evento Tarot   
    try changing 
    to
    specialeffect(.@CARDs, AREA, playerattached());
  8. Upvote
    Kuroe got a reaction from shakur69 in evento Tarot   
    try changing 
    to
    specialeffect(.@CARDs, AREA, playerattached());
  9. Upvote
    Kuroe reacted to AnnieRuru in Guild Skill Notification   
    https://github.com/AnnieRuru/Release/blob/master/plugins/guild_skill_notification.c

  10. Upvote
    Kuroe reacted to AnnieRuru in fixedaspd mapflag   
    1.2 - plugin
    - update to latest revision
    - add GM level bypass restriction
    - add *setmapflagfixedaspd *removemapflagfixedaspd *getmapflagfixedaspd script command
  11. Upvote
    Kuroe reacted to AnnieRuru in Charms   
    1.3 - plugin
    - update to latest revision
    - add nochams mapflag to deny giving item bonus
     
    I don't really know how to do this, because force serial is like ... giving items in bulk immediately
    getitem 909, 5; ... click on this will give 5 in 1 set, click repeatedly will give multiple sets
    if getitem 909, 9; means have to give 5+4 charms, giving 2 times bonus ?
    because the item stack actually means, giving multiple bonuses ...
     
    EDIT:
    I think I'm starting to get it, its the same as having 30000 MAX_AMOUNT in the inventory (MAX_AMOUNT = defined in mmo.h)
    if player having 35000 amount, it automatically split into 30000 and 5000, giving twice the bonus
    so instead of having MAX_AMOUNT 30000, add another field Charm_Max_Stack to have a maximum stack 5, which can be configurable
  12. Upvote
    Kuroe reacted to AnnieRuru in movespeed mapflag   
    1.2 - plugin
    - update to latest revision
    - add GM level bypass restriction
    - add *setmapflagmovespeed *removemapflagmovespeed *getmapflagmovespeed script command
  13. Upvote
    Kuroe reacted to AnnieRuru in noinvitation mapflag   
    1.1 - plugin
    - update to latest revision
    - add gm_level_bypass
    @evilpuncker
  14. Upvote
    Kuroe reacted to AnnieRuru in noitem plugin   
    1.8 - plugin
    - fix duplicate entry by ShowWarning
    - add missing IT_AMMO item type deny
  15. Upvote
    Kuroe reacted to AnnieRuru in noitem plugin   
    1.6 - plugin
    --- fix server crash on certain compiler
    thanks to @Kuroe for reporting
  16. Upvote
    Kuroe got a reaction from MikZ in Daily random supplies   
    Like this?
    prontera,158,167,3 script Sample 4_M_SIT_NOVICE,{ if (#gotreward + .next_take> gettimetick(2)) { mes "[Random Item Giver]"; mes "Please talk to me after 24 hours."; close; } else { set .random1,rand(getarraysize (.count1)); set .random2,rand(getarraysize (.count2)); set .random3,rand(getarraysize (.count3)); mes "[Random Item Giver]"; mes "Have some of these!"; getitem .item[rand(getarraysize (.item))],.count1[.random1]; getitem .item[rand(getarraysize (.item))],.count2[.random2]; getitem .item[rand(getarraysize (.item))],.count3[.random3]; #gotreward = gettimetick(2); next; close; } OnInit: .next_take = 24*60*60; setarray .item[0],656,657,505,645,506,14510; setarray .count1[0],1,10; setarray .count2[0],5,15; setarray .count3[0],10,20; end; } Edit: 
    Thought it was 1-10 , 5-15 , and 10-20 instead of 1,10 5,15 and 10,20
  17. Upvote
    Kuroe reacted to AnnieRuru in @die delay on hit   
    almost similar to this
     
    #include "common/hercules.h" #include "map/pc.h" #include "map/atcommand.h" #include "common/timer.h" #include "common/memmgr.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "die_delay", SERVER_TYPE_MAP, "x_O", HPM_VERSION, }; ACMD(kill) { if ( DIFF_TICK( timer->gettick(), sd->canlog_tick ) < battle->bc->prevent_logout ) { char msg[CHAT_SIZE_MAX]; safesnprintf( msg, CHAT_SIZE_MAX, "There is a %d seconds delay of using this command to kill the character again", battle->bc->prevent_logout /1000 ); clif->message( fd, msg ); return false; } status_kill( &sd->bl ); clif->message( sd->fd, msg_fd( fd, 13 )); // A pity! You've died. if ( fd != sd->fd ) clif->message( fd, msg_fd( fd, 14 )); // Character killed. return true; } HPExport void plugin_init (void) { addAtcommand( "kill", kill ); } this assume your prevent_logout in your battle_config has default setting
    // Prevent logout of players after being hit for how long (in ms, 0 disables)? prevent_logout: 10000 // When should the server prevent a player from logging out? Have no effect if prevent_logout is disabled. (Note 3) // Official servers prevent players from logging out after attacking, casting skills, and taking damage. // 0 = Players can always logout // 1 = Prevent logout on login // 2 = Prevent logout after attacking // 4 = Prevent logout after casting skill // 8 = Prevent logout after being hit prevent_logout_trigger: 14 prevent_logout_trigger have to at least has 2+8
  18. Upvote
    Kuroe reacted to bWolfie in [Guide] Mapcache Generation 2018   
    As of Release v2018.03.13, the method to generate mapcache for Hercules has changed. A lot of people. myself included, were confused as to how it works. In this thread, I will do my best to explain the new way to generate your cache. This guide is intended to help people using the old system, not to aid new people (i.e. never generated mapcache before), so if you are new, some of it may seem like alien talk.
    Old (your source predates [is older than] Feb 18, 2018)
    In the old system, there were two ways to generate mapcache
    You could run the mapcache executable in Hercules root folder. Or use a program such as WeeMapCache to edit in your required mapcache. These two methods would generate or alter your required mapcache located in db/[pre-re or re]/map_cache.dat. However, they are no longer supported.
    New (your source is using Release v2018.03.13 or newer)
    The new system involves the use of the new 'mapcache' plugin to generate files. Some quick points:
    db/[pre-re or re]/map_cache.dat has been dropped (no longer supported). In its place are individual .mcache files for every map located in maps/[pre-re or re]/ Mapcache executable has been removed. Replaced with the mapcache plugin (src/plugins/mapcache.c). How to generate the mapcache?
    Same as before, check conf/map/maps.conf and db/map_index.txt have all the maps you want to cache. Your maps need to exist somewhere in your repository! There are two ways for the plugin to find them:
    a. Place all your maps, including resnametable.txt, inside the data folder of your Hercules repo. I.e. Hercules/data/prontera.gat/gnd/gnd/rsw (note: I forget if all three files are needed).
    b. OR Configure your conf/grf-files.txt to tell it where to find your GRF(s) which contains your maps. Build the mapcache plugin. On linux, this can be done by running the following command:
    make plugin.mapcache
    If using MSVC, compile as you would any other plugin. Execute plugin. This can be done using the following command:
    ./map-server --load-plugin mapcache [param]
    In windows, just remove the './' and run the commands in your command prompt. The params:
    The first thing you should do is run
    ./map-server --load-plugin mapcache --help
    A list of usable parameters will appear. Here are the ones you need to know for mapcache:
    [Info]:   --convert-old-mapcache         Converts an old db/pre-re/map_cache.dat file to the new format. [Mapcache] [Info]:   --rebuild-mapcache             Rebuilds the entire mapcache folder (maps/pre-re/), using db/map_index.txt as index. [Mapcache] [Info]:   --map <name>                   Rebuilds an individual map's cache into maps/pre-re/ (usage: --map <map_name_without_extension>). [Mapcache] [Info]:   --fix-md5                      Updates the checksum for the files in maps/pre-re/, using db/map_index.txt as index (see PR #1981). [Mapcache] ./map-server --load-plugin mapcache --convert-old-mapcache
    Rebuild all the .mcache files using your old db/[pre-re or re]map_cache.dat file.
    NOTE: You should only run this command when you have an old map_cache.dat file you need to convert.
    ./map-server --load-plugin mapcache --rebuild-mapcache
    Rebuild all the .mcache files using your map files specified in step 2 of generation.
    NOTE: You should only run this command in special circumstances. This erases ALL the existing mapcache and rebuilds it with whatever files you provide it. If you don't have the required files, the build will fail and you will be left with missing mapcache files, meaning you won't be able to access those particular maps.
    ./map-server --load-plugin mapcache --map <name>
    Rebuild the .mcache file for the map name you specify. E.g. if you replace <name> with prontera, the maps/[pre-re or re]/prontera.mcache file will be rebuilt.
    NOTE: This is the best command to run, as it only caches a single map at a time.
    ./map-server --load-plugin mapcache --fix-md5
    I don't know what checksum is for.
    The End
    Feel free to ask for help here. I'll try to answer questions re: mapcache if possible. And if you think anything needs correcting or added, let me know.
    Hope this helps!
  19. Upvote
    Kuroe reacted to 4144 in Auraset   
    in plugin need replace c
    clr_type to
    enum clr_type  
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.