Jump to content

All Activity

This stream auto-updates

  1. Today
  2. Hello , how can i make sure that i enable ( enable proxy support ) in my client ?
  3. Hi, I'm trying to write a script where players can register for a tournament of up to 3 members per team and saves in the database. But I got stuck in the counting part. I tried using this: gm_room,76,56,5 script Tournament 757,{ mes "Team Name"; input [email protected]_name; next; mes "test"; for( set [email protected],0; [email protected] < 1; set [email protected],[email protected] + 1 ){ query_sql( "SELECT SUM(`amount`) FROM `tournament` WHERE `team_name`='"[email protected]_name+"'",[email protected] ); set [email protected],[email protected] + ( [email protected] ); } mes "Found "[email protected]+" x "[email protected]+ ""; query_sql "INSERT INTO `tournament` VALUES ( '', '" + [email protected] + "', '" + getcharid(0) + "', '" + strcharinfo(0) + "', '" + [email protected]_name + "', '1' , NOW() )"; close; end; }
  4. Yesterday
  5. I wonder how this can work too, i need it.
  6. munkrej

    MuhRO

    Introduction We are a guild that has come together to make our idea of a renewal server come true. For this we have spent the last half year creating a server based on KRO. KRO, but with our custom quality of life changes. And we're just at the beginning of this journey. Open Beta started on 08 September 2021, but you don't have to fear of any wipes. If you ever wanted to be part of the early days of a server and want to help forming it, this is your chance! Our friendly team is open to positive as well as negative feedback. Any suggestions / wishes will be listened to - of course some may be denied Have a look, maybe you hear a moo here and there. General Informations Registration Website Wiki Forum Discord Type: Renewal with 4th Jobs EXP Rates: Base 20x / Job 20x Drops: logarithmic 20x (this means the lower the usual drop chance is, the higher the bonus) Normal / Miniboss Cards: 0.10% MVP Cards: 0.02% Max Base Level: 250 Max Job Level: 70 (dependent upon Job) Max Aspd: 193 Server Location: EU (France) Server Time: UTC Staff's Languages: English, German Features Master Accounts Custom Commands Automated Events Unified RoDex Game Launcher Updated Eden Vending Map Daily Rewards Main Office Login Settings Many more and lots to come ~ Hope to see you soon ~ Muh ~
  7. Yeah it's LUK and base MDEF, not VIT nor soft MDEF (gained from INT). Soft MDEF var is mdef2 in src Maybe if you can provide a video that Freeze duration also lessens with INT, then you can post an issue in github
  8. Hi ! Im using hourly point system from rathena .. I just want to add a feature that check if there are other logged in players with same Gepard ID. regardless the map or area ... For example I logged in my first account , The hourly system will start the countdown for rewards, But if I login my 2nd account there will be a message that "We have detected same Gepard ID logged in in game. We will hault your hourly points system." Heres the script .. I hope someone can help me - script hourlypoints FAKE_NPC,{ OnInit: //announce "[30 Minutes Points System]: The system have been reloaded, please relog again to get more points.", bc_all; announce "[Hourly Reward System]: Hourly system has been reloaded, please relog again to get more points.", bc_all; .point_name$ = "Hourly Points"; .point_amt = 5; // Normal points gained. .dlimit = 900; // Stop points if afk greater then in seconds. 600s = 10 minutes //43200 .enable = 1; .level = 0; .online_time = 3600; // One hour = 3600 seconds bindatcmd "hourlyinfo", "hourlypoints::OnAtcommand", 0, 100; //bindatcmd "hourlypoints", "hourlypoints::OnCheckPoints", 0, 100; end; OnPCLoginEvent: if (BaseLevel >= .level) { #idle = 0; @backup_time = 0; if (!#acctick || #acctick > .online_time) #acctick = gettimetick(2) + .online_time; else #acctick += gettimetick(2); while(.enable) { @idle_time = checkidle(); if (checkvending() >= 1 || checkchatting() == 1 || @idle_time >= .dlimit) // { #acctick += @idle_time; // Add idle time #idle = 1; dispbottom "The hourly points event haulted because you were vending, chatting, or idle."; } else { sleep2 1000; @backup_time = [email protected]_left = #acctick - gettimetick(2); if ([email protected]_left <= 0) { if (vip_status(1)) { #HOURLYPOINTS += .point_amt + 1; #acctick = gettimetick(2) + .online_time; dispbottom "[Hourly Reward System]: Gained " + .point_amt + " " + .point_name$ + " +1 " + .point_name$ + " [Vip Bonus]. Stay online and gain more points."; } else { #HOURLYPOINTS += .point_amt; #acctick = gettimetick(2) + .online_time; dispbottom "[Hourly Reward System]: Gained " + .point_amt + " " + .point_name$ + ". Total " + #HOURLYPOINTS + " Hourly Points. Stay online to gain more points."; } } else { [email protected]_left = .online_time - [email protected]_left; [email protected]$ = ""; [email protected] = [email protected]_left / 60; [email protected]_left -= ([email protected] * 60); if ([email protected] > 1) [email protected]$ += [email protected] + " minutes, "; else if ([email protected] > 0) [email protected]$ += [email protected] + " minute, "; if ([email protected]_left > 1 || [email protected]_left == 0) [email protected]$ += [email protected]_left + " seconds"; else if ([email protected]_left == 1) [email protected]$ += [email protected]_left + " second"; if ([email protected] == 15 && [email protected]_left == 0 || [email protected] == 30 && [email protected]_left == 0 || [email protected] == 45 && [email protected]_left == 0) dispbottom "[Hourly Reward System]: You spend a total of [" + [email protected]$ + "] playing."; } } if (#idle) break; } } end; OnPCLogoutEvent: // BackUP online time if (BaseLevel >= .level) { if (@backup_time) #acctick = @backup_time; } end; OnCheckPoints: dispbottom "[Hourly Reward System]: You have a total of ["+ #HOURLYPOINTS +"] Hourly Points.",0xRRGGBB; end; OnAtcommand: if (BaseLevel >= .level) { if (#idle) { [email protected]$ = ""; [email protected] = @idle_time / 60; [email protected]_left = @idle_time - ([email protected] * 60); if ([email protected] > 1) [email protected]$ += [email protected] + " minutes, "; else if ([email protected] > 0) [email protected]$ += [email protected] + " minute, "; if ([email protected]_left > 1 || [email protected]_left == 0) [email protected]$ += [email protected]_left + " seconds"; else if ([email protected]_left == 1) [email protected]$ += [email protected]_left + " second"; dispbottom "[Hourly Reward System]: You been idle for " + [email protected]$ + ". Please relog again.",0xRRGGBB; } else { [email protected]_left = @backup_time; [email protected]$ = ""; [email protected] = [email protected]_left / 60; [email protected]_left -= ([email protected] * 60); if ([email protected] > 1) [email protected]$ += [email protected] + " minutes, "; else if ([email protected] > 0) [email protected]$ += [email protected] + " minute, "; if ([email protected]_left > 1 || [email protected]_left == 0) [email protected]$ += [email protected]_left + " seconds"; else if ([email protected]_left == 1) [email protected]$ += [email protected]_left + " second"; dispbottom "[Hourly Reward System]: You have [" + [email protected]$ + "] left in able to gain a hourly points.",0xRRGGBB; } } end; }
  9. For portals you have to do what the first guy who replied to your question about "OnTouch" Event but for priest warp you have to edit src codes as far as i know.
  10. Yes I tried sir .. But every time I use fly wing in prontera the dispel still triggers .. It should be on warp only not on teleport
  11. this is a paid service and if you wish someone to update it for you personally, you had to negotiate with them or with the author of this mod.
  12. try to indicate inside the txt file of the the script the loadevent mapflag. You have to put it after the script just like how we do on the other mapflags or try to set an array to blocklist some maps to your list. ex. prontera mapflag loadevent
  13. - script hourly_point_main -1,{ OnInit: .npc_name$ = strnpcinfo(3); bindatcmd "check",.npc_name$+"::OnAtcommand"; end; OnAtcommand: dispbottom "Accumulated "+#daily_minute_count; end; OnUpdate: if (checkvending()) { dispbottom "Hourly point stopped due to vending."; end; } #daily_minute_count++; deltimer .npc_name$+"::OnUpdate"; switch ( #daily_minute_count ) { default: break; case 60: // 60 minutes #CASHPOINT += 1; getitem 677,1; break; case 120: // 120 minutes #CASHPOINT += 1; getitem 677,1; break; case 180: // 180 minutes #CASHPOINT += 1; getitem 677,1; break; case 240: // 240 minutes #CASHPOINT += 1; getitem 677,1; break; case 300: // 300 minutes #CASHPOINT += 1; getitem 677,1; break; case 360: // 360 minutes #CASHPOINT += 1; getitem 677,1; break; case 420: // 420 minutes #CASHPOINT += 1; getitem 677,1; break; case 480: // 480 minutes #CASHPOINT += 1; getitem 677,1; #daily_minute_count = 0; // reset. break; } OnPCLoginEvent: addtimer ( 60 * 1000 ), .npc_name$+"::OnUpdate"; end; }
  14. EquipScript: | addtimer (60 * 1000), "Sample::OnUpdate"; UnEquipScript: | deltimer "Sample::OnUpdate"; - script Sample -1,{ OnUpdate: if (checkvending()) { dispbottom "Hourly Point stopped due to vending."; } else if (checkchatting()) { dispbottom "Hourly Point stopped due to chatroom."; } else if (checkidle() >= 60) { // idled for 60 seconds dispbottom "Hourly Point stopped due to idle."; } else { #hourly_point_duration++; if (#hourly_point_duration >= 60) { #hourly_point++; dispbottom "Hourly Point +1. Total "+#hourly_point+" Points."; } addtimer (60 * 1000), strnpcinfo(3)+"::OnSample"; } end; }
  15. Hi there Snaehild! I'm so glad you like it! I hope to release support for mob_db.txt by the end of this month
  16. I would like to ask if I need an alternative gcc-5 to install, tried to follow the instruction but did encountered no installation candidate on step 4.
  17. - Id: 501 AegisName: Red_Potion Type: Healing Script: | callfunc("F_SignedItem", 501, IG_Taming); function script F_SignedItem { [email protected]_id = getarg(0, 0); [email protected] = getarg(1, 0); if ([email protected]_id && [email protected]) { getinventorylist; for ([email protected] = 0; [email protected] < @inventorylist_count; [email protected]++) { if (@inventorylist_id[[email protected]] == [email protected]_id && @inventorylist_card3[[email protected]] && @inventorylist_card4[[email protected]]) { [email protected]_cid = (@inventorylist_card3[[email protected]] | (@inventorylist_card4[[email protected]] << 0x10)); query_sql("SELECT `name` FROM `char` WHERE `char_id` = "[email protected]_cid, [email protected]_name$); [email protected]_name$ = getitemname([email protected]_id); if ([email protected]_name$ != "") [email protected]_name$ = [email protected]_name$+"'s " + [email protected]_name$; [email protected]_name$[[email protected]] = [email protected]_name$; [email protected]$ = [email protected]$ + [email protected]_name$; } [email protected]$ += ":"; } [email protected] = select([email protected]$) - 1; delitem2 @inventorylist_id[[email protected]],1,@inventorylist_identify[[email protected]],@inventorylist_refine[[email protected]],@inventorylist_attribute[[email protected]],@inventorylist_card1[[email protected]],@inventorylist_card2[[email protected]],@inventorylist_card3[[email protected]],@inventorylist_card4[[email protected]]; [email protected]_id = groupranditem([email protected]); getitem [email protected]_id, 1; announce "["+strcharinfo(0)+"] has obtained "+getitemname([email protected]_id)+" from ["[email protected]_name$[[email protected]]+"'s "+getitemname([email protected]_id)+"]!!!", bc_all; } return; } you can try something like this.
  18. care to share how we can do this? as far as i know you can only use that effects on top of the player.
  19. as I said before , the data are saved in the card slots , you can read the card slot and check out what the return value --------------------------------------- *getequipcardid(<equipment slot>,<card slot>) Returns value from equipped item slot in the indicated slot (0, 1, 2, or 3). This function returns CARD ID, CARD0_FORGE, CARD0_CREATE, or CARD0_PET (for card 0, if the item is produced). It's useful for when you want to check whether an item contains cards or if it's signed. ---------------------------------------
  20. Hi there. We have seen that the problem is that we do not use the main branch. If not, a branch where the emulator already has the refine ui and the lapine system implemented. But it hasn't been updated for months, and it doesn't contain the const.yml. We have tried with the rathena master, and put the lapine system, but it does not compile well, it gives errors. Thanks.
  21. Well this is how it really works in pre-re (not sure in re) VIT defense, or some people call it the soft DEF (or the + after the base def) works as final damage reduction (E.g enemy has 1000 damage to you, you have 100 vit-defense = literal -100 damage) and you gain 1 VIT def per every 1 VIT you have from base VIT or + VIT while base DEF (gained from armors & cards with DEF effects) gives you 1% physical resistance per base DEF (capped at 90) I'm not sure with soft MDEF but it should work the same. Same with base MDEF The status chances that can be resisted & reduce duration by base VIT are the following: Bleeding Curse Poison Silence Stun Each base VIT grants -1% chance for them to proc. You can read more here: https://irowiki.org/classic/Stats P.S I'm not sure if iro classic follows exactly the same mechanics as kRO, but most are identical
  22. It's because there's no more skill_cast_db on the latest rA. Then try putting 3000 on duration2 as well
  23. When you add base vit and int, it adds up to the bonuses and not to the base mdef and def. It also affects duration of freeze and stun status because of this.
  24. Made a OnTouch NPC on those maps. (Store temporary char variable @ is_buff_removed and use this variable to checking further)
  25. Hi guys ! Ive created a simple script that will dispel a player on map load. But the problem is my only plan is to dispel players who enter the portal or who uses warps (priest), so inshort it has to be a different map to trigger the dispel and not by Teleport skill.. How to make teleport skip the dispel ?? thankyou .. OnPCLoadMapEvent: //for( set .i,0; .i < getarraysize( .Maps$ ); set .i,.i + 1 ) //if( strcharinfo(3) == .Maps$[.i] ) //sc_end sc_spirit; sc_end sc_gospel; sc_end SC_POEMBRAGI; sc_end SC_APPLEIDUN; sc_end SC_ASSNCROS; sc_end SC_WHISTLE; //sc_end 37; // holy weapon //sc_end 38; // holy armor sc_end 187; // increase all stat sc_end 194; // increase hit sc_end 196; // increase flee sc_end 198; // max hp increase sc_end 199; // max sp increase sc_end 200; // attach strength sc_end 202; // increase def sc_end 214; // SC_SCRESIST sc_end 175; // POEMBRAGI sc_end 181; // SERVICE4U //specialeffect2 235; end;
  26. Last week
  27. Thankyou sir !!! I will try this later ... One more question .. How about making it up to max 5 mob id ??? like for example I type @killcount Poring and @killcount Fabre and 3 other they all work but on 6th it should say , @killcount max is 5 only . with @killcount reset 1 to 5 ,,and @killcount will show 5 mobs ..Thankyou sir
  1. Load more activity
  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.