Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Everything posted by AnnieRuru

  1. @@minx123 it seems like you don't even know how to use SQL command did you actually pay someone to setup the server for you ? . . Suddenly I remember I did TXT style ladder years ago its time to dig it up and use it here http://upaste.me/c8d12185033897498 1 script do all
  2. %^@#&~! ... who gave that wrong info .... gonna make changes to wiki
  3. although its possible to do this on the source, but I'm client noob I know how to delete item directly when make a purchase but the client side still shows "x points will be deducted from your kafra credit points" that will require some intense source modification I guesswhy not just write a plugin and add a configuration for require item ID ?
  4. OnPCStatCalcEvent Rocks !!! simply patch it and I have tested with this script prontera,155,185,5 script kjdshfkdjsf 1_F_MARIA,{// addjobskill = 0; mes "select the type of skills you want to learn"; next; addjobskill = select( "swordsman", "mage", "acolyte" ); mes "your skills will be added the next time you adjust your equipment !"; close;OnPCStatCalcEvent: switch ( addjobskill ) { case 1: skill "SM_BASH", 10; skill "SM_PROVOKE", 10; skill "SM_MAGNUM", 10; break; case 2: skill "MG_FIREBOLT", 10; skill "MG_LIGHTNINGBOLT", 10; skill "MG_COLDBOLT", 10; break; case 3: skill "AL_HEAL", 10; skill "AL_INCAGI", 10; skill "AL_BLESSING", 10; break; default: } end;}add skills permanently to the playeroh if you want them temporary until player logout, then just use the temporary player variable remember that the type has to be 1, (well it was default to 1 when no flag given) because this OnPCStatCalcEvent runs as if the player has equipped the item . . seriously, I start to get sick of having to update this patch every ...... meh ... I just repeated what I have said long time ago https://rathena.org/board/topic/77230-onpcstatcalcevent/
  5. http://herc.ws/wiki/Custom_Mobs unfortunately, only int affects the monster's matk
  6. did your server make any announcement in the 1st place ?
  7. you didn't indent your script properly invek,134,159,6 script Custom Mall 830,{shop: warp "sky_quest" ,45,52;OnInit: waitingroom "Custom Mall",0; end;}when the player click on the npc, the script execute the warp command, and also execute the waitingroom commandthat's why the server spam error about waitingroom already created to solve this problem, simple add an end; command before the OnInit label like this invek,134,159,6 script Custom Mall 830,{shop: warp "sky_quest" ,45,52; end; // <-- ADD THISOnInit: waitingroom "Custom Mall",0; end;}.. though, I don't understand why you add shop: label in the 1st place
  8. to make the skill permanently given to your custom class you've made you also need to add entry to your dbskill_tree.conf and maybe the client file ... dunno which path, what lua stuff <-- client noob
  9. nvm let's do it all over again run all these 5 sql commands, wipe all the previous data run them all even if it pop errors, from top to bottom alter table `char` drop column mvp_rank;alter table `char` drop column custom_mvp_rank;alter table `char` add column mvp_rank int(11) default 0 after hotkey_rowshift, add index (mvp_rank);drop table mvp_rank_archive;create table mvp_rank_archive (`date` datetime,pos tinyint(4) unsigned,cid int(11) unsigned default 0,name varchar(23) default '',points int(11) unsigned not null,primary key ( `date`, pos )) engine innodb;. then this script http://upaste.me/b2c021831366b20b4 . then copy this into your dbconst.txt // gettime( <param> )SECOND 1MINUTE 2HOUR 3WEEKDAY 4DAYOFMONTH 5MONTH 6YEAR 7DAYOFYEAR 8// WeekdaySUNDAY 0MONDAY 1TUESDAY 2WEDNESDAY 3THURSDAY 4FRIDAY 5SATURDAY 6// MonthJANUARY 1FEBRUARY 2MARCH 3APRIL 4MAY 5JUNE 6JULY 7AUGUST 8SEPTEMBER 9OCTOBER 10NOVEMBER 11DECEMBER 12
  10. by finding pc->paycash command I found that buying this stuff are actually clif_parse_CashShopBuy located in clif.c I think you just have to change pc->paycash into your delitem ... something
  11. @@Lord Ganja that method was old, you probably got this script from eathena forum EDIT: found it -> https://www.eathena.ws/board/index.php?s=&showtopic=177722&view=findpost&p=1001559 at that time, *monster and *clone command doesn't return the GID now that these command returns the GID of the monster, don't have to do that anymore - script clonecheck FAKE_NPC,{OnInit: setitemscript Bow, "{ getmapxy .@map$, .@x, .@y, 0; @bow_clone = clone( .@map$,.@x,.@y,"clonecheck::OnDead", getcharid(0), getcharid(0), 0x8D, 1, 40 ); }", 1; setitemscript Bow, "{ unitkill @bow_clone; @bow_clone = 0; }", 2;OnDead: end;}.btw move to script support EDIT : forgot to set @bow_clone back to 0 ... again ... need to fix this bad habit
  12. how about using OnNPCKillEvent: if ( strcharinfo(3) == Glast Heim underground Prison ) if ( rand(100) < 3 ) getitem <item1>, 1; it doesn't drop, but get directly into inventory if you want it as a drop, then have to do source modifications
  13. did I really did this ? ..."Poking",1002,3*getmapusers("poring_w03"),......"Poiring",1002,3*getmapusers("poring_w03"),......"Poling",1002,3*getmapusers("poring_w03"),...getmapusers used quite an amount of server resources to count the players on the mapthis command should only execute once oh yes, .... I didn't noticed it back then http://herc.ws/board/topic/4656-poring-catcher-modified-request/?p=30163 @@Alexandria try this one http://upaste.me/8e8721828c2c946ec @@Winterfox oh man ... I can't debug the script anymore using *disablenpc will disable *bindatcmd on that OnStart label although OnClock still able to run though
  14. current format http://upaste.me/c7ed2182125d6a31b already tested with - script sdfhdskfj FAKE_NPC,{OnInit: bindatcmd "@pcblock", strnpcinfo(0)+"::Onaaa"; setarray .name$, "BLOCK_MOVE", "BLOCK_ATTACK", "BLOCK_SKILL", "BLOCK_USEITEM", "BLOCK_CHAT", "BLOCK_IMMUNE", "BLOCK_SITSTAND"; setarray .flag$, " [^ff0000OFF^000000]", "[^0000ffON^000000]"; end;Onaaa: for ( .@i = 0; .@i < 7; .@i++ ) .@menu$ = .@menu$ + .name$[.@i] + .flag$[ !!( checkpcblock() & (1 << .@i) ) ] +":"; .@s = select( .@menu$ ) -1; pcblock 1 << .@s, !( checkpcblock() & (1 << .@s) ); close;} . BLOCK_COMMAND !! omg how can I miss this one, need this one asap the rest are redundant BLOCK_ATCOMMAND - repeated ??? BLOCK_DROP - already has nodrop mapflag BLOCK_GSTORAGE - I seriously think this should belongs to nostorage mapflag ima thinking of making one BLOCK_NOIDEAWHATELSETOPOSTHERE hmm ... this long name makes me google 'what is the longest identifier in c++' answer is 2048 -> https://msdn.microsoft.com/en-us/library/565w213d.aspx . . I actually thought about this but the blockedmove and monster_ignore is quite everywhere in the source ... don't feel like touching them ima thinking of changing checkpcblock into getpcblock after 2nd thought, I change them 1st then see how Haru react to it
  15. I was already started this before I saw emistry post http://upaste.me/73e3218206ebac76e the problem though, is I saw a topic about a list of configuration to disallow players to do specific actions in hercules suggestion section before yes, I'm talking about adding BLOCK_STORAGE BLOCK_SENDMAIL BLOCK_EQUIPMENT BLOCK_USEITEM BLOCK_.... PLEASE_SUGGEST_MORE @@Emistry no, KEEP the *pcblockmove for god sake I used this command since eathena period and I'm sure you can google search 'annieruru pcblockmove', a lot gvg and battleground script pops up after giving a lot of thought, I have to list them out and gives a proper reason for which one should be add, and which one should deny BLOCK_MOVE => its a must - keep the pcblockmove for backward compatibility, but add this in for a better management control BLOCK_ATTACK => its a must BLOCK_SKILL => its a must - I don't like using OPTION_XMAS or SC_XMAS to prevent the player to attack/skill, need a proper script command BLOCK_CHAT => its a must - I don't like using SC_BERSERK to prevent player to chat, need a proper script command BLOCK_IMMUNE => its a must - I don't like using atcommand "@monsterignore" in scripts, it will create unnecessary log BLOCK_USEITEM => look like a must - although I have a noitem mapflag to do the same, but preventing player to attack, then skill, its logical to prevent item next BLOCK_STORAGE => redundant - already have nostorage mapflag errr .... BLOCK_SENDMAIL => no... - the idea is that, some private server has a special map where players can try out godly item in a closed, nowarp+nowarpto map however there is an exploit where players can send item away into another account using friend list-> send mail I will make a pull request to prevent this exploit by adding a battle config BLOCK_EQUIPMENT => no... - doesn't make sense, should use map_zone_db.conf or my noitem mapflag BLOCK_TELEPORT => no.. - already have noteleport mapflag BLOCK_SITSTAND => looks ok - we have script command *sit, *stand and *issit(), means we can actually script it to make the player sit, then pcblocksit to prevent them standing up BLOCK_VENDING => no .. - already has novending mapflag and cell_novending BLOCK_TRADING => no... - I think *getitembound already make this useless. - Since the special created item for event is already bound, there is no way for them to trade anymore BLOCK_PICKITEM => maybe... - not sure about this one brainstorming ...
  16. if you used the sql syntax in post#5 then use my npc script in post#8 then use notepad++ replace all custom_mvp_rank into mvp_rank that should work
  17. @@Helena find clif_channel_msg inside clif.c replace the whole function with void clif_channel_msg(struct channel_data *chan, struct map_session_data *sd, char *msg){ DBIterator *iter; struct map_session_data *user; unsigned short msg_len; uint32 color; nullpo_retv(chan); nullpo_retv(sd); nullpo_retv(msg); if ( !map_flag_vs(sd->bl.m) ) { iter = db_iterator(chan->users); msg_len = strlen(msg) + 1; color = channel->config->colors[chan->color]; WFIFOHEAD(sd->fd,msg_len + 12); WFIFOW(sd->fd,0) = 0x2C1; WFIFOW(sd->fd,2) = msg_len + 12; WFIFOL(sd->fd,4) = 0; WFIFOL(sd->fd,8) = RGB2BGR(color); safestrncpy((char*)WFIFOP(sd->fd,12), msg, msg_len); for (user = dbi_first(iter); dbi_exists(iter); user = dbi_next(iter)) { if( user->fd == sd->fd ) continue; WFIFOHEAD(user->fd,msg_len + 12); memcpy(WFIFOP(user->fd,0), WFIFOP(sd->fd,0), msg_len + 12); WFIFOSET(user->fd, msg_len + 12); } WFIFOSET(sd->fd, msg_len + 12); dbi_destroy(iter); }}this will disallow anyone to use #main in any pvp/gvg/battleground maps what do you mean like 'automatically disabled' ?
  18. I found my name on this topic so ... do you still need this ? that page by page stuffs was actually Toasty's idea https://rathena.org/board/topic/74630-help-array/
  19. @@Helena, 1st thing 1st change look_clothes_color into LOOK_CLOTHES_COLOR it is a constant name my old bad habit from rathena that their script engine doesn't care about capital letters 2nd, I tested this script if the last person died, they should be remained as corpse on the floor at prontera bg_warp .red, "prontera",152,178; bg_warp .blue, "prontera",154,178;I can't reproduce your ... after 5 seconds they still warp to savepointand maybe you should change this line to your turbo_room
  20. @@Helena it would help a lot if you post the full battleground script I lost my old hard-disk so I don't have anything to refer on also, I don't think your request can be done with simple *waitingroom this might need my custom battleground script commands
  21. finally my rathena test server able to run now I found out the reason this is hercules bug this exact same script prontera,155,185,5 script dsfjhsdkfj 100,{OnPCDieEvent: dispbottom Hp +" "+ readparam(Hp); end;}.with rathena display the value correctly with hercules for some reason, when the player died, it display 1 this is wrong atm, this script cannot use in Hercules because this game allow priest to resurrect their party members I can't simply just warp them out when they die... that's cruel
  22. honestly that one in the screenshot was rathena emulator, not hercules I download this http://herc.ws/board/topic/10668-release-2014-01-15-ragexe-full-client/ and my hercules test server setup in no time but I need a rathena test server so I download this http://herc.ws/board/topic/10884-release-ro-node-2013-08-07-working-client-clean-data/ I saw the exact same topic in rathena, so gave it a try, and yeah only this hexed client can run rathena but it has the bug above so I was using ossi msgstringtable and use that rathena's member hexed client but as long as I can script, I don't care such minor details
  23. don't you think this is too convenient ? for example if 2 players already engaging each others having @pk on, then the 3rd player can find the correct timing to @pk on when both of them hp low after killing them both, @pk off back that's so cheating I prefer the way @duel system works only those who are currently @duel can @invite others to join them this way there are no backstabbers
  24. yesterday @@Aeromesi asked in IRC about is there a script commands to prevent the player to attack makes me remember I did something similar before https://rathena.org/board/topic/91115-event-watcher/?p=238849 yes, we really need to have these script commands *pcblockmove has already existed for ages, which meant for block players from moving but we are missing out commands to block players from attacking and chat . . I made this patch http://upaste.me/870121811d11a19ff it looks clean I think this should go inside hercules as default EDIT: tested with prontera,154,185,5 script can attack 1_F_MARIA,{ pcblockattack getcharid(3), 0;}prontera,157,185,5 script no attack 1_F_MARIA,{ pcblockattack getcharid(3), 1;}prontera,154,181,5 script can chat 1_F_MARIA,{ pcblockchat getcharid(3), 0;}prontera,157,181,5 script no chat 1_F_MARIA,{ pcblockchat getcharid(3), 1;}prontera,154,177,5 script vulnerable 1_F_MARIA,{ pcimmune getcharid(3), 0;}prontera,157,177,5 script immune 1_F_MARIA,{ pcimmune getcharid(3), 1;}prontera,154,173,5 script can skill 1_F_MARIA,{ pcblockskill getcharid(3), 0;}prontera,157,173,5 script no skill 1_F_MARIA,{ pcblockskill getcharid(3), 1;}.EDIT2: *pcimmune is equivalent to @monsterignore I just don't like using *atcommand in scripts
  25. @ in your item script just put OnEquipScript: <" if ( !master_rebirth ) { unequip EQI_<loc>; dispbottom "You need to do a master rebirth to equip this"; >" @@Dastgir this is default setting that's why your script re-calculate them the best way is to off this feature so you don't have to add reset npc and take out your stats recalculation feature
×
×
  • Create New...

Important Information

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