Jump to content

Utility: Automated MVP ladder & reward system


pajodex

Recommended Posts


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

Automated MVP ladder & reward system


New Feature:
    * Event will only trigger to MVPs in their respective maps..
    * If Amon Ra is killed outside moc_pryd06, script wont trigger..

Header

Spoiler

//===== rAthena Script =======================================
//= Automated MVP Ladder and reward system 
//===== By: ==================================================
//= pajodex
//===== Current Version: =====================================
//= 4.0
//===== Compatible With: =====================================
//= rAthena Project (pajodex)
//===== Description: =========================================
/*

- MVP Ladder which is fully automated.
- Just leave it on and NPC will do the rest.
- Easy configure
- Added @mvpreset command to reset the ladder. It will also reset the 
  monthly and weekly if it is on the '.day' and '.week' at settings 
- Updated with latest mail command https://github.com/rathena/rathena/commit/5b13dc7009e312585bba0ea55d77fc5afa8aecad

New Feature:
    * Event will only trigger to MVPs in their respective maps..
    * If amon ra is killed outside moc_pryd06, script wont trigger..
    

*/
//=====******** Note ********=================================
//= if you find bugs or problem, please do tell DM me at
//= Discord (pajodex#1328) or rAthena (pajodex) 
//= open for suggestions
//===== Additional Comments: =================================
// 1.0 - Initial release (MVP Kill standalone)
// 2.0 - Added SQL based with ladder
//         Added automatic reward system
//         Added functions
//         Added bitwise variables
//         Optimization
// 2.1 - Cleaned the script
//         updated title
// 2.2 - Fixed error on reward if players are offline    
// 2.3 - Added nobranch mapflags to all maps listed (Sukea23 via discord)
// 2.4 - Ranking fixed (reported by Sukea23)
// 3.0 - Script optimization and re-work
//         added new ranker feature : view your rank
//         added mvp ladder points system
//         added simple mvp ladder shop
// 3.1 - Fix ranking issues on tie-cases (reported by Heikenz) https://rathena.org/board/topic/114565-utility-automated-mvp-ladder-reward-system/?do=findComment&comment=344981
//         added item as currency support in ladder shop (Heikenz)
//         modified F_CheckMvpLadder function 
//         Special Thanks to : AnnieRuru for mentoring me.
// 4.0 - Updated to latest svn
//          Now uses *mail script command. You must UPDATE your trunk
//       or apply this commit https://github.com/rathena/rathena/commit/5b13dc7009e312585bba0ea55d77fc5afa8aecad
//         Script Optimization
//         Script Rework
//       Now uses a new SQL table that utilizes InnoDB instead of MyISAM
// -------------------------------------------------------
//         How to use F_MVPReward:
//         F_MVPReward ( <tablename>, <Num of players to get reward (default : 10)>, <rewardarrays> )
//         This will allow you to set the number of players to receive
//         the rewards. For small population server, you can set this to 5 or 
//         any amount as you wish.
//         This update is in-response to Holograma's question in the post:
//        https://rathena.org/board/topic/114565-utility-automated-mvp-ladder-reward-system/?tab=comments#comment-341725
//===== Credits goes to: =====================================
//= hurtsky
//= secret
//= sader1992
//= Stolao
//= Euphy 
//= AnnieRuru
//=============================================================

Config table:

Spoiler

