Jump to content

crazyarashi

Developer
  • Posts

    763
  • Joined

  • Last visited

  • Days Won

    20

Everything posted by crazyarashi

  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; }
  2. https://github.com/rathena/rathena/blob/34e5f537b73440589ba50532357b3bb7c9977cc5/conf/battle/battle.conf#L137-L143
  3. It doesn't support https.. An alternative is to get a sub-domain for it which is usually free.
  4. The pull request is for both pre-re and re.
  5. No it won't since the its attached to the character and the CD is attached to the account Variables
  6. 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.
  7. - script server_cash -1,{ query_sql("SELECT sum(`value`) FROM `acc_reg_num` WHERE `key` = '#CASHPOINTS'",.@total$); mes "Total Server Cash : " + .@total$; end; }
  8. - 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.
  9. You'll need to edit the src for pc_allskillup and add specific checks for the skill you want excluded.
  10. skill "BS_GREED",1; itemskill is for triggering skills when used. ex : fly wing, scrolls, etc..
  11. I don't know why you are looking for Endless Tower, but here https://github.com/rathena/rathena/blob/master/npc/instances/EndlessTower.txt
  12. @BFPkiller Fixed it. Just copy again ?
  13. - shop food_vendor -1,12043:20000,12058:20000,12053:20000,12063:20000,12068:20000 map,123,123,1 script Food Vendor 123,{ if(!vendor_unlocked){ mes "[ Food Vendor ]"; mes "Can you give me one " + getitemname(12128) +"?"; next; if(countitem(12128)){ if(select("Give the "+getitemname(12128)+":Cancel") == 2){ mes "[ Food Vendor ]"; mes "That's unfortunate."; close; } mes "[ Food Vendor ]"; mes "Thank you, now I can prepare my foods."; delitem 12128,1; vendor_unlocked = 1; end; } else { mes "[ Food Vendor ]"; mes "Please bring me a " + getitemname(12128) +"?"; end; } } mes "[ Food Vendor ]"; mes "How can I help you?"; next; callshop "food_vendor",1; end; }
  14. Find the line in your job_exp and change it to 120 //Job - Ninja/Gunslinger 70,24:25,..... to 120,24:25,..... //Job - Star Gladiator 50,4047:4048,..... to 120,4047:4048,.....
  15. - script item_swap -1,{ for(.@i = 0; .@i < .size; .@i++){ .@menu$ += "List " + (.@i+1) + ":"; } mes "Select a list."; next; .@s = select(.@menu$) - 1; explode(.@item$,.item_list$[.@s],","); for(.@i = 0; .@i < getarraysize(.@item$); .@i++){ .@id = atoi(.@item$[.@i]); .@item[.@i] = .@id; if(countitem(.@id)){ .@temp[getarraysize(.@temp)] = .@id; .@data$ += getitemname(.@id) + ":"; } else { continue; } } mes "Select the item you want to swap."; next; .@s = select(.@data$) - 1; .@swap_id = .@temp[.@s]; .@index = inarray(.@item,.@swap_id); for(.@i = 0; .@i < getarraysize(.@item); .@i++){ if(.@i == .@index) continue; .@swap[getarraysize(.@swap)] = .@item[.@i]; .@swap$ += getitemname(.@item[.@i]) + ":"; } mes "select the item you want to swap into."; next; .@s = select(.@swap$) - 1; delitem .@swap_id,1; getitem .@swap[.@s],1; end; OnInit: setarray .item_list$,"501,502,503,504,505","506,507,508,509,510"; .size = getarraysize(.item_list$); end; } Haven't tested this but pretty sure it will work..
  16. You can use bonus2 bExpAddClass if(fame >= 100){ bonus2 bExpAddClass,Class_All,20; //= Increase EXP gain from killing mobs by 20% }
  17. You can easily change the client side to korean language items/etc but not the scripts in the server side, but you should be able to find one. There is a forum that translates rA into korean language i just dont remember the forum name anymore.
  18. Use a full translation file Zackdreaver English Translation
  19. Just add an account variable tick to it if you want it to have an account cd, just match the cd to your quest_db cd. //= Instance Creation Check if (is_party_leader() == false) { mes "[Civilization Explorer]"; mes "Ah. You aren't the party leader. Take me to your leader! Or perhaps take your leader to me."; close; } if(#CentralLabCD > gettimetick(2)){ mes "[Civilization Explorer]"; mes "Account CD Mes"; close; } //= Instance Enter case IE_OK: mapannounce "verus01", "" + strcharinfo(0) + " of the party, " + getpartyname(.@party_id) + ", is entering Central Laboratory.",bc_map,"0x00FF99"; #CentralLabCD = gettimetick(2) + 9999999; //= Account CD setquest 12347;// Trace of Laboratory Access end;
×
×
  • Create New...