-
Posts
763 -
Joined
-
Last visited
-
Days Won
20
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by crazyarashi
-
-
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
- 1
-
//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; }
-
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
- 2
-
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; }
- 1
-
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]+"."; }
- 1
-
- 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; }
-
Changed it. Thanks Akkarin ^^
-
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
-
Submitted12/09/2020
-
Category
-
Video
-
Content Authorcrazyarashi
- 1
- 4
-
-
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
-
Submitted12/07/2020
-
Category
-
Video
-
Content Authorcrazyarashi
- 1
- 1
-
-
- 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; } }
-
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
-
Submitted12/06/2020
-
Category
-
Video
-
Content Authorcrazyarashi
- 1
-
-
Its either the user/pass is wrong or the user doesn't have permission. Try using localhost in your inter server configuration
- 2
-
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; } }
- 1
-
Try adding it in,
luafiles514/transparentitem/transparentitem.lub -
Make sure you add your robes into the following files
luafiles514/datainfo/spriterobeid.lub
luafiles514/datainfo/spriterobename.lub -
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; }
-
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 -
Make sure you comment out everything in the conf/grf-files.txt and double check your map_cache.
-
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;
-
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.- 1
-
-
prontera,123,123,1 script Reward NPC 123,{ .@unique_id$ = get_unique_id(); if($reward_status > 0 || $reward_count < 1){ mes "[ Reward NPC ]"; mes "Sorry, but the first 50 rewards are out. Better luck next time."; close; } if(getd("$ID_" + .@unique_id$) > 0 || #NPCREWARD > 0){ mes "[ Reward NPC ]"; mes "You have already claimed your reward."; close; } mes "[ Reward NPC ]"; mes "Here's your reward. Have a nice day!"; setd "$ID_" + .@unique_id$,1; #NPCREWARD = 1; $reward_count -= 1; for(.@i = 0; .@i < getarraysize(.rewards); .@i += 2) getitem .rewards[.@i],.rewards[.@i+1]; if($reward_count == 0) $reward_status = 1; end; OnInit: .reward_count = 50; if($reward_status == 0 && $reward_count == 0) $reward_count = .reward_count; setarray .rewards,501,10,502,10; while($reward_count > 0){ delwaitingroom; waitingroom "Rewards left - " + $reward_count, 0; sleep 10000; } end; }
- 1
-
-
It doesn't support https.. An alternative is to get a sub-domain for it which is usually free.
- 1
unexpected type for argrument 1 expected string . PVP script
in Scripting Support
Posted
//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$;