// Bitwise Variables 
    // 1 = enable daily reward and record
    // 2 = enable weekly reward and record
    // 4 = enable monthly reward and record
    // 8 = enable mvp ladder item reward when killing MVP
    // 16 = enable mvp ladder points when killing MVP
    .Option = 1|2|4|8|16;    
    
    // NPC Name
    .nm$ = "[ ^FF0000MVP Ranker^000000 ]";
        
    // Point rewarded when mvp is killed (if Option 16 is enabled)
    .point = 100;    
    
    // Chance of getting an item (if Option 8 is enabled)
    .chance = 80;    
    
    // Day of the month to automatically get reward
    .day = 1;
    
    // Day of the week
    .week = SUNDAY; 
    
    setarray .reward,    // rewards for mvp killing    
        501, 10,        // Solo reward <item>, <amt>
        501, 5;            // Party reward <item>, <amt>
    
    // daily top 10 reward <ID>,<AMOUNT>,<ZENY>
    setarray .daily_rwd,  
            607,3,1000, // top 1
            607,2,1000,
            607,2,1000,
            607,2,1000,
            607,2,1000,
            607,2,1000,
            607,2,1000,
            607,2,1000,
            607,2,1000,
            607,1,1000;    // top 10    
    
    // weekly top 10 reward <ID>,<AMOUNT>,<ZENY>
    setarray .weekly_rwd,   
            607,3,10000, // top 1
            607,2,10000,
            607,2,10000,
            607,2,10000,
            607,2,10000,
            607,2,10000,
            607,2,10000,
            607,2,10000,
            607,2,10000,
            607,1,10000; // top 10
            
    // monthly top 10 reward <ID>,<AMOUNT>,<ZENY>
    setarray .monthly_rwd, 
            607,3,100000, // top 1
            607,2,100000,
            607,2,100000,
            607,2,100000,
            607,2,100000,
            607,2,100000,
            607,2,100000,
            607,2,100000,
            607,2,100000,
            607,1,1000; // top 10
            
    // use @mvpreset command to reset the ladder. It will also reset the ...
    // ... montly and weekly if it is on the .day and .week settings from above
    bindatcmd("mvpreset" ,strnpcinfo(0)+"::OnReward",99,99);
    
    // No branch mapflags on the maps listed..
    for(.@i = 0; .@i < getarraysize(.t_maps$); ++.@i)
        setmapflag .t_maps$[.@i], mf_nobranch;
    
    // ladder shop
    npcshopdelitem "mvp_ladder_shop_q", 607;
    
    for(.@i = 0; .@i < getarraysize(.Shop); .@i = .@i + 2)
        npcshopadditem "mvp_ladder_shop_q", .Shop[.@i], .Shop[.@i + 1];
    
    waitingroom "MVP LADDER!",0;

Q: What makes this special and different to other MVP Ladders?

Quote

I guess the auto - ladder reset and reward can make this special and definitely different. Configs are so easy even a 7 y.o. can set the config xD

Q: Why sell it instead of free releaase?

Quote

Aside from the time and effort I spent writing this, I also want to help rAthena grow and continue

 

By downloading this file, you agree with my Terms of Service:

• You are not allowed remove my signature from any of the included files.
• You are not allowed sell, resell or in any form for money or rewards using my work.
• You are not allowed claim my work as yours.

• I have the rights to change all the terms above without prior notice. 

 


  • Submitter
  • Submitted
    02/02/2018
  • Category
  • Video
  • Content Author
    pajodex

 

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  234
  • Reputation:   115
  • Joined:  02/24/15
  • Last Seen:  

Does the rank differ from those who use dead branches or bloody branches?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

On 2/13/2018 at 7:45 AM, maken06 said:

Does the rank differ from those who use dead branches or bloody branches?

as long as the mvps are not not spawned in the maps listed, it shoudnt work. 

Link to comment
Share on other sites

  • 1 month later...

  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  1
  • Reputation:   0
  • Joined:  03/31/18
  • Last Seen:  

Hey, is there a way to change the reward system

Like i want 3 rewards daily, 6 weekly and 10 monthly

I will try to do something here..

Change the func name:

OnReward:
OnClock0000:
	if(.Option&4 && gettime(DT_DAYOFMONTH) == .day ){
		callfunc ( "F_MVPRewardm" , "month_kills" ,  .MailTitle$[2] ,  .Prize_m[.@i * 3 + 2] ,  .Prize_m[.@i * 3] ,  .Prize_m[.@i * 3 + 1] , "Monthly");
		sleep 5000;
	}
	if(.Option&2 && gettime(DT_DAYOFWEEK) == .week ){
		callfunc ( "F_MVPRewardw" , "week_kills" ,  .MailTitle$[1] ,  .Prize_w[.@i * 3 + 2] ,  .Prize_w[.@i * 3] ,  .Prize_w[.@i * 3 + 1] , "Weekly");
		sleep 5000;
	}
	if (.Option&1) {
		callfunc ( "F_MVPRewardd" , "day_kills" ,  .MailTitle$[0] ,  .Prize_d[.@i * 3 + 2] ,  .Prize_d[.@i * 3] ,  .Prize_d[.@i * 3 + 1] , "Daily");
		}
	end;

