Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Everything posted by AnnieRuru

  1. #include "common/memmgr.h"when I comment this line, error like yours shown up weird, I already included it when I made it yesterday try change that line into #include "common/malloc.h"
  2. version 1.3 http://upaste.me/0e55219566e411b05 new plugin format reorganize the code and ... fix party and guild type using wrong index
  3. I rather write that in a script ... with getmobdata and retrieve the x,y coordinate of the monster ...because like find the correct poring, the names are so similar ... and poring summoner, there are 2 types : correct and fake porings its better to bindatcmd and a custom gm command to retrieve only the correct poring names
  4. I only know sc_start can make it NOT display a buff icon but I never heard a script command (beside sc_start) can display a buff icon ... correct me if I'm wrong :X hint - https://github.com/HerculesWS/Hercules/blob/master/src/map/status.h#L752 EDIT: suddenly I'm reminded that rathena has bonus_script command https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L5373 which their custom command can display an icon
  5. let me rephrase your question, you want an item to bypass the class restriction using npc scripts ?
  6. 216000000 mili-seconds / 1000 21600 seconds /60 360 minutes /60 6 hours // LOL thanks to Garr HAHAHA, screw that up I just copy paste from original script LOL yeah change that into OnTimer1800000:
  7. bitshifting << or >> is only use when you want to squeeze all numeric information into 1 single variable signed int is initialize as -2^31 ~ 2^31-1 so it can save 31 bits so let's say I want to save player's base level, job level, and job ID in 1 single variable assume that max base level is 255, max job level is 120, max job ID is Job_Rebellion(4215) make baselevel use 8 bits = 2^8 (256) make joblevel use 7 bits = 2^7 (128) make job ID use 13 bits = 2^13 (8192) total used = 28 bits, still has some space and the script looks like this prontera,155,185,5 script kdsfksdf 1_F_MARIA,{ // save the data as .@data = BaseLevel << 0 | JobLevel << 8 | Class << (8+7); dispbottom "data = "+ .@data; // retrieve the data as dispbottom "baselevel = "+( ( .@data >> 0 ) & ( ( 1 << 8 ) -1 ) ); dispbottom "joblevel = "+( ( .@data >> 8 ) & ( ( 1 << 7 ) -1 ) ); dispbottom "job ID = "+( ( .@data >> (8+7) ) & ( ( 1 << 13 ) -1 ) ); end;}.yeah this stuff is totally useless since we know how to use query_sql its better to save all these stuff into sql table, because sql has better readability, and website also can list them etc.
  8. you are right, newer scripting engine now strict with end; or close; command this one should be bug free, I think ? http://upaste.me/1f8221954a6d19088
  9. hehehe ... 1 of my super old script https://www.eathena.ws/board/index.php?showtopic=155874 I mean I used in my dota announcement script -> https://www.eathena.ws/board/index.php?showtopic=237765 prontera,155,187,3 script PVP Warper 1_F_MARIA,{ if ( !agitcheck() && !agitcheck2() ) { if ( pvproom_cooldown + 5*60 > gettimetick(2) ) { dispbottom "You need to rest for 5 minutes."; end; } if ( select("Yes!","No thanks.") == 2 ) close; announce strcharinfo(0) + " has entered the PVP Room.", bc_all; announce "There are ["+getmapusers("guild_vs5")+"/30] players inside.", bc_all; warp "guild_vs5",0,0; deletearray @sitkillid; deletearray @sitkillidtimes; @sitkillsize = 0; end; } end;OnPCKillEvent: if ( strcharinfo(PC_MAP) != "guild_vs5" ) end; while ( killedrid != @sitkillid[.@i] && .@i < @sitkillsize ) .@i++; if ( .@i == @sitkillsize ) // only add new entry if kill new players @sitkillid[.@i] = killedrid; @sitkillidtimes[.@i]++; @sitkillsize++;// dispbottom "You just killed "+ rid2name( killedrid ) +" for "+ @sitkillidtimes[.@i] +" times."; if ( @sitkillidtimes[.@i] == 5 ) { // when kill same player 5 times pvproom_cooldown = gettimetick(2); warp "Save", 0,0; } end;}guild_vs5 mapflag pvp.btw it should be && condition either if ( !agitcheck() && !agitcheck2() ) { or if ( agitcheck() || agitcheck2() ) end;
  10. there is a updated version http://herc.ws/board/topic/4750-poring-summoner/
  11. @@Aeromesi, next time mention my name lol @@e0706, I have same problem long time ago http://herc.ws/board/topic/7108-hpm-hooking-return-random-value-from-the-defined-function/ all the value has to add start (*) symbol int my_pc_delitem_pre(struct map_session_data *sd,int *n,int *amount,int *type, short *reason, e_log_pick_type *log_type)then also retrieve them with the (*) symbolShowDebug( "%d", *amount );
  12. turn this into plugin 1.3 plugin
  13. hehehe ... I'm so happy that now mapflag also can be a plugin I think I can safely release all my custom mapflags for hercules users Download: 1.3 plugin . prontera mapflag fixedaspd 150 setmf_fixedaspd "prontera", 150; all players will have fixed attack speed at 150 speed the value capped between 85~199 ... although the maximum may not actually 199, it can be battle_config.max_aspd for 1st/2nd jobs, or battle_config.max_third_aspd for 3rd jobs prontera mapflag fixedaspd 150 99 setmf_fixedaspd "prontera", 150, 99; all players except GM99 at prontera has fixed attack speed at 150 removemf_fixedaspd "prontera"; remove the fixedaspd mapflag in prontera, without using "@reloadscript" dispbottom getmf_fixedaspd( "prontera" ) +""; dispbottom getmf_fixedaspd( "prontera", 0 ) +""; dispbottom getmf_fixedaspd( "prontera", 1 ) +""; first 2 lines return the fixedaspd value, 3rd line return the GM level bypass restriction Note: since the minimum value is 85, if the mapflag is off, return 0
  14. @@4144 eheheh... hehehe ... you are right, now I got 1 less stuff to be plagiarize by rathena @@Anisotropic Defixation sry rathena members, my stuffs are release for free for hercules users only
  15. its possible now ?erm ... yeah... nowadays my script use setmapflag ... no longer use the old <tab> <tab> <tab> is there any example that I can refer on ? because I saw this https://github.com/HerculesWS/Hercules/pull/450 its still not done yet ?
  16. @@MikZ http://herc.ws/board/topic/11153-movespeed-mapflag/ ok I made the movespeed mapflag (actually I did this for a customer few days ago hahaha) so just add guild_vs5 mapflag movespeed 150at your script
  17. this is useful for certain events when you want your players to move at a fixed speed eg: even if the player has agi up, mount peco or using Authoritative Badge, all players movement speed are fixed at your desire value Download: 1.3 plugin Example: prontera mapflag movespeed 150 setmf_movespeed "prontera", 150; all players at prontera will move at default speed the value capped between 20~1000 prontera mapflag movespeed 150 99 setmf_movespeed "prontera", 150, 99; all players except GM99 at prontera will move at default speed removemf_movespeed "prontera"; remove the movespeed mapflag in prontera, without using "@reloadscript" dispbottom getmf_movespeed( "prontera" ) +""; dispbottom getmf_movespeed( "prontera", 0 ) +""; dispbottom getmf_movespeed( "prontera", 1 ) +""; first 2 lines return the movespeed value, 3rd line return the GM level bypass restriction Note: since the minimum value is 20, if the mapflag is off, return 0
  18. I got a VERY VERY old eathena emulator, before I was even a scripting moderator at eathena ( I became scripting moderator at eathena on Aug 2007 ) https://drive.google.com/drive/folders/0B2BM920mmHQgV3JZbThobVBFX0E if you want, I also got client version 7 (now is already 46?) so you can take a feel of old payon map
  19. if members ask on the board, I usually can write for free if ask over in pm then only I'll charge them this kind of simple script I can write now in just a few hours the problem, is I don't understand 1. you want when the player break the emperium, the event instantly ends ? and reward to the player who broke the emperium 2. or you want the player break the emperium, and defend it until times up ? <-- this will make players rush in at last minute
  20. I thought there is a more update version, that is currently maintained by rathena https://github.com/rathena/rathena/blob/master/npc/custom/events/devil_square.txt
  21. again, 2nd PM come in and asked me to convert this into rathena because they claimed this script isn't working in rathena ... and I don't believe rathena will release stuffs that are "full of bugs" 1st reason I was scripting moderator at rathena forum during year 2013, so I knew how strict they are when they recruit a core developer there is no way their developer will make things full of bugs 2nd reason emistry server is probably based on rathena emulator I'm confident emistry know how to write his mvp ladder with setunitdata if setunitdata is bug, then he wont be able to make that mvp ladder script with -> Boss Max HP will increase depend on total amount of party members who joined currently. and, this is the script I tested on my rathena test server prontera,159,185,5 script kjdsfkshfs 1_F_MARIA,{monster "this", -1,-1, "--ja--", 1002, 1, "";setunitdata $@mobid[0], 3, 10000000;setunitdata $@mobid[0], 2, 10000000;} . the main difference is at the *monster script command hercules *monster script command can be set with any variable, however, only 1 monster at a time if want to modify 10 monsters, has to use a loop prontera,155,185,5 script kdjhfksfdh 1_F_MARIA,{for ( .@i = 0; .@i < 10; .@i++ ) {.@id[.@i] = monster( "this", -1,-1, "--ja--", PORING, 1, "" );setmobdata .@id[.@i], MOBDATA_MAXHP, 10000000;setmobdata .@id[.@i], MOBDATA_HP, 10000000;}end;} . rathena *monster script command cannot be set, it push $@mobid in an array prontera,159,185,5 script kjdsfkshfs 1_F_MARIA,{monster "this", -1,-1, "--ja--", 1002, 10, "";for ( .@i = 0; .@i < 10; .@i++ ) {setunitdata $@mobid[.@i], 3, 10000000;setunitdata $@mobid[.@i], 2, 10000000;}end;} . so the way rathena and hercules write them are totally different ... and yes, rathena also can't use constant EDIT : codebox is broken ... EDIT2 : nvm leave it ....
  22. job change or sprite change ? if you mean sprite change, forum search *changebase, I'm sure there are some result
  23. omg ! I wonder why I can miss this out when I read mob.c
  24. rathena already has it, I thought ? they just don't have atk/matk/flee/hit/critical/perfect dodge ... and mob invulnerable
  25. you are in luck I just release setmobdata few days ago its in my sig however, the exp reward cannot be modify because in the source, mob.c, it use md->db->base_exp, which read directly from the database so have to set BaseExp, BaseExp + xxxx manually ... this one is supposed in the frequently asked question 3rd post, I currently don't have time to write them in detailed yet
×
×
  • Create New...

Important Information

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