Jump to content

pan

Community Contributors
  • Content Count

    355
  • Joined

  • Last visited

  • Days Won

    13

Reputation Activity

  1. Upvote
    pan got a reaction from kyeme in Additional settings in guild.conf   
    Should no objections or other points come forward within the next week I'll commit this change to our main repository.
  2. Upvote
    pan got a reaction from kyeme in Additional settings in guild.conf   
    That's a good idea, and it wouldn't be difficult to implement either. I've changed the names of those config options.
    Open src/map/battle.c and find:
    { "case_sensitive_aegisnames", &battle_config.case_sensitive_aegisnames, 1, 0, 1, },Add below:{ "guild_castle_invite", &battle_config.guild_castle_invite, 0, 0, 1, },{ "guild_castle_expulsion", &battle_config.guild_castle_expulsion, 0, 0, 1, },Open src/map/battle.h and find:int case_sensitive_aegisnames;Add below: int guild_castle_invite; int guild_castle_expulsion;Finally open src/map/guild.c and find (@guild_invite): if( tsd->status.guild_id > 0 || tsd->guild_invite > 0 || ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle)Replace it with: if( tsd->status.guild_id > 0 || tsd->guild_invite > 0 || ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle && !battle_config.guild_castle_invite)Find (@guild_leave): if( sd->status.account_id != account_id || sd->status.char_id != char_id || sd->status.guild_id != guild_id || ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle)Replace it with: if( sd->status.account_id != account_id || sd->status.char_id != char_id || sd->status.guild_id != guild_id // Can't leave inside castles || ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle && !battle_config.guild_castle_expulsion)Find (@guild_expulsion): if ((tsd = map->id2sd(account_id)) && tsd->status.char_id == char_id && ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle)Replace it with: if ((tsd = map->id2sd(account_id)) && tsd->status.char_id == char_id && ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle && !battle_config.guild_castle_expulsion)In your conf/battle/guild.conf add:// Can guild members invite/expel members inside guild castles in WoE/GvG? (Note 1)// default noguild_castle_invite: noguild_castle_expulsion: no
  3. Upvote
    pan got a reaction from JulioCF in Erros em upgrades tabelas sql   
    Bom, agora já deve poder ser utilizada, obrigado por ter reportado.
    https://github.com/HerculesWS/Hercules/commit/53c0e46ed711755a5c3a06bad4263a80089b3b2f
    Ah, e normalmente não há necessidade de utilizar esse converter, pois nossas tabelas são por padrão MyISAM.
     
     
    Att.
  4. Upvote
    pan reacted to Haru in Scripting Standards   
    Before deciding on the line length (I'm personally for 80, but I'm still fine with 120), I think we should check if limiting it to 80 would cause issues with some scripts (too many indentation levels, or too many NPC headers too wide to fit, since those can't be split into multiple lines, and need to be an exception to the line-length rule, and would cause horizontal scrolling regardless)
  5. Upvote
    pan reacted to KeyWorld in Web Grf Viewer   
    GRF Viewer
     


     
     
    Hi there !
     
    If you remember, in the past I released a buggy web grf viewer.
    It was slow, didn't work with big GRF because of memory issue, can't decode DES encryption, now time to present its new version.
     
    Basically this web tool allow you to select your own GRFs and display their contents directly in the browser. Nothing to download.
    As its name suggest, it can't write into the GRF, there are currently no API available (for security reason) to have write access to the user computer, so the only point of this tool is to display its content and search on it. There are no way to repack, add or modify files. Just view and extract files.
     
    This tool is built using only javascript, html5 and webgl, it is in my point of view a demonstration of what can be done in the web today with new technologies.
    It can view as thumbnail some sort of files : bmp, gif, jpeg, tga, spr, pal, and some tools are included to render models and maps or listening audio files.
     
    Two possibilities at the start up :
    Select a GRF (click on "select files", or drag drop your grfs in the box).
    Note: once the page quit or reloading you have to re-select the files, the browser do not remember them. Click on the data folder, in this case, it will show resources from my remote client.

     
    This tool is an application from roBrowser, it's using roBrowser's core. So if you ever find a bug, I'll be really happy to fix it !
     
    Note: it's possible the viewer stop rendering a directory content because it encounter a corrupted file in the GRF (wrong gzip encryption, or invalid file offset) or the file is encrypted.
     
    You can test this tool online here: http://www.robrowser.com/prototype/GRF-Viewer/
     
    Some preview:
     











     
    All feedback are welcome.
    Have fun~
  6. Upvote
    pan reacted to Haru in Hercules WPE Free - June 14th Patch   
    what keys do I have to put in? 
    If you don't want to make them up, you can use the keys from any working client (you can find them in src/map/packets.h). Refer to the list posted by KeyWorld to know which ones can be safely used.
     
    Do I have to make up those keys?
     
    Possibly not. Generate your own keys only if (1) you know exactly how the algorithm works; (2) you are not Gravity; (3) you know how to generate strong keys.
    I do not have any recommendations, as I don't have an algorithm to generate strong keys. I'm only able to recognize some classes of weak keys, but some keys I consider strong, may have other weaknesses. Just use keys from other client versions, since both I and KeyWorld have tested them with over 10 million iterations.
     
    Do I have to use three different ones?
     
    This is not strictly necessary.
  7. Upvote
    pan reacted to KeyWorld in Hercules WPE Free - June 14th Patch   
    If guys search for a "not broken" client, check the list behind (each encryption tested 10 000 000 times), seems like Gravity doesn't even take time to find correct keys :
     
    20110817 - PASSED 20110824 - FAILED x32 20110831 - PASSED 20110906 - PASSED 20111005 - FAILED x29 20111012 - FAILED x32 20111021 - PASSED 20111025 - PASSED 20111102 - FAILED x31 20111109 - FAILED x16 20111122 - FAILED x16 20111207 - FAILED x31 20111214 - FAILED x32 20111220 - FAILED x16 20111228 - FAILED x7 20120104 - PASSED 20120111 - PASSED 20120120 - PASSED 20120202 - PASSED 20120207 - PASSED 20120214 - FAILED x31 20120229 - PASSED 20120307 - FAILED x31 20120314 - PASSED 20120321 - PASSED 20120328 - FAILED x32 20120404 - PASSED 20120410 - FAILED x32 20120418 - FAILED x15 20120424 - FAILED x11 20120509 - PASSED 20120515 - PASSED 20120525 - FAILED x16 20120605 - PASSED 20120612 - FAILED x14 20120618 - PASSED 20120702 - PASSED 20120716 - PASSED 20130320 - FAILED x32 20130514 - PASSED 20130522 - PASSED 20130529 - FAILED x30 20130605 - PASSED 20130612 - PASSED 20130618 - PASSED 20130626 - FAILED x11 20130703 - FAILED x32 20130807 - FAILED x4 20131218 - FAILED x31 20131223 - FAILED x14 20131230 - PASSED
  8. Upvote
    pan reacted to Yommy in I think it is time..   
    I have been thinking this for a few months, and i am ready to quit the ro scene.
    It has been an awesome time, gained alot of friends, learned alot of things, and dedicated several years of my life to *athena.
     
    i hope i have made a difference or even inspired some people in some way.
    Thank you for being an awesome community.
     
    Yommy <3
    /sadface
  9. Upvote
    pan got a reaction from Alexandria in Any help for fix this npc to hercules   
    This script is not complete, it's missing an 'OnPcDieEvent' label and an 'OnPcKillEvent'...
  10. Upvote
    pan reacted to Mystery in February Digest 2014   
    February Digest 2014
    The following digest covers the month of February 1st - February 28th 2014.
     
    Team Changes
    [*]@AnnieRuru has joined the team as a Scripting Moderator. [*]@bgamez23 has been awarded a Community Contributor title for continuous contribution throughout Hercules. [*]@Olrox has joined the team as a Graphic Moderator. [*]@pan has joined the team as a Core Developer.

     
    Development Highlights
    [*]Whopping clean up of messages.conf (87b6c8f) [*]Improved mapindex_name2id errors (0732f55) [*]Introducing #define NPC Constants (950e3eb) [*]Removed Option_ constants from const.txt (a5728fd) [*]Input directly from the source [*]Compounds are always up to date regardless if new members are added, also added a new compound OPTION_COSTUME
    [*]MEMORY SLASHER IN TOWN! (142a8f4) [*]Fixed animation for dead players respawning (fb82304) [*]Unit removed from map animation (866427a) [*]Updated skill_require_db.txt structure (58544d7) [*]Modified successrefitem script command (9d1f80e) [*]Bind atcommands are now case-insensitive (92be98c) [*]Improved script case check reports to include more accurate source info (7b19f96) [*]Fixed vending title escaping (891bd05) [*]Improvements on the script commands sscanf, axtoi. Added strtol. (1cf7c1e)
    [*]Added script command strtol (conforming to the ISO C90 function) [*]Modified script command axtoi to internally use strtol instead of an unnecessary own implementation. [*]Fixed sscanf behavior to conform to the C specifications in case the input string is empty. It now correctly returns -1, or 0 if the format string is also empty. Fixes bugreport:8009, thanks to AnnieRuru
    [*]Fixed millenium shield crash with clones (144a9eb) [*]Updated HPMHookGen with a HPMDataCheck generator (35e1b99) [*]Fixed item combo bypassing disabled item restrictions (00ef66f) [*]Introduction to HPM Datacheck! (d334696, 250ec31) (Topic)
    [*]" This introduces automatic data integrity insurance between plugins and the core, allowing the core to reject loading plugins whose data structures mismatch those in the core thus preventing potential crashes and loose data read/write, it goes a long way towards making this issue being inexistent. "  [*]" In short: its a feature that enables the core to reject "outdated" plugins, "outdated" meaning that a data struct used by the plugin has been modified in the core while the plugin was not recompiled to reflect the change." 
    [*]Inter Server asking Login Server for account information instead of a query to the login table (da233d5) [*]MvP Devotion Fix (8a05e61)


     
    Job / Classes Skill Development Highlights
    [*]Renewal Mechanics Rebalance Update! (6f26451) (Topic) [*]" More than I could list! Following is what I could pick out, I'm going only as far as to mention the names that have been modified/added due to the length of the commit, I apologize for the lack of detail -- includes updated mechanics, formulas, entirely new skills and so on! " [*]1st/2nd Class Skills [*]Rune Knight Skills [*]Arch Bishop Skills [*]Warlock Skills [*]Ranger Skills [*]Mechanic Skills [*]Shadow Chaser Skills [*]Royal Guard Skills [*]Sura Skills [*]Wanderer / Ministrel Skills [*]Sorcerer Skills [*]Genetic Skills [*]Guillotine Cross Skills [*]- All Class Skills [*]ALL_ODINS_POWER [*]ALL_FULL_THROTTLE [*]SC_ODINS_POWER







     
    Client Support Improvements Highlights
    [*]Improved client_hash_check (e4a1ca2) [*]Added option to disable hash check by GM group_id (specify 'disabled' as hash for a certain group_id to let them log in with any client, even if client_hash_check is enabled [*]Updated and reworded related documentation for the feature, following user feedback about certain parts being incomplete or confusing.
    [*]Added /stat+ commands support for 2013-12+ clients (42b5c04)


     
    Forum Structural Changes
    Script Releases now have new sub-forums with proper descriptions to keep things organized. Sub-forums are:
    [*]Utility Releases [*]PvP, WoE, GvG, & Battleground Releases [*]Event & Game Releases [*]Quest, Shops, Functions & Algorithms

     
    Statistics
    [*]During the period there were 115 Commits. [*]Of these 115 commits, 25 included bug-fixes. [*]6 Commits from Pull Requests [*]In this month, there were 10,532 Additions and 8,814 Deletions.

  11. Upvote
    pan got a reaction from Cabrera in Question about Mapflag : Loadmapevent   
    Open your map/script.c and search for OnPCLoadMapEvent, you should find something like:
    eA@r15265struct Script_Config script_config = { 1, // warn_func_mismatch_argtypes 1, 65535, 2048, //warn_func_mismatch_paramnum/check_cmdcount/check_gotocount 0, INT_MAX, // input_min_value/input_max_value "OnPCDieEvent", //die_event_name "OnPCKillEvent", //kill_pc_event_name "OnNPCKillEvent", //kill_mob_event_name "OnPCLoginEvent", //login_event_name "OnPCLogoutEvent", //logout_event_name "OnPCLoadMapEvent", //loadmap_event_name "OnPCBaseLvUpEvent", //baselvup_event_name "OnPCJobLvUpEvent", //joblvup_event_name "OnTouch_", //ontouch_name (runs on first visible char to enter area, picks another char if the first char leaves) "OnTouch", //ontouch2_name (run whenever a char walks into the OnTouch area)};I don't know how it its in rA, but in Herc it is now: /* script_config base */ script->config.warn_func_mismatch_argtypes = 1; script->config.warn_func_mismatch_paramnum = 1; script->config.check_cmdcount = 65535; script->config.check_gotocount = 2048; script->config.input_min_value = 0; script->config.input_max_value = INT_MAX; script->config.die_event_name = "OnPCDieEvent"; script->config.kill_pc_event_name = "OnPCKillEvent"; script->config.kill_mob_event_name = "OnNPCKillEvent"; script->config.login_event_name = "OnPCLoginEvent"; script->config.logout_event_name = "OnPCLogoutEvent"; script->config.loadmap_event_name = "OnPCLoadMapEvent"; script->config.baselvup_event_name = "OnPCBaseLvUpEvent"; script->config.joblvup_event_name = "OnPCJobLvUpEvent"; script->config.ontouch_name = "OnTouch_";//ontouch_name (runs on first visible char to enter area, picks another char if the first char leaves) script->config.ontouch2_name = "OnTouch";//ontouch2_name (run whenever a char walks into the OnTouch area)
  12. Upvote
    pan reacted to Ind in Michieru's Renewal Update   
    Topic: http://herc.ws/board/topic/4428-michierus-renewal-update/
     
    Michieru's Mega-Ultra-Super-Plus-Hyper-Master Skill Update
    Helloo~! What?!Renewal Updates based on 2013 data Whats in it?!
    More than I could list! Following is what I could pick out, I'm going only as far as to mention the names that have been modified/added due to the length of the commit, I apologise for the lack of detail -- includes updated mechanics, formulas, entirely new skills and so on! 1st/2nd Class Skills LK_SPIRALPIERCE AL_PNEUMA SC_ENERGYCOAT HT_BLASTMINE HT_CLAYMORETRAP SC_EDP MO_MOEXTREMITYFIST Rune Knight Skills RK_DRAGONBREATH RK_DRAGONBREATH_WATER RK_STORMBLAST RK_HUNDREDSPEAR RK_DRAGONHOWLING RK_CRUSHSTRIKE RK_SONICWAVE RK_WINDCUTTER RK_IGNITIONBREAK RK_PHANTOMTHRUST RK_ENCHANTBLADE RK_STONEHARDSKIN RK_MILLENNIUMSHIELD RK_FIGHTINGSPIRIT SC_VITALITYACTIVATION Arch Bishop Skills AB_EPICLESIS AB_CHEAL AB_CLEMENTIA AB_CANTO AB_PRAEFATIO AB_JUDEX AB_ADORAMUS AB_DUPLELIGHT_MAGIC AB_HIGHNESSHEAL AB_RENOVATIO SC_OFFERTORIUM AB_EUCHARISTICA Warlock Skills WL_MARSHOFABYSS WL_STASIS WL_CRIMSONROCK WL_HELLINFERNO WL_TELEKINESIS_INTENSE WL_SIENNAEXECRATE WL_RECOGNIZEDSPELL WL_COMET WL_SOULEXPANSION WL_EARTHSTRAIN WL_SUMMON_ATK_(variants) WL_FROSTMISTY WL_JACKFROST Ranger Skills RA_ARROWSTORM RA_FEARBREEZE RA_ELECTRICSHOCKER RA_FIRINGTRAP RA_ICEBOUNDTRAP RA_UNLIMIT RA_WUGRIDER RA_WUGDASH RA_WUGBITE RA_CLUSTERBOMB RA_MAGENTATRAP RA_COBALTTRAP RA_MAIZETRAP RA_VERDURETRAP RA_CAMOUFLAGE RA_WUGSTRIKE RA_SENSITIVEKEEN Mechanic Skills NC_COLDSLOWER NC_ACCELERATION NC_ANALYZE NC_MAGNETICFIELD NC_NEUTRALBARRIER NC_STEALTHFIELD NC_POWERSWING NC_VULCANARM NC_FLAMELAUNCHER NC_ARMSCANNON NC_SELFDESTRUCTION NC_REPAIR NC_AXEBOOMERANG NC_AXETORNADO NC_MAGICDECOY NC_HOVERING NC_SHAPESHIFT NC_EMERGENCYCOOL NC_SILVERSNIPER NC_MADOLICENCE NC_INFRAREDSCAN NC_BOOSTKNUCKLE NC_PILEBUNKER Shadow Chaser Skills SC_BODYPAINT SC_INVISIBILITY SC_BLOODYLUST SC_MANHOLE SC_DIMENSIONDOOR SC_CHAOSPANIC SC_MAELSTROM SC_FATALMENACE SC_FEINTBOMB SC_ESCAPE SC_STRIPACCESSARY SC_TRIANGLESHOT SC_DEADLYINFECT SC_SHADOWFORM SC_IGNORANCE Royal Guard Skills LG_TRAMPLE LG_SHIELDSPELL LG_EXCEEDBREAK LG_OVERBRAND LG_MOONSLASHER LG_PIETY LG_EARTHDRIVE LG_HESPERUSLIT LG_REFLECTDAMAGE LG_PINPOINTATTACK LG_RAYOFGENESIS LG_INSPIRATION LG_CANNONSPEAR LG_BANISHINGPOINT LG_SHIELDPRESS Sura Skills SR_LIGHTNINGWALK SR_FLASHCOMBO SR_RIDEINLIGHTNING SR_DRAGONCOMBO SR_SKYNETBLOW SR_CURSEDCIRCLE SR_RAMPAGEBLASTER SR_FLASHCOMBO SR_KNUCKLEARROW SR_WINDMILL SR_GATEOFHELL Wanderer / Ministrel Skills Chorus (WA_/WM_ ensambles) Bonus MI_RUSH_WINDMILL WA_MOONLIT_SERENADE WM_SEVERE_RAINSTORM WM_DEADHILLHERE WM_SOUND_OF_DESTRUCTION WM_SATURDAY_NIGHT_FEVER WM_MELODYOFSINK WM_REVERBERATION WM_VOICEOFSIREN WM_DEADHILLHERE WM_LULLABY_DEEPSLEEP WM_SIRCLEOFNATURE WM_GREAT_ECHO WM_LERADS_DEW WM_BEYOND_OF_WARCRY WM_UNLIMITED_HUMMING_VOICE WM_POEMOFNETHERWORLD WM_DEADHILLHERE WM_RANDOMIZESPELL WM_SONG_OF_MANA WM_DANCE_WITH_WUG WM_METALICSOUND WM_GLOOMYDAY WM_FRIGG_SONG Sorcerer Skills SO_FIREWALK SO_ELECTRICWALK SO_EARTHGRAVE SO_POISON_BUSTER SO_VACUUM_EXTREME SO_ELEMENTAL_SHIELD SO_FIRE_INSIGNIA SO_WATER_INSIGNIA SO_WIND_INSIGNIA SO_EARTH_INSIGNIA SO_ELEMENTAL_SHIELD SO_DIAMONDDUST SO_PSYCHIC_WAVE SO_VARETYR_SPEAR SO_CLOUD_KILL SO_WARMER SC_SPELLFIST SC_FOGWALL SC_CURSED_SOIL_OPTION SC_FIRE_CLOAK_OPTION SC_HEATER_OPTION SC_COOLER_OPTION SC_BLAST_OPTION EL_UPHEAVAL Genetic Skills GN_CRAZYWEED GN_DEMONIC_FIRE GN_MANDRAGORA GN_SLINGITEM GN_ILLUSIONDOPING GN_CARTCANNON GN_THORNS_TRAP GN_WALLOFTHORN GN_DEMONIC_FIRE GN_HELLS_PLANT GN_CART_TORNADO GN_SPORE_EXPLOSION GN_SLINGITEM_RANGEMELEEATK SC_EXTRACT_WHITE_POTION_Z SC_VITATA_500 Guillotine Cross Skills GC_ROLLINGCUTTER GC_DARKILLUSION GC_HALLUCINATIONWALK SC_VENOMIMPRESS GC_PHANTOMMENACE SC_POISONINGWEAPON GC_VENOMPRESSURE SC_DARKCROW - All Class Skills ALL_ODINS_POWER ALL_FULL_THROTTLE SC_ODINS_POWER Special Thanks to
    Michieru - Thanks for taking the time to research and build such a massive update! Haru Rytech idAthena Yommy Muad_Dib malufett Ind Link~u!
    Commit
  13. Upvote
    pan got a reaction from PunkBuster in Preserve Skill   
    Open src/map/skill.c and find:
    case ST_PRESERVE: Remove itNow find:
    clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));break;Add below: case ST_PRESERVE: if( sd ) { if( sd->sc.count && sd->sc.data[SC_PRESERVE] ) { status_change_end(bl, SC_PRESERVE, INVALID_TIMER); clif->skill_nodamage(src, bl, skill_id, skill_lv, 1); } else { clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv))); } } break;Regards.
  14. Upvote
    pan reacted to AnnieRuru in Help in KOTH Bug   
    in my original koe script, I did
    mes "[Exit]"; mes "See ya."; if ( getcharid(2) == $koegid ) getitem 501, 1; // configure prize here close2; warp "Save",0,0; end;so yeah, members can talk to this npc (claim the prize), don't press the close buttonand wait for guild master recall them, and talk to this npc (claim the prize), don't press the close button
    repeat
    so yeah, that's how they abuse the prize
    I just figured it out 2 days ago when I read bug report section about someone posting about guild aura bug
     
    to fix it, simply move the condition of giving the prize into after the close2; button
    mes "[Exit]"; mes "See ya."; close2; if ( getcharid(2) == $koegid ) getitem 501, 1; // configure prize here warp "Save",0,0; end;like this 
     
    so in your modified script, it should be
    // KoE Exitguild_vs1,49,56,5 script Exit#KoE 51,{ mes "[Exit]"; mes "Thank you for Joining"; mes "You Won PVP Tokens and Cash Points"; close2; if ( getcharid(2) == $koegid ) { getitem 8039,150; set #CASHPOINTS,#CASHPOINTS + 50; dispbottom "You got "+#CASHPOINTS+" cash points."; } warp "Save",0,0; end;}
  15. Upvote
    pan got a reaction from Hadeszeus in MvP and @reloadscript   
    Everything should be fixed now, even the .@time variable c:http://pastebin.com/sAX7KazV
     
    EDIT:
    Script corrected, forgot to remove a 'setd'
    http://pastebin.com/nrXrGEbT
  16. Upvote
    pan got a reaction from Hadeszeus in MvP and @reloadscript   
    Whoops I forgot to change the map name, sorry :x
    OnInit: // Mvp ids setarray $MVP_id[0],id1,id2,id3; // Mvp maps NO GAT's! setarray $MVP_maps$[0],"map1","map2","map3"; // Respawn time (HOURS) setarray $MVP_tm[0],tm1,tm2,tm3; initnpctimer; // IT SHOULD FALL HERE! OnTimer3600: // After a hour for( set .@i,0; .@i < getarraysize($MVP_id); set .@i, .@i+1 ) { set .@time, $MVP_tm[.@i]*3600; // Conversion to seconds so we can use gettimetick if( ($MVP_last_respawn[.@i] + $MVP_tm[.@i]) > gettimetick(2) ) continue; // Time has yet to pass monster $MVP_maps$[.@i],0,0,"--ja--",$MVP_id[.@i],1; // Defines last respawn set $MVP_last_respawn[.@i], gettimetick(2); } setnpctimer 0; end;Don't forget to delete the other spawns of those MVPS, otherwise this will just spawn other mob. Also this "mvp timer" continues to tick even if your server is off.
  17. Upvote
    pan got a reaction from leloush in [Custom Link Mods]   
    There was an error in this snippet, I don't even know how this passed lol
    Here is the fix:
     
    Open src/map/skill.c and find:
    // If linked, knights are able to use parrying with one handed swords (type 2) if( require.weapon && !pc_check_weapontype(sd,require.weapon) && ( skill_id == LK_PARRYING && !sd->sc.data[SC_SOULLINK] && !pc_check_weapontype(sd,2) )) { clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0); return 0; }Replace it with: // If linked, knights are able to use parrying with one handed swords (type 2) if( require.weapon && !pc_check_weapontype(sd,require.weapon) && !( skill_id == LK_PARRYING && sd->sc.data[SC_SOULLINK] && pc_check_weapontype(sd,1<<2) )) { clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0); return 0; }Find (again): if( require.weapon && !pc_check_weapontype(sd,require.weapon) && ( skill_id == LK_PARRYING && !sd->sc.data[SC_SOULLINK] && !pc_check_weapontype(sd,2) )) { clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0); return 0; }Replace it with: if( require.weapon && !pc_check_weapontype(sd,require.weapon) && !( skill_id == LK_PARRYING && sd->sc.data[SC_SOULLINK] && pc_check_weapontype(sd,1<<2) )) { clif->skill_fail(sd,skill_id,USESKILL_FAIL_THIS_WEAPON,0); return 0; }Now it should work properly c: I'll update my original post (http://herc.ws/board/topic/3829-soul-link-modification/?p=24936) and change this.Thank you for reporting. Any errors or misbehaves just post here ok?
  18. Upvote
    pan reacted to akka in Trying to figure out if there is a player near a mob.   
    Thanks I really appreciate your help. I made a read up on pointers and got it to work! 
  19. Upvote
    pan got a reaction from akka in Trying to figure out if there is a player near a mob.   
    Just by doing a quick look there's something strange going on, why are you using a pointer?
    int *isnear = 0;It looks as in pc_isnear_sub you are just using this pointer to point things that are in stack, so when this function returns it will point to something that can't really be accessed and will probably raise a SEGFAULT.if (isnear > 0){This line is just checking if there's an address set to '*isnear', not if the dereferenced value is bigger than 0.Also you are incrementing the pointer here not the dereferenced value:
    *isnear++;So you should do something like:int pc_isnear_sub(struct block_list *bl, va_list args){ int *isnear; struct map_session_data *sd; isnear = va_arg(args, int*); sd = (struct map_session_data *)bl; if( isnear == NULL || sd == NULL ) return 0; if (sd->sc.data[SC_TRICKDEAD] || sd->sc.data[SC_HIDING] || sd->sc.data[SC_CLOAKING] || pc_isinvisible(sd) || sd->vd.class_ == INVISIBLE_CLASS || pc_isdead(sd) ) { return 0; } (*isnear)++; return 1;}bool pc_isnear_mob( struct mob_data *md ){ int isnear; isnear = 0; map->foreachinrange((pc_isnear_sub), &md->bl, AREA_SIZE, BL_PC, &isnear); return (isnear > 0)?true:false;}Regards.
  20. Upvote
    pan got a reaction from PcNy in [ Req ] Npc Reward Player online   
    Whoops, small mistake lolhttp://pastebin.com/QaGfva8H
  21. Upvote
    pan reacted to Ind in Introducing HPM Datacheck   
    HPM Data Check
    I begin by thanking ai4rei for bringing this to our attention HELLOOOO, WHAT?! This introduces automatic data integrity insurance between plugins and the core, allowing the core to reject loading plugins whose data structures mismatch those in the core thus preventing potential crashes and loose data read/write, it goes a long way towards making this issue being inexistent. In short: its a feature that enables the core to reject "outdated" plugins, "outdated" meaning that a data struct used by the plugin has been modified in the core while the plugin was not recompiled to reflect the change. It is smartThanks to Haru's design the feature is able to identify the files which the plugin relies on, therefore even if data structs in the core have been modified the plugin will only fail load if its a data struct from a file it actually includes Changes: Hello Plugin Developers!
    Plugins are now required to include the HPMDataCheck file, plugins without it will not pass loading validation, to include use: #include "../common/HPMDataCheck.h"it should be the last file included, if it isn't the last it'll render the plugin uncompilable (intentionally). ...and thats it, it stands on its own afterwards. Also in & Thanks to Haru
    the HPMHookGen has been updated so that the data HPMDataCheck relies on is always up to date HPMHookGen has been sped up. New Possibilities
    Thanks to HPMDataCheck enabling the core to know which files the plugin relies on there are many enhancements we can (and intend to) add, for example, drop GET_SYMBOL entirely and have the core load the interfaces automatically Special Thanks to
    Haru ai4rei Link'u
    HPMHookGen Update Commit
  22. Upvote
    pan got a reaction from Hadeszeus in [ Req ] Npc Reward Player online   
    Whoops, small mistake lolhttp://pastebin.com/QaGfva8H
  23. Upvote
    pan reacted to jaBote in [ Req ] Npc Reward Player online   
    You can modify the behavior of the script by using checkvending() or checkidle() if you want not to reward idle players. See how they work here: doc/script_commands.txt#L3797
     
  24. Upvote
    pan reacted to AnnieRuru in [ Req ] Npc Reward Player online   
    try not to use attachnpctimer unnecessary
    attachnpctimer I only use them in 1 scenario
    which use in botkiller script to kick players which doesn't answer in a certain time period
    means, only use in a npc dialog script
     
    because if this script already uses attachnpctimer,
    if there is other script use attachnpctimer again, the timer wouldn't run anymore
     
     
    for this kind of script, I rather use sleep2
    http://rathena.org/board/topic/90989-hourly-points-help/?p=238289
  25. Upvote
    pan reacted to Mystery in Administrative Staff Changes   
    Hello all,
     
    Just a small snippet paragraph that will help everyone (the public (i.e. you guys )) be informed of our Staff Changes . I would like to take this moment and address certain staff changes in the administration team. As some of you may notice, Haruna and I have been moved around.
    [*]Haruna is now a Development Administrator along side with Ind. [*]Myself, Mysterious, is now an Administrator (Community). [*]Community Administrator position has been removed as promotional group (amongst staff) and is now going to be served as a root position.

     
    Ind and Haruna will be the Development Administrators and I will be the Community Administrator. We believe these changes between the staff will be more beneficial for the community at a large and within the staff circle.

     
    We thank everyone for being a part of Hercules' community and as with other changes done towards Hercules, we hope these will help benefit and further grow the community!
×
×
  • Create New...

Important Information

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