-
Posts
2,044 -
Joined
-
Last visited
-
Days Won
48
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by AnnieRuru
-
use gettimetick(2) prontera,150,185,0 script test override 1_F_MARIA,{ [email protected] = 3 + gettimetick(2); // 3 seconds while ([email protected] > gettimetick(2) ) { mes "You are talking to this npc"; next; select("-Yes"); } mes "times up"; close; } if you are doing this like a quiz, where player has to reply within the time limit, then have to use if ... goto on every after select btw, seems like I have lose a fan ... sad ....
-
is title system supposed to display the title on a player name?
AnnieRuru replied to mirabell's question in General Support
http://herc.ws/board/topic/7218-sample-questlog-achievement-script/?do=findComment&comment=91023 yes, for some reason, nemo patcher has Recommended to use /showname when you diff the client you can disable it during client patch -
because this is made in hercules forum http://herc.ws/board/topic/463-pk-patch-v11/. http://herc.ws/board/topic/11004-pk-plugin/. https://github.com/dastgirp/HPM-Plugins/blob/master/src/plugins/%40pk.c <-- latest
-
where is the documentation that shows the emotion ids for mob_skill_db?
AnnieRuru replied to mirabell's question in Database Support
rathena is different https://github.com/rathena/rathena/blob/master/src/map/script_constants.hpp#L3516 /* emoticons */ export_constant(ET_SURPRISE); export_constant(ET_QUESTION); export_constant(ET_DELIGHT); export_constant(ET_THROB); export_constant(ET_SWEAT); export_constant(ET_AHA); export_constant(ET_FRET); export_constant(ET_ANGER); export_constant(ET_MONEY); export_constant(ET_THINK); export_constant(ET_SCISSOR); export_constant(ET_ROCK); export_constant(ET_WRAP); export_constant(ET_FLAG); export_constant(ET_BIGTHROB); export_constant(ET_THANKS); export_constant(ET_KEK); export_constant(ET_SORRY); export_constant(ET_SMILE); export_constant(ET_PROFUSELY_SWEAT); export_constant(ET_SCRATCH); export_constant(ET_BEST); export_constant(ET_STARE_ABOUT); export_constant(ET_HUK); export_constant(ET_O); export_constant(ET_X); export_constant(ET_HELP); export_constant(ET_GO); export_constant(ET_CRY); export_constant(ET_KIK); export_constant(ET_CHUP); export_constant(ET_CHUPCHUP); export_constant(ET_HNG); export_constant(ET_OK); export_constant(ET_CHAT_PROHIBIT); export_constant(ET_INDONESIA_FLAG); export_constant(ET_STARE); export_constant(ET_HUNGRY); export_constant(ET_COOL); export_constant(ET_MERONG); export_constant(ET_SHY); export_constant(ET_GOODBOY); export_constant(ET_SPTIME); export_constant(ET_SEXY); export_constant(ET_COMEON); export_constant(ET_SLEEPY); export_constant(ET_CONGRATULATION); export_constant(ET_HPTIME); export_constant(ET_PH_FLAG); export_constant(ET_MY_FLAG); export_constant(ET_SI_FLAG); export_constant(ET_BR_FLAG); export_constant(ET_SPARK); export_constant(ET_CONFUSE); export_constant(ET_OHNO); export_constant(ET_HUM); export_constant(ET_BLABLA); export_constant(ET_OTL); export_constant(ET_DICE1); export_constant(ET_DICE2); export_constant(ET_DICE3); export_constant(ET_DICE4); export_constant(ET_DICE5); export_constant(ET_DICE6); export_constant(ET_INDIA_FLAG); export_constant(ET_LUV); export_constant(ET_FLAG8); export_constant(ET_FLAG9); export_constant(ET_MOBILE); export_constant(ET_MAIL); export_constant(ET_ANTENNA0); export_constant(ET_ANTENNA1); export_constant(ET_ANTENNA2); export_constant(ET_ANTENNA3); export_constant(ET_HUM2); export_constant(ET_ABS); export_constant(ET_OOPS); export_constant(ET_SPIT); export_constant(ET_ENE); export_constant(ET_PANIC); export_constant(ET_WHISP); export_constant(ET_YUT1); export_constant(ET_YUT2); export_constant(ET_YUT3); export_constant(ET_YUT4); export_constant(ET_YUT5); export_constant(ET_YUT6); export_constant(ET_YUT7); hercules start with e_ , rathena start with ET_ -
Help Mission_board Script npc by: Annieruru Jobs restrictions not work
AnnieRuru replied to admagnus's question in Scripting Support
this script is just super old ... when this script was freshly made version 1.0, 3rd job wasn't even release yet (year 2009) there is a get-around, by using level range + job restriction, since 3rd job is always level > 99 the sample quest log script was made way back during eathena period, so rathena should support up 0.3 I guess version 1.0 and above is just hercules about the daily quest ... although its custom, but *setquest with adjustable time limit is official I think rathena will get to it eventually after convert quest_db.txt into YAML format... -
Help Mission_board Script npc by: Annieruru Jobs restrictions not work
AnnieRuru replied to admagnus's question in Scripting Support
that's one of my old bad habit, forgot to enclose bitmask check into bracket https://github.com/AnnieRuru/Release/blob/master/scripts/Quest %26 Shops/Mission Board/mission_board_r2.6.txt -
Method 1 - just unequip the item prontera,155,185,5 script khfskjdfh 1_F_MARIA,{ for ( [email protected] = 1; [email protected] <= 10; [email protected] ) if ( getequiprefinerycnt([email protected]) >= 7 ) unequip [email protected]; end; } Method 2 - delete the item prontera,158,185,5 script khfskjdfh2 1_F_MARIA,{ getinventorylist; for ( [email protected] = 0; [email protected] < @inventorylist_count; [email protected] ) { if ( (@inventorylist_equip[[email protected]] & 1023) && @inventorylist_refine[[email protected]] >= 7 ) { if ( @inventorylist_option_id1[[email protected]] ) { // that's why rathena random option check so sux, still has to fall back to delitem2 setarray [email protected]_id, @inventorylist_option_id1[[email protected]], @inventorylist_option_id2[[email protected]], @inventorylist_option_id3[[email protected]], @inventorylist_option_id4[[email protected]], @inventorylist_option_id5[[email protected]]; setarray [email protected]_value, @inventorylist_option_value1[[email protected]], @inventorylist_option_value2[[email protected]], @inventorylist_option_value3[[email protected]], @inventorylist_option_value4[[email protected]], @inventorylist_option_value5[[email protected]]; setarray [email protected]_parameter, @inventorylist_option_parameter1[[email protected]], @inventorylist_option_parameter2[[email protected]], @inventorylist_option_parameter3[[email protected]], @inventorylist_option_parameter4[[email protected]], @inventorylist_option_parameter5[[email protected]]; delitem3 @inventorylist_id[[email protected]], @inventorylist_amount[[email protected]], @inventorylist_identify[[email protected]], @inventorylist_refine[[email protected]], @inventorylist_attribute[[email protected]], @inventorylist_card1[[email protected]], @inventorylist_card2[[email protected]], @inventorylist_card3[[email protected]], @inventorylist_card4[[email protected]], [email protected]_id, [email protected]_value, [email protected]_parameter; } else delitem2 @inventorylist_id[[email protected]], @inventorylist_amount[[email protected]], @inventorylist_identify[[email protected]], @inventorylist_refine[[email protected]], @inventorylist_attribute[[email protected]], @inventorylist_card1[[email protected]], @inventorylist_card2[[email protected]], @inventorylist_card3[[email protected]], @inventorylist_card4[[email protected]]; } } end; } btw if you are thinking of denying players to use high refine in a pvp map or event map, after you delete the item player still can equip inside the map you have to create your own mapflag in this case
-
Release: Script command: itemlink to generate <ITEML>
AnnieRuru replied to Cydh's topic in Source Releases
just took a crack on this http://herc.ws/board/topic/16648-iteml-function/ it seems your script command missing to view the costumes >>> this script is tested on rathena function script F_ITEML { [email protected] = getarg(0); [email protected]$ = callsub( S_Base62, [email protected] ); [email protected] = getiteminfo( [email protected], 2 ); if ( [email protected] == IT_WEAPON || [email protected] == IT_ARMOR ) [email protected]_slot = true; [email protected]_loc$ = callsub( S_Base62, getiteminfo( [email protected], 5 ), 5 ); [email protected]$ = "&"+ callsub( S_Base62, getiteminfo( [email protected], 11 ) ); return "<ITEML>"+ [email protected]_loc$ + [email protected]_slot + [email protected]$ + [email protected]$ +"</ITEML>"; S_Base62: [email protected] = getarg(0); while ( [email protected] ) { [email protected]_value$ = [email protected]$[ [email protected] % 62 ] + [email protected]_value$; [email protected] /= 62; } [email protected]_zeroes = getarg(1, 2); while ( getstrlen([email protected]_value$) < [email protected]_zeroes ) [email protected]_value$ = insertchar( [email protected]_value$, "0", 0 ); return [email protected]_value$; } - script ITEML FAKE_NPC,{ OnInit: setarray [email protected]$,"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"; end; } prontera,155,185,3 script itemlinktest#1 1_F_MARIA,{ input [email protected]; npctalk itemlink([email protected]); npctalk F_ITEML([email protected]); debugmes itemlink([email protected]); debugmes F_ITEML([email protected]); end; } result in [Debug]: script debug : 2000000 110000034 : <ITEML>0000011jZ</ITEML> [Debug]: script debug : 2000000 110000034 : <ITEML>0004811jZ&2H</ITEML> the difference is when input an item with costume enable yours to the left, mine to the right 48 is convert as 256, which is EQP_HEAD_TOP 2H is 167, which is the ViewID -
Release: Script command: itemlink to generate <ITEML>
AnnieRuru replied to Cydh's topic in Source Releases
*itemlink(<item_id>{,<refine>,<card0>,<card1>,<card2>,<card3>}); compare with getitem2 *getitem2(<item id>, <amount>, <identify>, <refine>, <attribute>, <card1>, <card2>, <card3>, <card4>{, <account ID>}) what happen to the <identify> and <attribute> field ? EDIT: -> Testing ... 1. if the item is not identify ... I can't even get the shift-click to work .. 2. if the item is broken, shift-click it will display non-broken item .... hmm .... I think these guys have thought it out ... nvm, disregard this post -
Ima love this so much gonna take this idea and release it on hercules forum
-
type "@showexp" will confirm your current exp gain
-
- script WoE Reward FAKE_NPC,{ OnAgitEnd: callsub S_AgitEnd, 0, 20; OnAgitEnd2: callsub S_AgitEnd, 20, 30; S_AgitEnd: [email protected] = getarg(0); [email protected] = getarg(1); for ( [email protected] = [email protected]; [email protected] < [email protected]; [email protected] ) { [email protected]_id = getcastledata( .castle$[[email protected]], CD_GUILD_ID ); if ( [email protected]_id ) { deletearray [email protected]_id; getguildmember [email protected]_id, 1; getguildmember [email protected]_id, 2; for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) { if ( isloggedin( [email protected][[email protected]], [email protected][[email protected]] ) ) { attachrid [email protected][[email protected]]; if ( inarray( [email protected]_id, get_unique_id() ) == -1 ) { dispbottom "Reward given for conquered "+ getcastlename(.castle$[[email protected]]) +"("+ .castle$[[email protected]] +")"; getitem 31509, 1; getitem 12103, 1; getitem 16770, 1; getitem 6380, 15; getitem 31510, 1; [email protected]_id[ getarraysize([email protected]_id) ] = get_unique_id(); } } } } } end; OnInit: setarray .castle$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; end; } somehow I was expecting him to post a reply, but he edit the 1st post instead, so I bump
-
pajodex asked this question over discord, so this was answered there http://herc.ws/board/topic/7014-who-has-annierurus-pvp-ladder-with-announcement-files-and-sql-queries/?do=findComment&comment=42630 well, even if I make an updated version, it will be hercules only, since rathena<->hercules are getting further apart
-
can't help but give a rep for posting 1 of my old script I've been searching this for years with this script in hand, I think I can make an update soon
-
got a PM for this something isn't right about this script set [email protected], query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"[email protected]+"' AND "[email protected]$,[email protected],[email protected]); this part should use *getguildmember script command query_sql("INSERT INTO `mail` (send_name,dest_id,title,message,nameid,amount,identify,zeny,time) VALUES ("+ "'no-reply',"[email protected][[email protected]]+",'** Siege Reward: "+getcastlename(.Castles$[[email protected]])+" **',"+ "'Brave one,% % Congratulations!% Your guild has successfully occupied% territory in the War of Emperium on% "[email protected]$+".% % % % % [ Your reward is attached. ]',"+ .Reward[0]+","+.Reward[1]+",0,"+.Reward[2]+",UNIX_TIMESTAMP(NOW()))"); and this part should use *mail script command not to mention this script doesn't support woe:te I'm sorry but this script is too outdated for me to fix, it was working fine during the time of the creation, but now this script considered outdated perhaps, simple script like this is the best https://rathena.org/board/topic/110929-woe-reward-script/?do=findComment&comment=357542 then I could write it off easily
-
guild_vs2,50,50,5 script #asdf HIDDEN_WARP_NPC,3,3,{ end; OnTouch: getmapxy [email protected]$, [email protected], [email protected], UNITTYPE_PC; dispbottom [email protected] +" "+ [email protected]; if ( [email protected] == 47 ) pushpc DIR_WEST, 1; else if ( [email protected] == 53 ) pushpc DIR_EAST, 1; else if ( [email protected] == 47 ) pushpc DIR_SOUTH, 1; else if ( [email protected] == 53 ) pushpc DIR_NORTH, 1; end; } hercules code, you know how to convert
-
"@costumeitem" came from this topic the item bonus came from the <Script> field itself ... if you want to add bonuses to the costume item, either make a new shadow item ... or add random option to the costume ...
-
if(!getgmlevel() || .Options&512){ // 512: Allow GMs to Join PvP .Options = 1|2|4|8|16|32|128|256|1024;//|2048|4096; you probably test this script with a GM account either enable the .Options|512 bits, or remove the .Options&512 checks
-
to block MVP list, add where ~mode & MD_MVP I have absolutely no idea how to retrieve the list of miniboss in rathena ... enlighten me please, because rathena changed monster mode already
-
no, don't trust ratemyserver ... that site based on rathena item database should trust more on iro wiki and divine pride yes, this item gives zeny https://www.divine-pride.net/database/item/12399/kRO
-
exact same script, this bug doesn't happen on hercules you can report in rathena github https://github.com/rathena/rathena/issues
-
prontera,147,174,5 script Change Dress 509,{ monster "this", -1,-1, "--ja--", .mobid[ rand(.total_mob) ], 1; setunitdata [email protected], UMOB_MASTERAID, getcharid(3); setunitdata [email protected], UMOB_MODE, MD_CANMOVE | MD_CANATTACK | MD_AGGRESSIVE | MD_ASSIST; end; OnInit: if (checkre(0)) { [email protected]_db$ = "mob_db_re"; [email protected]_db$ = "item_db_re"; } else { [email protected]_db$ = "mob_db"; [email protected]_db$ = "item_db"; } .total_mob = query_sql( "select id from "+ [email protected]_db$ +" where mode & "+( MD_CANMOVE | MD_CANATTACK ), .mobid ); end; }
-
prontera,147,174,5 script Change Dress 509,{ if ( !(eaclass() & EAJL_THIRD) || BaseJob == Job_SuperNovice ) { mes "I'm sorry, but you do not have 3rd class."; close; } mes "Hi "+strcharinfo(0)+" do you want to change your dress?"; next; if ( select ( "Yes", "No" ) == 2 ) close; if ( Zeny < 100000000 ) { mes "You need 100,000,000 Zeny"; close; } [email protected] = select("Primary Dress", "Second Dress") -1; if ( getlook(LOOK_BODY2) == [email protected] ) { mes "You already wearing that dress"; close; } setlook LOOK_BODY2, [email protected]; Zeny -= 100000000; mes "Done!"; close; } this script was like... just few topics down below ...
-
remove the emperium spawn from OnAgitStart: label in guild2/agit_main_se.txt file, its under OnEmpSpawn: change that emperium spawn into your custom boss spawn, with a custom event label and the custom event label will trigger to spawn the emperium no idea honestly, this thing was already in eathena repo when I join eathena back then ... 12 years ago https://github.com/rathena/rathena/tree/master/npc/events/nguild there are 2 similar script command for it in rathena *rid2name and *getunitname, both do the same thing .... I guess I don't need to provide a template, since you post "all I need is a way to get the monster's name." ... although I still think its better to just summon a boss monster with event label, rather than loop with *getmapunits script command