Leaderboard
Popular Content
Showing content with the highest reputation on 04/26/20 in all areas
-
It's not already time to implement a foreach? for( .@i = 0; .@i < getarraysize(.@array); .@i++) { dispbotom "Val is " + .@array[.@i]; } We could use: foreach( .@val : .@array ) { dispbottom "Val is " + .@val; } I could try to implement this but the script parser it's a bit confuse to me and I think someone could implement this better than me1 point
-
now I am developing Node Webkit roBrowser and it's working great. I'm planing about open source. Hope community support the project because I'm not good at webgl. The client, Node Webkit roBrowser support 2018-06-20 packet version.1 point
-
// https://rathena.org/board/topic/123699-goldroom-adding-limit-for-300mins/ prontera,155,181,5 script Sample#goldroom 4_F_KAFRA1,{ doevent "gold_room_main::OnTalk"; } // warp portal back prontera ordeal_3-2,123,123,0 warp gold_room_back_prt 1,1,prontera,155,181 // peco peco summon ordeal_3-2,0,0,0,0 monster Peco Peco 1019,200,60000,0,"gold_room_main::OnKill" - script gold_room_main -1,{ OnInit: // gold room map .map$ = "ordeal_3-2"; // entrance fee .zeny_cost = 200000; // rate to get gold .rate = 50; // gold random amount setarray .gold_amount,1,5; setmapflag .map$,mf_noteleport; setmapflag .map$,mf_pvp; setmapflag .map$,mf_pvp_noguild; setmapflag .map$,mf_pvp_noparty; setmapflag .map$,mf_nobranch; setmapflag .map$,mf_nosave; setmapflag .map$,mf_nomemo; setmapflag .map$,mf_noreturn; setmapflag .map$,mf_nowarp; setmapflag .map$,mf_nowarpto; end; OnTalk: mes "Enter Gold Room ?"; if ( .zeny_cost ) mes F_InsertComma( .zeny_cost ) + " Zeny"; switch ( select( "Enter Gold Room", "Exchange Gold Point", "Cancel" )) { case 1: if (gettimetick(0) < #GOLDROOM_CD) { mes "You can only re-enter after "+(#GOLDROOM_CD - gettimetick(0))+" seconds."; } else if ( Zeny < .zeny_cost ) { mes "Not enough Zeny."; } else { #GOLDROOM_CD = gettimetick(0) + (12 * 60 * 60 * 1000); // 12 hours cooldown. Zeny -= .zeny_cost; deltimer strnpcinfo(3)+"::OnKick"; addtimer (300 * 60 * 1000), strnpcinfo(3)+"::OnKick"; warp .map$,0,0; } break; case 2: mes "You got "+F_InsertComma( #GOLDPOINTS )+" Points"; input .@value,0,#GOLDPOINTS; if ( checkweight( 969, .@value ) ) { #GOLDPOINTS -= .@value; getitem 969,.@value; mes "Gained "+.@value+" Gold."; } else { mes "You overweight."; } default: break; } close; OnKick: if (strcharinfo(3) == .map$) { dispbottom "Gold Room : Time's UP !"; warp "SavePoint", 0, 0; } end; OnKill: if ( .rate < rand( 100 ) ) { .@point = rand( .gold_amount[0],.gold_amount[1] ); #GOLDPOINTS += .@point; dispbottom "Gained "+.@point+" Point. You got "+F_InsertComma( #GOLDPOINTS )+" Points now."; } end; OnPCDieEvent: .@killerrid = killerrid; if ( strcharinfo(3) == .map$ && .@killerrid != getcharid(3) && getmonsterinfo( .@killerrid,MOB_NAME ) != "null" ) { #GOLDPOINTS = 0; dispbottom "You died, you lost all the point."; } end; }1 point
-
there is too many guides on how to make client files little installer is all the client files except data.grf rdata.grf and BGM folder. those are somewhat out-dated however you can follow the client side guide part in other topic like the main thing is , you create exe < than get kro client , add your exe to it , remove the data.grf /rdata.grf / BGM folder , compress it to zip and upload it. there is some files that you could remove too from the client folder , however you need to be more experienced to move to that topic1 point
-
1 point
-
Evening all, I hope you're all well! I've decided to post this instead of send out a mass email, because I know most of you have opted not to receive them. Service Continuation For the most part, rAthena is, and will continue to operate as normal during these trying times. We understand that the need for isolation will undoubtedly cause more traffic to our forums, which we have been prepared for since February and additional measure have been put in place in case traffic sees a random surge. Our aim is to ensure that all the information is available to you when you need it. Risk of Fraud We are also aware that during a crisis, individuals will come out of the woodwork with a view to causing harm in the form of defrauding and scamming our users. Please be diligent before handing over any money to someone you don't know. You can check a list of our approved 3rd Party Services here that have been personally vetted before approval. Staff All of rAthena's staff are volunteers, giving up their free time working towards the betterment of the project. We're also all safe and well and hope you and your families are, too. At a time when parts of the world are stuck indoors, we're using this time to continue overhauling systems. The developers are working hard on their respective projects, be they database conversions to YAML or the refactoring of older mechanics, you can be sure they're busy! The moderators have been tasked with ensuring as many of the support topics as possible have the "Best Answer" post selected in an effort to aid users. Community Please use the search feature before posting new topics. I can assure you that 99% of questions have already been answered, usually twice within the last 3 months. The function of what a community is and what it's capable of is being tested and pushed to it's limits all around the world. Look after each other and be helpful. Home Life Please be sensible and use your common sense. Wash and/or sanitise your hands regularly. Especially your keyboard and mouse! Be kind to each other. Stay safe.1 point
-
this must be in the Source Section but anyways, I am here to help Find in the skill.cpp //Special message when trying to use strip on FCP [Jobbie] if( sd && skill_id == ST_FULLSTRIP && tsc && tsc->data[SC_CP_WEAPON] && tsc->data[SC_CP_HELM] && tsc->data[SC_CP_ARMOR] && tsc->data[SC_CP_SHIELD]) { clif_gospel_info(sd, 0x28); break; } Add this after: if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 10 && ( skill_id == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] || skill_id == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] || skill_id == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] || skill_id == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) { int item_id = 7139; // Glistening Coat int ii; ARR_FIND( 0, MAX_INVENTORY, ii, sd->inventory.u.items_inventory[ii].nameid == item_id ); if ( ii < MAX_INVENTORY ) { pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME); switch ( skill_id ) { case RG_STRIPWEAPON: status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER ); sc_start(NULL,bl,SC_STRIPWEAPON,100,skill_lv,skill_get_time(skill_id,skill_lv)); break; case RG_STRIPSHIELD: status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER ); sc_start(NULL,bl,SC_STRIPSHIELD,100,skill_lv,skill_get_time(skill_id,skill_lv)); break; case RG_STRIPARMOR: status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER ); sc_start(NULL,bl,SC_STRIPARMOR,100,skill_lv,skill_get_time(skill_id,skill_lv)); break; case RG_STRIPHELM: status_change_end( bl, SC_CP_HELM, INVALID_TIMER ); sc_start(NULL,bl,SC_STRIPHELM,100,skill_lv,skill_get_time(skill_id,skill_lv)); break; } clif_skill_nodamage( src, bl, skill_id, skill_lv, i ); break; } } Let me know If I got this correct ?1 point
-
These are a showcase of some stuff I have created in my test server. From time to time I will also give back to the community with free releases every now and then. Please note that these showcases,releases and entries do not translate in me being a decent coder. I merely enjoy coding for RO in general. With that said, enjoy and hopefully you find the contents within, inspiring. Personalized MvP Ranker - 100% Working Weekly Ranking All Time Ranking Personal MvP Kill Tracker Weekly Ranking Rewards Exclusive Top 3 Rank Title Titles reset on a weekly basis as well (Sunday) Midgard Adventurer Association - 100% Working Tier-based quests Tier-based shop Tier-based rewards Tier-based titles Repeatable quests for Adventurer XP grinding Item Collection quest required to rank up Personalized WoE Ranker - Discontinued until further notice Weekly Ranking Monthly Ranking All Time Ranking Break Record Repair Barricade Record Kill Record Exclusive Top 3 Rank Title Record (Breaker, Killer, Repairer) Titles reset on a monthly basis as well (First day of the month) Video Preview [ Will edit soon ] Freebies Section Support NPC Let's you control when players can use @request Allows staff members announce to players that they are either Available now, or Unavailable King of Poring (King of Emperium) - Discontinued until further notice 4 teams duke it out in a PvP Arena Win conditions are: Be the last team standing OR obliterating the poor poring at the middle of everything Each corner has their Healer and Buffer NPC, providing most buffs to the players prior to the match When the round begins, Healer and Buffer NPC will disappear, along side the invisible barriers Time limit of 15 minutes is in play, if it exceeds 15 minutes, players with the most surviving members will win Rewards will be distributed to all participants, winners will have their own special reward Equipment / Weapon Disassembly - Non-extended version Disassembles equipment / weapons to produce Elunium/Oridecon respectively Shields, Headgears and Accessories are treated as "Equipment/Armor" Items listed in the OnInit file are considered as black listed More will be coming soon, stay tuned.1 point
-
1 point