-
Posts
776 -
Joined
-
Last visited
-
Days Won
22
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by crazyarashi
-
Looking for an Invasion Scriptwith mob selection
crazyarashi replied to Rivers's question in Script Requests
- 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; } } -
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
- 1 reply
-
- 1
-
-
-
Database MySQL / Login / Map / Char Server Error?
crazyarashi replied to Osus's question in Database Support
Its either the user/pass is wrong or the user doesn't have permission. Try using localhost in your inter server configuration -
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; } }
-
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; }
-
Doubt about kagerou and oboro shadow armor
crazyarashi replied to Hatsumi's question in Database Support
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 -
All maps are removed when operating server on linux
crazyarashi replied to dma2's question in General Support
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;
-
HOW TO MAKE EAJL BABY THIRD JOB AND BABY 2ND JOB
crazyarashi replied to n3ySkie's question in Scripting Support
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 reply
-
- 1
-
-
https://github.com/rathena/rathena/blob/master/doc/mapflags.txt#L27-L36
-
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; }
-
https://github.com/rathena/rathena/blob/34e5f537b73440589ba50532357b3bb7c9977cc5/conf/battle/battle.conf#L137-L143
-
It doesn't support https.. An alternative is to get a sub-domain for it which is usually free.
-
The pull request is for both pre-re and re.
-
No it won't since the its attached to the character and the CD is attached to the account Variables
-
prontera,229,310,3 script Ingacio#daily_mass 123,{ if(gettime(DT_DAYOFWEEK) == SATURDAY){ if(daily_mass < 3){ mes "The Daily Mass will start again tomorrow."; close; } else { if(daily_mass < 4){ .@reward = 1; } else if(daily_mass < 6){ .@reward = 2; } else if(daily_mass == 7){ .@reward = 3; } mes "Here is your reward for attending the daily mass."; .@index = (.@reward - 1) * 2; daily_mass = 0; getitem .reward[.@index],.reward[.@index + 1]; end; } } if(#daily_mass_cd > gettimetick(2)){ mes "Thank you for attending the mass today."; mes "Come back again tomorrow."; close; } if(gettime(HOUR) >= 19 && gettime(HOUR) <= 23){ mes "Thank you for attending the daily mass."; mes "Please come back again tomorrow."; if(gettime(DT_DAYOFWEEK) == SUNDAY){ daily_mass = 0; } daily_mass += 1; #daily_mass_cd = gettimetick(2) + 18000; } else { mes "We are having the daily mass between 17:00~23:00."; } end; OnHour19: enablenpc strnpcinfo(0); end; OnHour23: disablenpc strnpcinfo(0); end; OnInit: setarray .reward, //= ITEM ID, AMOUNT 501,5, //= <4 DAY REWARD 502,5, //= <6 DAY REWARD 503,7; //= 7 DAY REWARD end; } Haven't tested it yet, do try it. As for no dual there are several scripts out there for that like this one. Just add your map.
-
-
I updated the query
-
- script server_cash -1,{ query_sql("SELECT sum(`value`) FROM `acc_reg_num` WHERE `key` = '#CASHPOINTS'",.@total$); mes "Total Server Cash : " + .@total$; end; }
-
Requesting for mvp points with different value
crazyarashi replied to behemothcze's question in Script Requests
- script mvp_point -1,{ end; OnNPCKillEvent: if(!getmonsterinfo(killedrid,MOB_MVPEXP) || inarray(.mvp_point, killedrid) == -1) end; .@index = inarray(.mvp_point, killedrid) + 1; if(!getcharid(1)){ #MVP_POINT += .mvp_point[.@index]; dispbottom "You got " + .mvp_point[.@index] + " MVP Points for killing " + getmonsterinfo(killedrid,MOB_NAME) +"."; } else { getmapxy(.@map$,.@x,.@y,BL_PC); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for(.@i = 0; .@i < $@partymembercount; .@i++){ if(attachrid($@partymemberaid[.@i])){ if(strcharinfo(3) == .@map$ && isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])){ .@member_id[getarraysize(.@member_id)] = $@partymembercid[.@i]; } detachrid; } } .@size = getarraysize(.@member_id); if(.@size == 1){ #MVP_POINT += .mvp_point[.@index]; dispbottom "You got " + .mvp_point[.@index] + " MVP Points for killing " + getmonsterinfo(killedrid,MOB_NAME) +"."; end; } if(.@size > .mvp_point[.@index] || .@size == .mvp_point[.@index]){ .@point = 1; } else { .@point = (.mvp_point[.@index]/.@size); } for(.@i = 0; .@i < .@size; .@i++){ setd "#MVP_POINT",getd("#MVP_POINT") + .@point,.@member_id[.@i]; dispbottom "You got " + .mvp_point[.@index] + " MVP Points for killing " + getmonsterinfo(killedrid,MOB_NAME) +".",0x00FF00,.@member_id[.@i]; } } end; OnInit: setarray .mvp_point, //= MVP ID, Points 1039,10, 1046,20, 1112,30; end; } I haven't tested it yet. Just add all your MVP ID, Point on the array.