Jump to content

crazyarashi

Developer
  • Posts

    763
  • Joined

  • Last visited

  • Days Won

    20

Everything posted by crazyarashi

  1. //This lines if (.msg_die) message .@victimaid, "You have been killed by "+ .@killername$; if (.msg_kill) message .@killeraid, "You just killed "+ .@victimname$; to if (.msg_die) message .@victimname$, "You have been killed by "+ .@killername$; if (.msg_kill) message .@killername$, "You just killed "+ .@victimname$;
  2. switch(select("MENU 1","MENU 2",(case == 1 ? "ON" : "OFF"))){ case 1: //CODE case 2: //CODE case 3: case = (case == 1 ? 0 : 1); } Use ternary operator
  3. //callfunc("RENAME_ME",501,50,30,502,5,20,503,10,30); //ITEM ID, AMOUNT, WEIGHT function script RENAME_ME { for(.@i = 0; .@i < getargcount(); .@i += 3){ .@id[.@i/3] = getarg(.@i); .@amount[.@i/3] = getarg(.@i+1); .@size += getarg(.@i+2); for(.@j = 0; .@j < getarg(.@i+2); .@j++) .@list[getarraysize(.@list)] = getarg(.@i); } .@item = .@list[rand(.@size)]; getitem .@item,.@amount[inarray(.@id,.@item)]; return; }
  4. There seems to be people around here capitalizing over my scripts, do not be a victim of those people. March 13, 2021 Update : Added 17.1 Illusion - Custom
  5. payon,139,226,5 script Potion Converter 749,{ for(.@i = 0; .@i < .size; .@i += 5) .@menu$ += .trade[.@i+1] + " x " + getitemname(.trade[.@i]) + " for " + .trade[.@i+3] + " x " + getitemname(.trade[.@i+2]) + ":"; .@s = (select(.@menu$) - 1) * 5; .@max = countitem(.trade[.@s]) / .trade[.@s+1]; mes "Max Amount available for trade : " + .@max; next; input .@amount; .@amount = min(.@amount,.@max); if(.@amount > .@max || .@amount == 0){ mes "Amount cannot be 0 or greater than the max tradeable amount."; end; } mes "You have selected " + .trade[.@s+1] + " x " + getitemname(.trade[.@s]) + " for " + .trade[.@s+3] + " x " + getitemname(.trade[.@s+2]) + "?"; mes "This has " + .trade[.@s+4] + "% success rate."; mes "Amount : " + .@amount; mes "Note: everything you trade will be character bound potion."; next; if(select("Cancel:Trade") == 1) end; .@total = countitem(.trade[.@s+1]) * .@amount; if(countitem(.trade[.@s]) < .@total){ mes "You don't have enough item for trade."; end; } delitem .trade[.@s],.trade[.@s+1] * .@amount; for(.@i = 0; .@i < .@amount; .@i++){ if(.trade[.@s+4] < rand(1,100)) continue; .@success++; } mes "Successfully converted amount : " + .@success; getitem .trade[.@s+2],.@success * .trade[.@s+3]; end; OnInit: // < ITEM FOR TRADE >, < AMOUNT >, < ITEM TRADED >, < AMOUNT >, < SUCCESS RATE >.. setarray .trade, 11503,2,32018,1,100; .size = getarraysize(.trade); end; }
  6. OnInit: // 1 = item reward // 2 = variable/cashpoints reward // If you want to set item and variable/cashpoints rewards, do 1|2. // If you only want 1, just choose between 1 or 2 $event_options = 1|2; setarray $event_item_reward, 501, 10, 502, 5; setarray $event_var$,"EVENTVARIABLE1","EVENTVARIABLE2"; setarray $event_var_name$,"Custom Points 1","EVENT VARIABLE2"; setarray $event_var_gain,1,3; $event_item_arr = getarraysize($event_item_reward); if ( $event_options&1 ) { for ( .@j = 0; .@j < $event_item_arr; .@j += 2 ) getitem $event_item_reward[.@j], $event_item_reward[.@j+1]; } if ( $event_options&2 ) { for(.@i = 0; .@i < getarraysize($event_var$); .@i++){ .@v = getd("#" + $event_var$[.@i]) + $event_var_gain[.@i]; setd getd("#" + $event_var$[.@i]),.@v; dispbottom "You gained "+$event_var_gain[.@i]+" "+$event_var_name$[.@i]+". You now have "+getd("#" + $event_var$[.@i])+" "+$event_var_name$[.@i]+"."; }
  7. - script npc_example -1,{ OnCommand: //Add event on the start of your npc mes "I'm the Example."; end; OnInit: bindatcmd "npc1",strnpcinfo(3) + "::OnCommand"; end; }
  8. View File Compendium Compendium - A levelable battle pass inspired majority of games out there. Feature : Easy customizable settings. Three types of selectable daily quest. Daily quest requirements are randomized. Daily quest count resets everyday. Compendium resets on the first day of the month. Rewards are sent via mail. '@compendium' command to access the compendium Settings : Adding a reward on the compendium Rewards : "Level | Reward ID, Amount, Reward ID, Amount,... ==| Level order doesn't matter but 'duplicates' will bug out the script. setarray .compendium_reward$, "1|501:10,502:20", "10|501:20,502:30", "5|501:100,502:500"; Adding a monster/item/mvp to hunt or collect Just add the ID on the following line. setarray .mvp_list setarray .hunt_list setarray .gather_list Changing EXP given on the quest types. .gathering_exp = 50; .hunt_exp = 50; .mvp_hunt_exp = 100; Submitter crazyarashi Submitted 12/09/2020 Category Utilities Video Content Author crazyarashi  
  9. Version 1.1.0

    733 downloads

    Compendium - A levelable battle pass inspired majority of games out there. Feature : Easy customizable settings. Three types of selectable daily quest. Daily quest requirements are randomized. Daily quest count resets everyday. Compendium resets on the first day of the month. Rewards are sent via mail. '@compendium' command to access the compendium Settings : Adding a reward on the compendium Rewards : "Level | Reward ID, Amount, Reward ID, Amount,... ==| Level order doesn't matter but 'duplicates' will bug out the script. setarray .compendium_reward$, "1|501:10,502:20", "10|501:20,502:30", "5|501:100,502:500"; Adding a monster/item/mvp to hunt or collect Just add the ID on the following line. setarray .mvp_list setarray .hunt_list setarray .gather_list Changing EXP given on the quest types. .gathering_exp = 50; .hunt_exp = 50; .mvp_hunt_exp = 100;
    Free
  10. View File Equipment Recycle NPC A recycle NPC that uses the shop interface. Changing the rewards .reward_id = 501; .reward_point$ = "#KAFRAPOINT"; Adding a recyclable equipment. /* *=============================================================================| * .@r = Refine | .@b = Bonus =| * list_add("<Equip ID>,<Value>{,<Starting .@r for .@b>,.@b1:.@b2:.@b3:..."); =| *=============================================================================| * Cotton_Shirt w/ +8 Starting .@r bonus =| * .@r = 8 : 1 Bonus Item/Point =| * .@r = 9 : 5 Bonus Item/Point =| * .@r >= 10 : 7 Bonus Item/Point. =| *=============================================================================| * list_add(2301,8,"1:5:7"); =| ==============================================================================| */ function list_create { //= Remove samples and add here. list_add(2301,10,8,"1:5:7"); //Cotton_Shirt list_add(1201,10,7,"1:2:3:4:5"); //Knife list_add(2504,5); //Muffler_ return; } Submitter crazyarashi Submitted 12/07/2020 Category Utilities Video Content Author crazyarashi  
  11. Version 1.1.0

    586 downloads

    A recycle NPC that uses the shop interface. Changing the rewards .reward_id = 501; .reward_point$ = "#KAFRAPOINT"; Adding a recyclable equipment. /* *=============================================================================| * .@r = Refine | .@b = Bonus =| * list_add("<Equip ID>,<Value>{,<Starting .@r for .@b>,.@b1:.@b2:.@b3:..."); =| *=============================================================================| * Cotton_Shirt w/ +8 Starting .@r bonus =| * .@r = 8 : 1 Bonus Item/Point =| * .@r = 9 : 5 Bonus Item/Point =| * .@r >= 10 : 7 Bonus Item/Point. =| *=============================================================================| * list_add(2301,8,"1:5:7"); =| ==============================================================================| */ function list_create { //= Remove samples and add here. list_add(2301,10,8,"1:5:7"); //Cotton_Shirt list_add(1201,10,7,"1:2:3:4:5"); //Knife list_add(2504,5); //Muffler_ return; }
    Free
  12. - script invasion -1,{ OnInit: setarray .map$,"prontera","izlude"; function add_set; function create_set; create_set(); end; OnMinute00: function start_set; start_set(); end; OnMobDead: if(!mobcount(.current_map$,strnpcinfo(0) + "::OnMobDead")){ OnTimer900000: function end_set; end_set(); } end; //= Add your new set here. function create_set { //= add_set("Mob ID:Mob Amount{:Min amount:Max amount},....."); If min/max amount is added mob amount will be ignored. add_set("1001:50,1002:20:70:100"); add_set("1005:50:10:20,1001:20"); } function add_set { .set$[getarraysize(.set$)] = getarg(0); return; } function start_set { .current_map$ = .map$[rand(getarraysize(.map$))]; killmonster .current_map$,strnpcinfo(0) + "::OnMobDead"; explode(.@T$,.set$[rand(getarraysize(.set$))],","); for(.@i = 0; .@i < getarraysize(.@T$); .@i++){ explode(.@TT$,.@T$[.@i],":"); if(getarraysize(.@TT$) > 2){ if(atoi(.@TT$[3]) == 0) .@amount = atoi(.@TT$[1]); else .@amount = rand(atoi(.@TT$[2]),atoi(.@TT$[3])); } else .@amount = atoi(.@TT$[1]); monster .current_map$,0,0,"--ja--",atoi(.@TT$[0]),.@amount,strnpcinfo(0) + "::OnMobDead"; deletearray .@TT$[0],getarraysize(.@TT$); } announce "Invasion : Invasion has started in " + .current_map$ + ".",bc_blue; initnpctimer; end; } function end_set { announce "Invasion : All monster has been killed.",bc_blue; killmonster .current_map$,strnpcinfo(0) + "::OnMobDead"; end; } }
  13. View File Instance @cd/@cooldown Command A simple command for managing instance cooldowns or any other quest that you feel like adding. Adding new quest/instance should be simple enough for everyone. Submitter crazyarashi Submitted 12/06/2020 Category Utilities Video Content Author crazyarashi  
  14. Version 1.0.0

    635 downloads

    A simple command for managing instance cooldowns or any other quest that you feel like adding. Adding new quest/instance should be simple enough for everyone.
    Free
  15. Its either the user/pass is wrong or the user doesn't have permission. Try using localhost in your inter server configuration
  16. prontera,255,55,5 script NPC 123,{ if(!.active) end; mes "Event is active."; close; OnInit: OnHour00: .active = 0; function check_month_end; .@day = 10; .@months_end = check_month_end(); if(.@day > .@months_end) .@day = .@months_end; .@current_day = gettime(DT_DAYOFMONTH); if(.@current_day < .@day) waitingroom "Next offer appears in " + (.@day - .@current_day) + "D at 21:00",0; else if(.@current_day > .@day) waitingroom "Next offer appears in " + ((.@months_end - .@current_day) + .@day) + "D at 21:00",0; else { waitingroom "OFFER DAY!",0; .active = 1; } end; function check_month_end { .@month = gettime(DT_MONTH); switch(.@month){ case APRIL: case JUNE: case SEPTEMBER: case NOVEMBER: .@days = 30; break; case FEBRUARY: .@year = gettime(DT_YEAR); if(.@year % 4 == 0 && .@year % 100 != 0 || .@year % 400 == 0) .@days = 29; else .@days = 28; break; default: .@days = 31; break; } return .@days; } }
  17. Try adding it in, luafiles514/transparentitem/transparentitem.lub
  18. Make sure you add your robes into the following files luafiles514/datainfo/spriterobeid.lub luafiles514/datainfo/spriterobename.lub
  19. prontera,255,55,5 script exchange_tcg 123,{ .@max = Zeny/.rates; mes "[ Exchanger ]"; mes "Do you want to exchange your ^33CC33" + .rates + "^000000 Zeny to a TCG?"; next; if(select("Exchange:Quit") == 2) end; if(!.@max){ mes "[ Exchanger ]"; mes "You don't have enough zeny for the exchange."; close; } OnExchange: mes "[ Exchanger ]"; mes "You can exchange up to ^0000FF"+.@max+"^000000 TCG."; mes "How many would you like to exchange?"; next; input .@count; if(.@count == 0 || .@count > .@max){ mes "[ Exchanger ]"; mes "You can't enter 0 or you can only exchange up to ^0000FF"+.@max+"^000000 TCG."; mes "Please try again."; next; goto OnExchange; } mes "[ Exchanger ]"; mes "Are you sure you want to exchange ^33CC33" + (.rates*.@count) + "^000000 Zeny for " + .@count + "TCG?"; next; if(select("Yes:No") == 2) end; mes "[ Exchanger ]"; mes "Okay, Here you go!, Thank you for using my services."; Zeny -= (.rates*.@count); getitem .item_id,.@count; end; OnInit: .item_id = 501; .rates = 10000000; end; }
  20. I see nothing wrong with it. It's a class specific item. https://www.divine-pride.net/database/item/24403 https://www.divine-pride.net/database/item/24404
  21. Make sure you comment out everything in the conf/grf-files.txt and double check your map_cache.
  22. if(Class == Job_Knight || Class == Job_Lord_Knight){ if(checkriding()){ setoption OPTION_DRAGON1; } } //= Unequip Part of the item script //= Remove Dragon/Ride PecoPeco and changebase if(Class == Job_Knight || Class == Job_Lord_Knight){ if(checkdragon()){ setriding; setriding; } } changebase Class;
  23. The eaclass as far as i know won't work for what you're looking for since it's invoking from the player's class and baby class is a class of its own. ex : baby lord knight EAJL_THIRD is baby rune knight quite hard to explain. Another choice is to write a simple function for it that changebase to baby classes depending on the job.
  24. https://github.com/rathena/rathena/blob/master/doc/mapflags.txt#L27-L36
×
×
  • Create New...