add three new func: (and change the 10 to 3 and 6)

function	script	F_MVPRewardm	{
		query_sql("SELECT `char_id` FROM `mvp_ranking` WHERE `"+getarg(0)+"` ORDER BY CAST(`"+getarg(0)+"` AS SIGNED) DESC LIMIT 10",.@cid);
		for(.@i = 0; .@i<getarraysize(.@cid); .@i++) {
		query_sql("INSERT INTO `mail` (`send_name`,`send_id`,`dest_name`,`dest_id`,`title`,`message`,`time`,`status`,`zeny`,`type`) VALUES ('no-reply','0','"+strcharinfo(0,.@cid[.@i])+"','"+.@cid[.@i]+"','*"+getarg(1)+"*','Parabéns~ % Você foi número #"+(.@i+1)+" no "+getarg(1)+"! Obrigado por particippar! [ Seu premio está anexado neste mail. ] Este mail é automatico e não deve ser respondido. Att Equipe InovaRO.',UNIX_TIMESTAMP(NOW()),1,"+getarg(2)+",0)");
		query_sql("SELECT `id` FROM `mail` WHERE `send_name` = 'no-reply' ORDER BY CAST(`id` AS SIGNED) DESC LIMIT 1",.@id);
		query_sql("INSERT INTO `mail_attachments` (`id`,`nameid`, `amount`, `identify`) VALUES ('"+.@id+"',"+getarg(3)+","+getarg(4)+",'1')");
		}
		announce "[Ajudante MVP]: Parabéns aos "+getarg(5)+" TOP 10 caçadores de MVP! Relogue e cheque seu Correio para conferir os prêmios.",bc_blue|bc_all;
		query_sql("UPDATE `mvp_ranking` SET `"+getarg(0)+"` = '0'");
		return;
                                              
                                              
function	script	F_MVPRewardw	{
		query_sql("SELECT `char_id` FROM `mvp_ranking` WHERE `"+getarg(0)+"` ORDER BY CAST(`"+getarg(0)+"` AS SIGNED) DESC LIMIT 6",.@cid);
		for(.@i = 0; .@i<getarraysize(.@cid); .@i++) {
		query_sql("INSERT INTO `mail` (`send_name`,`send_id`,`dest_name`,`dest_id`,`title`,`message`,`time`,`status`,`zeny`,`type`) VALUES ('no-reply','0','"+strcharinfo(0,.@cid[.@i])+"','"+.@cid[.@i]+"','*"+getarg(1)+"*','Parabéns~ % Você foi número #"+(.@i+1)+" no "+getarg(1)+"! Obrigado por particippar! [ Seu premio está anexado neste mail. ] Este mail é automatico e não deve ser respondido. Att Equipe InovaRO.',UNIX_TIMESTAMP(NOW()),1,"+getarg(2)+",0)");
		query_sql("SELECT `id` FROM `mail` WHERE `send_name` = 'no-reply' ORDER BY CAST(`id` AS SIGNED) DESC LIMIT 1",.@id);
		query_sql("INSERT INTO `mail_attachments` (`id`,`nameid`, `amount`, `identify`) VALUES ('"+.@id+"',"+getarg(3)+","+getarg(4)+",'1')");
		}
		announce "[Ajudante MVP]: Parabéns aos "+getarg(5)+" TOP 6 caçadores de MVP! Relogue e cheque seu Correio para conferir os prêmios.",bc_blue|bc_all;
		query_sql("UPDATE `mvp_ranking` SET `"+getarg(0)+"` = '0'");
		return;
 
function	script	F_MVPRewardd	{
		query_sql("SELECT `char_id` FROM `mvp_ranking` WHERE `"+getarg(0)+"` ORDER BY CAST(`"+getarg(0)+"` AS SIGNED) DESC LIMIT 3",.@cid);
		for(.@i = 0; .@i<getarraysize(.@cid); .@i++) {
		query_sql("INSERT INTO `mail` (`send_name`,`send_id`,`dest_name`,`dest_id`,`title`,`message`,`time`,`status`,`zeny`,`type`) VALUES ('no-reply','0','"+strcharinfo(0,.@cid[.@i])+"','"+.@cid[.@i]+"','*"+getarg(1)+"*','Parabéns~ % Você foi número #"+(.@i+1)+" no "+getarg(1)+"! Obrigado por particippar! [ Seu premio está anexado neste mail. ] Este mail é automatico e não deve ser respondido. Att Equipe InovaRO.',UNIX_TIMESTAMP(NOW()),1,"+getarg(2)+",0)");
		query_sql("SELECT `id` FROM `mail` WHERE `send_name` = 'no-reply' ORDER BY CAST(`id` AS SIGNED) DESC LIMIT 1",.@id);
		query_sql("INSERT INTO `mail_attachments` (`id`,`nameid`, `amount`, `identify`) VALUES ('"+.@id+"',"+getarg(3)+","+getarg(4)+",'1')");
		}
		announce "[Ajudante MVP]: Parabéns aos "+getarg(5)+" TOP 3 caçadores de MVP! Relogue e cheque seu Correio para conferir os prêmios.",bc_blue|bc_all;
		query_sql("UPDATE `mvp_ranking` SET `"+getarg(0)+"` = '0'");
		return;

Will that work fine? thanks love your script

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

On 4/9/2018 at 7:20 PM, Holograma said:

Hey, is there a way to change the reward system

Like i want 3 rewards daily, 6 weekly and 10 monthly

I will try to do something here..

Change the func name:


OnReward:
OnClock0000:
	if(.Option&4 && gettime(DT_DAYOFMONTH) == .day ){
		callfunc ( "F_MVPRewardm" , "month_kills" ,  .MailTitle$[2] ,  .Prize_m[.@i * 3 + 2] ,  .Prize_m[.@i * 3] ,  .Prize_m[.@i * 3 + 1] , "Monthly");
		sleep 5000;
	}
	if(.Option&2 && gettime(DT_DAYOFWEEK) == .week ){
		callfunc ( "F_MVPRewardw" , "week_kills" ,  .MailTitle$[1] ,  .Prize_w[.@i * 3 + 2] ,  .Prize_w[.@i * 3] ,  .Prize_w[.@i * 3 + 1] , "Weekly");
		sleep 5000;
	}
	if (.Option&1) {
		callfunc ( "F_MVPRewardd" , "day_kills" ,  .MailTitle$[0] ,  .Prize_d[.@i * 3 + 2] ,  .Prize_d[.@i * 3] ,  .Prize_d[.@i * 3 + 1] , "Daily");
		}
	end;

add three new func: (and change the 10 to 3 and 6)


function	script	F_MVPRewardm	{
		query_sql("SELECT `char_id` FROM `mvp_ranking` WHERE `"+getarg(0)+"` ORDER BY CAST(`"+getarg(0)+"` AS SIGNED) DESC LIMIT 10",.@cid);
		for(.@i = 0; .@i<getarraysize(.@cid); .@i++) {
		query_sql("INSERT INTO `mail` (`send_name`,`send_id`,`dest_name`,`dest_id`,`title`,`message`,`time`,`status`,`zeny`,`type`) VALUES ('no-reply','0','"+strcharinfo(0,.@cid[.@i])+"','"+.@cid[.@i]+"','*"+getarg(1)+"*','Parabéns~ % Você foi número #"+(.@i+1)+" no "+getarg(1)+"! Obrigado por particippar! [ Seu premio está anexado neste mail. ] Este mail é automatico e não deve ser respondido. Att Equipe InovaRO.',UNIX_TIMESTAMP(NOW()),1,"+getarg(2)+",0)");
		query_sql("SELECT `id` FROM `mail` WHERE `send_name` = 'no-reply' ORDER BY CAST(`id` AS SIGNED) DESC LIMIT 1",.@id);
		query_sql("INSERT INTO `mail_attachments` (`id`,`nameid`, `amount`, `identify`) VALUES ('"+.@id+"',"+getarg(3)+","+getarg(4)+",'1')");
		}
		announce "[Ajudante MVP]: Parabéns aos "+getarg(5)+" TOP 10 caçadores de MVP! Relogue e cheque seu Correio para conferir os prêmios.",bc_blue|bc_all;
		query_sql("UPDATE `mvp_ranking` SET `"+getarg(0)+"` = '0'");
		return;
                                              
                                              
function	script	F_MVPRewardw	{
		query_sql("SELECT `char_id` FROM `mvp_ranking` WHERE `"+getarg(0)+"` ORDER BY CAST(`"+getarg(0)+"` AS SIGNED) DESC LIMIT 6",.@cid);
		for(.@i = 0; .@i<getarraysize(.@cid); .@i++) {
		query_sql("INSERT INTO `mail` (`send_name`,`send_id`,`dest_name`,`dest_id`,`title`,`message`,`time`,`status`,`zeny`,`type`) VALUES ('no-reply','0','"+strcharinfo(0,.@cid[.@i])+"','"+.@cid[.@i]+"','*"+getarg(1)+"*','Parabéns~ % Você foi número #"+(.@i+1)+" no "+getarg(1)+"! Obrigado por particippar! [ Seu premio está anexado neste mail. ] Este mail é automatico e não deve ser respondido. Att Equipe InovaRO.',UNIX_TIMESTAMP(NOW()),1,"+getarg(2)+",0)");
		query_sql("SELECT `id` FROM `mail` WHERE `send_name` = 'no-reply' ORDER BY CAST(`id` AS SIGNED) DESC LIMIT 1",.@id);
		query_sql("INSERT INTO `mail_attachments` (`id`,`nameid`, `amount`, `identify`) VALUES ('"+.@id+"',"+getarg(3)+","+getarg(4)+",'1')");
		}
		announce "[Ajudante MVP]: Parabéns aos "+getarg(5)+" TOP 6 caçadores de MVP! Relogue e cheque seu Correio para conferir os prêmios.",bc_blue|bc_all;
		query_sql("UPDATE `mvp_ranking` SET `"+getarg(0)+"` = '0'");
		return;
 
function	script	F_MVPRewardd	{
		query_sql("SELECT `char_id` FROM `mvp_ranking` WHERE `"+getarg(0)+"` ORDER BY CAST(`"+getarg(0)+"` AS SIGNED) DESC LIMIT 3",.@cid);
		for(.@i = 0; .@i<getarraysize(.@cid); .@i++) {
		query_sql("INSERT INTO `mail` (`send_name`,`send_id`,`dest_name`,`dest_id`,`title`,`message`,`time`,`status`,`zeny`,`type`) VALUES ('no-reply','0','"+strcharinfo(0,.@cid[.@i])+"','"+.@cid[.@i]+"','*"+getarg(1)+"*','Parabéns~ % Você foi número #"+(.@i+1)+" no "+getarg(1)+"! Obrigado por particippar! [ Seu premio está anexado neste mail. ] Este mail é automatico e não deve ser respondido. Att Equipe InovaRO.',UNIX_TIMESTAMP(NOW()),1,"+getarg(2)+",0)");
		query_sql("SELECT `id` FROM `mail` WHERE `send_name` = 'no-reply' ORDER BY CAST(`id` AS SIGNED) DESC LIMIT 1",.@id);
		query_sql("INSERT INTO `mail_attachments` (`id`,`nameid`, `amount`, `identify`) VALUES ('"+.@id+"',"+getarg(3)+","+getarg(4)+",'1')");
		}
		announce "[Ajudante MVP]: Parabéns aos "+getarg(5)+" TOP 3 caçadores de MVP! Relogue e cheque seu Correio para conferir os prêmios.",bc_blue|bc_all;
		query_sql("UPDATE `mvp_ranking` SET `"+getarg(0)+"` = '0'");
		return;

Will that work fine? thanks love your script

For support, please leave me DM in discord instead. 

 

There will be an optimized version of this soon. For those who have already had a copy of this, just wait for the update. 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  84
  • Topics Per Day:  0.02
  • Content Count:  309
  • Reputation:   82
  • Joined:  11/15/11
  • Last Seen:  

@pajodex It would be much better to add a protection on the maps listed so as not to use Galho Sangrento Bloody Branch, so as not to interfere with ranking.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

On 4/16/2018 at 7:15 PM, Haikenz said:

@pajodex It would be much better to add a protection on the maps listed so as not to use Galho Sangrento Bloody Branch, so as not to interfere with ranking.

Thank you for your suggestion. Will update this script soon. I just got back from vacation 

 

@Holograma download the latest version.. I've incorporated your request in that version...

@Haikenz As I re-checked my script. I already put no-branch mapflag on all maps listed..

 

Version 3.0 contains the ff changelogs:

  • MVP Ladder points system
  • MVP Ladder points shop
  • See your rank standings
  • Optimized and Re-worked
  • Upvote 1
  • Love 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  84
  • Topics Per Day:  0.02
  • Content Count:  309
  • Reputation:   82
  • Joined:  11/15/11
  • Last Seen:  

@pajodex Add support to use item rather than points in the store.

ex: I use a custom item that drops from all mvps, and with that item you can buy things in the store.

problem with ranking

screenProvidenceRO013.jpg

screenProvidenceRO014.jpg

Edited by Haikenz
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

On 4/21/2018 at 3:40 AM, Haikenz said:

Add support to use item rather than points in the store.

1. You can use https://github.com/rathena/rathena/blob/master/npc/custom/quests/quest_shop.txt as alternative as of now.

On 4/21/2018 at 3:40 AM, Haikenz said:

problem with ranking

2. Actually, its because Top 1 and Top 2 has same kill counts. fixing that requires an advance level of sql coding and I'm far from that level yet. Maybe someday I will re-update this for cases like ties happens.

 

.. I will try to do some hot fix on my free time regarding this issue. Just keep updated.

.. I will add item as fee in shop as well.

 

Updated this to version 3.1.. Just wait for moderator approval.

3.1 - Changelogs

  • Fix ranking issues on tie-cases (reported by Heikenz)
  • Added item as currency support in ladder shop 
  • Modified F_CheckMvpLadder function

Special Thanks to @AnnieRuru for helping / mentoring me :)

For tie cases, ranker will now put them on same rank..
sample:

Player		kills
[Eve]		11
[Robert]	9
[Rex]		11

when ranked : 

Rank	Player		kills
1 	[Eve]		11
1	[Rex]		11
3	[Robert]	9

Rex is actually at rank 2 but since he is tied with Eve, they will both be ranked 1. So, ranked 2 will be skipped

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

On 2/12/2018 at 12:56 AM, pajodex said:

// To - Do!
//   - Convert sql table from MyISAM to InnoDB (for faster data retrieval)
// Reference : http://herc.ws/board/topic/15845-advance-sql-commands/#comment-87378

 

OnInit:
	query_sql "SELECT `ENGINE` FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'testest' AND TABLE_SCHEMA = DATABASE()", .@tabletype$;
	if ( .@tabletype$ == "MyISAM" )
		query_sql "ALTER TABLE `testest` ENGINE = InnoDB";
	end;

/hmm

oh ... Reference : https://stackoverflow.com/questions/3681790/how-do-i-find-if-my-a-table-is-myisam-or-innodb

 

EDIT- or maybe ... /heh

OnInit:
	query_sql "SHOW CREATE TABLE `testest`", .@tablename$, .@create_table$;
	if ( compare( .@create_table$, "MyISAM" ) == true )
		query_sql "ALTER TABLE `testest` ENGINE = InnoDB";
	end;

 

Edited by AnnieRuru
  • MVP 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  84
  • Topics Per Day:  0.02
  • Content Count:  309
  • Reputation:   82
  • Joined:  11/15/11
  • Last Seen:  

@pajodex

1 - You must disable the merchant discount ability in the store.

2 - In the mail the % is not giving ENTER

screenProvidenceRO005.jpg

screenProvidenceRO004.jpg

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

1 hour ago, Haikenz said:

@pajodex

1 - You must disable the merchant discount ability in the store.

2 - In the mail the % is not giving ENTER

screenProvidenceRO005.jpg

screenProvidenceRO004.jpg

1. Merc discount skill only works for zeny based items sold i  shops.. It may appear to be discounted but its not( as far as i know)

2. I dont think there's a way to make 'enter' on rodex via npc script... Unless there's an updated rodex mail script available ready which i believe will be available any time soon. 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  84
  • Topics Per Day:  0.02
  • Content Count:  309
  • Reputation:   82
  • Joined:  11/15/11
  • Last Seen:  

@pajodex If you summon monsters on other maps that are not set in the mvp area, the points are counted as well.
Example: I invoked Garm from xmas_fild01 on prt_fild00 and gave points.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

20 minutes ago, Haikenz said:

@pajodex If you summon monsters on other maps that are not set in the mvp area, the points are counted as well.
Example: I invoked Garm from xmas_fild01 on prt_fild00 and gave points.

Did you modify the script? I cant seem to produce your report..

for (.@a = 0; .@a < getarraysize(.t_maps$); ++.@a) {
		if ( strcharinfo(3) == .t_maps$[.@a]) { 

that part of the script means if player is on the map listed on .t_maps$ array will give points

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  84
  • Topics Per Day:  0.02
  • Content Count:  309
  • Reputation:   82
  • Joined:  11/15/11
  • Last Seen:  

9 minutes ago, pajodex said:

Did you modify the script? I cant seem to produce your report..


for (.@a = 0; .@a < getarraysize(.t_maps$); ++.@a) {
		if ( strcharinfo(3) == .t_maps$[.@a]) { 

that part of the script means if player is on the map listed on .t_maps$ array will give points

OnNPCKillEvent:
if ( .Option&8 && getgmlevel() >= .gm ) end; // If gm = event wont happen
if ( getmonsterinfo( killedrid, MOB_MVPEXP )) {
	for (.@a = 0; .@a < getarraysize(.t_maps$); ++.@a) {
		if ( strcharinfo(3) == .t_maps$[.@a]) { 
			if ( !getcharid(1) ) {	
				if (rand(100) < .chance) 
					getitem .s_rwd[0], .s_rwd[1];
				if(.Option&16) {
				#MVP_LADDER_POINTS = #MVP_LADDER_POINTS + .point;

already have this ... to using the latest version of your script

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

16 minutes ago, Haikenz said:

OnNPCKillEvent:
if ( .Option&8 && getgmlevel() >= .gm ) end; // If gm = event wont happen
if ( getmonsterinfo( killedrid, MOB_MVPEXP )) {
	for (.@a = 0; .@a < getarraysize(.t_maps$); ++.@a) {
		if ( strcharinfo(3) == .t_maps$[.@a]) { 
			if ( !getcharid(1) ) {	
				if (rand(100) < .chance) 
					getitem .s_rwd[0], .s_rwd[1];
				if(.Option&16) {
				#MVP_LADDER_POINTS = #MVP_LADDER_POINTS + .point;

already have this ... to using the latest version of your script

I will give it another test right now.. hold on.. You can send me DM in discord for faster feed back and if it is really a bug, I can send you right away

EDIT:

Done testing... I cannot reproduce your error.. here is the result...

1. I went to prt_fild00 (not in the list) and summoned Baphomet.. after killing :

mvp.PNG.dc5ae3f5a35cdb5957df004ebca24567.PNG

I did it twice to make sure..

 

2. Then I went to abbey02 (on the list):

mvpok.PNG.05003f143abc6da224b08f960ea8b25b.PNG

 

EDIT2:

- Its a matter of not announcing if player kills MVP outside the map.. Issue is being tackled via discord .. Nothing to panic /heh 

 

Edited by pajodex
Link to comment
Share on other sites

  • 2 months later...

  • Group:  Members
  • Topic Count:  103
  • Topics Per Day:  0.03
  • Content Count:  323
  • Reputation:   4
  • Joined:  12/09/13
  • Last Seen:  

Can this be compatible to hercules? wanted to purchase the script.

//===== Compatible With: =====================================
//= rAthena Project (pajodex)
//===== Description: =========================================

 

Link to comment
Share on other sites

  • 6 months later...

  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  116
  • Reputation:   4
  • Joined:  08/14/16
  • Last Seen:  

is this script available or will be available to purchase again @pajodex

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  79
  • Topics Per Day:  0.03
  • Content Count:  439
  • Reputation:   172
  • Joined:  12/12/17
  • Last Seen:  

@wakefield21 Not for now here in rAthena... DM me here or in Discord if you want a copy of this.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  116
  • Reputation:   4
  • Joined:  08/14/16
  • Last Seen:  

14 minutes ago, pajodex said:

@wakefield21 Not for now here in rAthena... DM me here or in Discord if you want a copy of this.

whats your Discord ID

Link to comment
Share on other sites

  • 1 year later...

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  37
  • Reputation:   0
  • Joined:  09/26/19
  • Last Seen:  

IS this still working?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...