Jump to content

Emistry

Forum Moderator
  • Posts

    10015
  • Joined

  • Days Won

    396

Everything posted by Emistry

  1. - Id: 501 AegisName: Red_Potion Type: Healing Script: | callfunc("F_SignedItem", 501, IG_Taming); function script F_SignedItem { .@item_id = getarg(0, 0); .@groupranditem = getarg(1, 0); if (.@item_id && .@groupranditem) { getinventorylist; for (.@i = 0; .@i < @inventorylist_count; .@i++) { if (@inventorylist_id[.@i] == .@item_id && @inventorylist_card3[.@i] && @inventorylist_card4[.@i]) { .@signed_cid = (@inventorylist_card3[.@i] | (@inventorylist_card4[.@i] << 0x10)); query_sql("SELECT `name` FROM `char` WHERE `char_id` = "+.@signed_cid, .@signed_name$); .@item_name$ = getitemname(.@item_id); if (.@signed_name$ != "") .@item_name$ = .@signed_name$+"'s " + .@item_name$; .@inventorylist_name$[.@i] = .@signed_name$; .@menu$ = .@menu$ + .@item_name$; } .@menu$ += ":"; } .@i = select(.@menu$) - 1; delitem2 @inventorylist_id[.@i],1,@inventorylist_identify[.@i],@inventorylist_refine[.@i],@inventorylist_attribute[.@i],@inventorylist_card1[.@i],@inventorylist_card2[.@i],@inventorylist_card3[.@i],@inventorylist_card4[.@i]; .@reward_id = groupranditem(.@groupranditem); getitem .@reward_id, 1; announce "["+strcharinfo(0)+"] has obtained "+getitemname(.@reward_id)+" from ["+.@inventorylist_name$[.@i]+"'s "+getitemname(.@item_id)+"]!!!", bc_all; } return; } you can try something like this.
  2. you may still able to download some of the oldschool hexed clients from 2005 ~ 2010 here. https://web.archive.org/web/20170106031705/http://svn.games-service.net/
  3. if (getmapxy(@mapname$,@mapx,@mapy,0) == -1) goto L_Finish; change to if (getmapxy(@mapname$, @mapx, @mapy, BL_PC) == -1) goto L_Finish;
  4. - script atcmd_example -1,{ OnInit: bindatcmd "killcount", strnpcinfo(3) + "::OnAtcommand"; end; OnAtcommand: if (compare(.@atcmd_parameters$, "reset")) { #killcount_mob_id = 0; #killcount_amount = 0; dispbottom .@atcmd_command$+" reset successfully."; } else if (getmonsterinfo(atoi(.@atcmd_parameters$), MOB_NAME) != "null") { .@killcount_mob_id = atoi(.@atcmd_parameters$); if (.@killcount_mob_id != #killcount_mob_id) { #killcount_mob_id = .@killcount_mob_id; #killcount_amount = 0; dispbottom .@atcmd_command$+" will start count "+getmonsterinfo(#killcount_mob_id, MOB_NAME)+"."; } } else if (#killcount_mob_id) { dispbottom getmonsterinfo(#killcount_mob_id, MOB_NAME)+" Kill: "+F_InsertComma(#killcount_amount); } else { dispbottom .@atcmd_command$+" failed. Usage: "+.@atcmd_command$+" <mob_id/reset>"; } end; OnNPCKillEvent: if (killedrid == #killcount_mob_id) { #killcount_amount++; dispbottom getmonsterinfo(#killcount_mob_id, MOB_NAME)+" Kill: "+F_InsertComma(#killcount_amount); } end; }
  5. if(.@j > 3) { dispbottom "Sorry, only 3 IDs with same Unique ID are allowed on this map."; sleep2 500; dispbottom "Warping you back to Savepoint now..."; sleep2 1000; warp "SavePoint",0,0; }
  6. OnNPCKillEvent: if (getgmlevel() >= .gm ) end; // If gm = event wont happen if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) { if ( strcharinfo(3) == instance_mapname("06guild_01") ) end; if ( strcharinfo(3) == instance_mapname("force_1-1") ) end; if ( strcharinfo(3) == .t_maps$[.@a]) { if (rand(100) < .chance) getitem .s_rwd[0], .s_rwd[1]; announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all; MVPKills = MVPKills+1; dispbottom "---------------------------------------------------"; dispbottom "You killed a total of "+MVPKills+" MVP"+((MVPKills == 1)?"":"s")+"."; dispbottom "---------------------------------------------------"; end; } } end; }
  7. https://rathena.org/board/topic/105789-utility-sql-job-changer/
  8. OnNPCKillEvent: getmapxy(.@map$, .@x, .@y, BL_PC); // <----- YOU MISSED OUT THIS LINE
  9. change all getmapxy(.@map$,.@x,.@y,0); into getmapxy(.@map$,.@x,.@y,BL_PC); always read the latest rAthena changelog after you updated the server revisions.
  10. setarray .@grace_item_list, 450086, 450087, 45088; if (inarray(.@grace_item_list, getequipid(.@part)) == -1) { emotion ET_OTL; mes "[Refine Master]"; mes "Oh, I'm sorry."; mes "This item is impossible to refine."; close; }
  11. atcommand "@petrename "+.@name$; use this instead. if you are using the SQL method above, your char need to be disconnected from server before the SQL query is executed to update the server, otherwise your current character data will override the changes when it saved into database upon logout.
  12. set the max refine value to 9 instead of 10.
  13. open up the map using GRF Editor, then you can easily find out what files you are missing.
  14. i am sure you can find tons of guide to resolve your policy requirements by searching the internet. ex: https://ostechnix.com/fix-mysql-error-1819-hy000-your-password-does-not-satisfy-the-current-policy-requirements/ CREATE USER 'ragnarok'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD'; GRANT ALL PRIVILEGES ON ragnarok.* to 'ragnarok'@'%' IDENTIFIED BY 'YOUR_PASSWORD'; the IDENTIFIED BY is refer for your password.
  15. total kill count per session? when you warp into the room, reset the initial count @total_emperium_count = 0; when they killed the Emperium, @total_emperium_count++; if (@total_emperium_count > #count) { #count = @total_emperium_count; query_sql("INSERT INTO `breaker_ladder` SET `char_id` = "+getcharid(0)+", `count` = 1 ON DUPLICATE KEY UPDATE `count` = "+#count); }
  16. your Event_LMS script only assign mapflag, doesn't support assigning extra parameter for mapflag. Hence it wont work with the way you doing it. setmapflag "sec_pri", MF_RESTRICTED, 2; setmapflag "06guild_01", MF_RESTRICTED, 2; or sec_pri mapflag restricted 2 06guild_01 mapflag restricted 2 these would work.
  17. make sure you are connecting using the correct username/password. and granted access to the database. CREATE USER 'ragnarok'@'localhost' IDENTIFIED BY 'ragnarok'; GRANT ALL PRIVILEGES ON ragnarok.* to 'ragnarok'@'%' IDENTIFIED BY 'ragnarok'; https://github.com/rathena/rathena/wiki/Install-MySQL
  18. try byako,83,154,4 script Who's Online Event 99,{ mes "[Who's Online Event]"; if (getgroupid() < 99) { mes "Only GM's are allowed to use this NPC."; } else { mes "Enable event?"; if (select("Yes", "No") == 1) { mes "Event started."; donpcevent strnpcinfo(3)+"::OnStart"; } } close; OnHour00: OnHour03: OnHour06: OnHour09: OnHour12: OnHour15: OnHour18: OnHour21: OnStart: do { query_sql "select `account_id`, `name` from `char` where online = 1 order by rand() limit 1", .@aid, .@name$; attachrid .@aid; } while (checkvending() || getgroupid() >= 2 || inarray(.map$, strcharinfo(3)) == -1); announce strcharinfo(0) +" won 1 Lucky Pick Box in Exiled Lucky Pick", bc_all, 0x00FF00; getitem 50043,1; end; OnInit: setarray .map$, "prontera", "izlude", "payon"; end; }
  19. try - script Sample -1,{ OnInit: .max_limit = 1; setarray .castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; .castle_size = getarraysize(.castles$); for (.@i = 0; .@i < .castle_size; .@i++) setmapflag .castles$[.@i], mf_loadevent; end; OnPCLoadMapEvent: .@map$ = strcharinfo(3) if (inarray(.castles$, .@map$) != -1) { .@guild_id = getcharid(2); if (.@guild_id) { for (.@i = 0; .@i < .castle_size && .@match_count < .max_limit; .@i++) { if (.@map$ != .castles$[.@i] && .@guild_id == getcastledata(.castles$[.@i], CD_GUILD_ID)) .@match_count++; } getguildmember .@cid, 1; getguildmember .@aid, 2; if (.@match_count >= .max_limit) { for (.@i = 0; .@i < $@guildmembercount; .@i++) { if (isloggedin(.@aid[.@i], .@cid[.@i])) { if (attachrid(.@aid[.@i])) { if (strcharinfo(3) == .@map$) { dispbottom "There can only be "+.max_limit+" Knight per guild members inside a castle during woe."; warp "SavePoint", 0, 0; } detachrid; } } } } } } end; }
  20. https://rathena.org/board/topic/128705-woe-job-count-limit-updated/#comment-400262
  21. when you warp into the room, reset the initial count #count = 0; when they killed the Emperium, #count++; if (#count == 1) .@point = 11; else if (#count == 2) .@point = 10; query_sql("INSERT INTO `breaker_ladder` SET `char_id` = "+getcharid(0)+", `count` = 1 ON DUPLICATE KEY UPDATE `count` = `count` + "+.@point);
  22. if (rand(100) < 10) { 10% } if (rand(100) < 20) { 20% }
  23. also can try this https://rathena.org/board/topic/124827-utility-analyzeitem-count-item-in-your-server/
  24. Pick all the default or recommended or refer the patches to find out which patches are usable on the client http://nemo.herc.ws/patches/
  25. try - script Sample -1,{ OnInit: .max_limit = 10; setarray .castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; .castle_size = getarraysize(.castles$); for (.@i = 0; .@i < .castle_size; .@i++) setmapflag .castles$[.@i], mf_loadevent; end; OnPCLoadMapEvent: .@map$ = strcharinfo(3); if (inarray(.castles$, .@map$) != -1) { .@guild_id = getcharid(2); if (.@guild_id) { getguildmember .@cid, 1; getguildmember .@aid, 2; // skip check if member count less than limit if ($@guildmembercount < .max_limit) end; for (.@i = 0; .@i < $@guildmembercount && .@match_count < .max_limit; .@i++) { if (isloggedin(.@aid[.@i], .@cid[.@i])) { if (attachrid(.@aid[.@i])) { .@eac = eaclass(); if (.@eac & EAJ_SWORDMAN|EAJL_2_1 == EAJ_KNIGHT) .@match_count++; detachrid; } } } if (.@match_count >= .max_limit) { for (.@i = 0; .@i < $@guildmembercount; .@i++) { if (isloggedin(.@aid[.@i], .@cid[.@i])) { if (attachrid(.@aid[.@i])) { if (strcharinfo(3) == .@map$) { dispbottom "There can only be "+.max_limit+" Knight per guild members inside a castle during woe."; warp "SavePoint", 0, 0; } detachrid; } } } } } } end; }
×
×
  • Create New...