I would like to remove the VIP function from this npc, leave it to reward only normal account
Can someone help me?
Quote
//===== EinherjarRO Scripts ================================== //= Requested //===== By: ================================================== //= Stolao//===== Current Version: =====================================//= 2.1C//===== Compatible With: =====================================//= rAthena SVN//===== Description: =========================================//= A reward system for players who play more frequently//===== Todo =================================================//= Make Logging out then it continue count//===== Additional Comments: =================================//= 2.00 Origional Make//= 2.01 Fixed Logic Bug//= 2.02 Fixed Year Multiplier//= 2.03 Added an IP check//= 2.04 Split Rewards up//= 2.05 Move ip check to Daily reward collection//= 2.06 Added ability to see next day via commands/relogging//= 2.07 Added Delay//= 2.08 Moved Delay to none VIP only//= 2.09 Removed some useless lines//= 2.0A Removed Menus due to bugs//= 2.0B Fixed VIP Cutin//= 2.0C Added it showing previos day cutin//= 2.0D Added a for loop//= 2.0E Fixed Ramined logged in time calculation (visual bug)//= 2.0F Added a F_InsertPlural to "more minute"//= 2.10 Added a Mac Check//= 2.11 Changed the IP check to [Sader1992] version//= 2.12 Enable Bound Type//= 2.13 Added 'collectreward', 'dailyreward', 'collectdaily' Commands//= 2.14 Added 'nextreward' Command//= 2.15 Added Daily Buffs//= 2.16 Added Exp Rewards//= 2.17 Removed Reards for Autotraders//= 2.18 Move Buffs to Daily so VIP wont trigger twice//= 2.19 Optimized Slightly//= 2.1A Fixed a bug with VIP getting bonus rewards in normal rewards//= 2.1B Fixed some documentaion//= 2.1C Fixed extra '['//===== Contact Info: ========================================//= [Stolao] //= Email: [email protected]//============================================================
prontera,5,5,5 script LOGIN 111,{OnPCLoginEvent:if(!@logintime)@logintime= gettime(DT_YEAR)*60*24*365+ gettime(DT_DAYOFYEAR)*60*24+ gettime(DT_HOUR)*60+ gettime(DT_MINUTE);OnLoginCmnd:.@i= gettime(DT_YEAR)*12*31+ gettime(DT_MONTH)*31+ gettime(DT_DAYOFMONTH);if(.Reset&&.@i>#LastDailyReward + 1)#DRewardCon = 0;if(.Reset&&.@i>#LastVIPReward + 1)#VIPRewardCon = 0;.@VIPSize= getarraysize(.VIPRewards$);.@Size= getarraysize(.Rewards$);if(#DRewardCon>=.@Size&&#VIPRewardCon >= .@VIPSize){#LastDailyReward = .@i;#LastVIPReward = .@i;
end;}
sleep2 1000;for(.@k=0;.@k<2;.@k++){if(!.@k){if(!vip_status(VIP_STATUS_ACTIVE)&&.VIPRewards$[#VIPRewardCon+1]!=""){//message strcharinfo(0),"[Daily Rewards]: Torne-se um VIP para mais recompensas.";continue;}elseif(#VIPRewardCon>=.@VIPSize){
message strcharinfo(0),"[Login especial]: Não há mais recompensas VIP restantes este mês.";continue;}elseif(.@i<=#LastVIPReward){
message strcharinfo(0),"[Login especial]: Recompensas VIP já coletadas hoje.";continue;}}else{if(#DRewardCon>=.@Size){
message strcharinfo(0),"[Login especial]: Não há mais recompensas restantes este mês.";continue;}elseif(.@i<=#LastDailyReward){
message strcharinfo(0),"[Login especial]: Recompensas já coletadas hoje.";continue;}}if(!.@k)
explode(.@XT$,.VIPRewards$[#VIPRewardCon+1],",");else{if(.IPCheck){
query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+getcharip()+"'",.@AccountId);.@Size= getarraysize(.@AccountId);for(.@i=0;.@i<.@Size;.@i++){
query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId[.@i]+"' AND `key` = '#LastDailyReward'",.@LastIp2);if(.@i<=.@LastIp2){
message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por IP.";continue;}}}if(.MacCheck){
query_sql("SELECT last_unique_id FROM `login` WHERE account_id = "+getcharid(3)+"",.@last_unique_id$);
query_sql("SELECT account_id FROM `login` WHERE last_unique_id = '"+.@last_unique_id$+"'",.@AccountId2);.@Size= getarraysize(.@AccountId2);for(.@i=0;.@i<.@Size;.@i++){
query_sql("SELECT `value` FROM `acc_reg_num` WHERE `account_id` = '"+.@AccountId2[.@i]+"' AND `key` = '#LastDailyReward'",.@MacCheck2);if(.@i<=.@MacCheck2){
message strcharinfo(0),"[Login especial]: Recompensas são limitadas a 1 por computador.";continue;}}}if(.Rest){.@time= gettime(DT_YEAR)*60*24*365+ gettime(DT_DAYOFYEAR)*60*24+ gettime(DT_HOUR)*60+ gettime(DT_MINUTE);if(.@time<@logintime+.Rest){.@delay=@logintime+.Rest-.@time;
message strcharinfo(0),"[Login especial]: para coletar recompensas, você deve permanecer logado por "+callfunc("F_InsertPlural",.@delay,"more minute")+".";continue;}}
deletearray .@XT$[0],getarraysize(.@XT$);.@NextDay=#DRewardCon + 1;
explode(.@XT$,.Rewards$[.@NextDay],",");}if(checkvending()&2&&.Mode&256){
message strcharinfo(0),"[Login especial]: Vendedores não podem receber recompensas.";
end;}.@Size= getarraysize(.@XT$);
deletearray .@TT[0],getarraysize(.@TT);
deletearray .@itms[0],getarraysize(.@itms);
deletearray .@qnts[0],getarraysize(.@qnts);for(.@x= y =0;.@x<.@Size;.@x++).@TT[.@x]= atoi(.@XT$[.@x]);if(.Mode&1&&(.@TT[4]>0||.@vip[4]>0)){.@Size= getarraysize(.@TT);for(.@x=4;.@x<=.@Size-1;.@x+=2){.@itms[.@y]=.@TT[.@x];.@qnts[.@y]=.@TT[.@x+1];.@y++;}if(checkweight2(.@itms,.@qnts)){for(.@x=0;.@x<.@y;.@x++){if(.Mode&128)
getitembound .@itms[.@x],.@qnts[.@x],.Bound_Mode;else getitem .@itms[.@x],.@qnts[.@x];}}else{
message strcharinfo(0),"[Login especial]: Você não pode carregar os prêmios, use o storage e relogue.";continue;}}if(.Mode&2&&(.@TT[1])){#Loyalty += .@TT[1];
message strcharinfo(0),"[Login especial]: Recebido "+.@TT[1]+" "+.Points$;}if(.Mode&4&&(.@TT[0])){
zeny +=.@TT[0];
message strcharinfo(0),"[Login especial]: Recebido "+.@TT[0]+"z";}if(.Mode&8&&(.@TT[3]||.@TT[4]))
getexp .@TT[3],.@TT[4];if(!.@k){if(.Mode&32){
cutin .VIPCutins$[#VIPRewardCon],4;
soundeffect "complete.wav",0;}#VIPRewardCon++;#LastVIPReward = .@i;
sleep2 1000;if(.Mode&64){
cutin .VIPCutins$[#VIPRewardCon],4;
soundeffect "complete.wav",0;}
message strcharinfo(0),"[Login especial]: Você coletou sua recompensa VIP, por "+callfunc("F_InsertPlural",#VIPRewardCon,"dia")+" este mês.";}else{if(.Mode&16){.@Size= getarraysize(.BuffInfo);for(.@x=0;.@x<.@Size;.@x+=4){if(.@NextDay==.BuffInfo[.@x+1])
sc_start .BuffInfo[.@x],.BuffInfo[.@x+2]*60000,.BuffInfo[.@x+3];}}if(.Mode&32){
cutin .Cutins$[#DRewardCon],4;
soundeffect "complete.wav",0;}#DRewardCon++;#LastDailyReward = .@i;
sleep2 1000;if(.Mode&64){
cutin .Cutins$[#DRewardCon],4;}
message strcharinfo(0),"[Login especial]: Você coletou sua recompensa diária, por "+callfunc("F_InsertPlural",#DRewardCon,"dia")+" este mês.";}if(.Mode&32||.Mode&64){
sleep2 15000;
cutin "",255;}}
end;OnNextCmnd:.@time= gettime(DT_YEAR)*60*24*365+ gettime(DT_DAYOFYEAR)*60*24+ gettime(DT_HOUR)*60+ gettime(DT_MINUTE);if(.@time>=@logintime+.Rest){
message strcharinfo(0),"[Login especial]: sua próxima recompensa está disponível.";}else{.@i= gettime(DT_YEAR)*12*31+ gettime(DT_MONTH)*31+ gettime(DT_DAYOFMONTH);if(.@i<=#LastDailyReward)
message strcharinfo(0),"[Login especial]: Sua próxima recompensa estará disponível amanhã.";else{.@days=(.@time>=@logintime+.Rest)/60/24;.@hours=((.@time>=@logintime+.Rest)/60)%24;.@mins=(.@time>=@logintime+.Rest)%60;
message strcharinfo(0),"[Login especial]: Você tem "+((.@days)?.@days+" Dias ":"")+((.@hours)?.@hours+" Horas ":"")+((.@mins)?.@mins+" Minutos ":"")+" até sua próxima recompensa.";}if(.Mode&32||.Mode&64){if(.@NextDay>= getarraysize(.Rewards$)).@g=0;else.@g=#DRewardCon + 1;
cutin .Cutins$[.@g],4;
soundeffect "complete.wav",0;}}
end;OnHour00:if(gettime(DT_DAYOFMONTH)==1){
query_sql("DELETE FROM `acc_reg_num` WHERE `key` = '#DRewardCon' OR `key` = '#VIPRewardCon' OR `key` = '#LastVIPReward' OR `key` = '#LastDailyReward'");
addrid(0);#DRewardCon = #VIPRewardCon = #LastVIPReward = #LastDailyReward = 0;}
end;OnInit:// Basic Settings// 1: Item | 2: Points | 4: Zeny | 8: Exp// 16: Gain Buffs// 32: Show Cutins | 64: Show Next Day Cutin// 128: Item Rewards Bound// 256: No Rewards for Autotraders // (a bit value, e.g. 3 = Items & Points from Multi).Mode=1|2|4|16|32|64|128|256;// Item Binding Mode// Bound_Account : Account Bound item// Bound_Guild : Guild Bound item// Bound_Party : Party Bound item// Bound_Char : Character Bound item.Bound_Mode=Bound_Account;// To disable the command '@loginreward' comment the next lines// * Needs extra commands for typos
bindatcmd("relog","LOGIN::OnLoginCmnd",0,99);
bindatcmd("collectreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
bindatcmd("dailyreward",strnpcinfo(3)+"::OnLoginCmnd",0,99);
bindatcmd("collectdaily",strnpcinfo(3)+"::OnLoginCmnd",0,99);
bindatcmd("nextreward",strnpcinfo(3)+"::OnNextCmnd",0,99);// Reset days back to 0 on a skipped day.// Toggle // [0] = Off// [1] = On.Reset=0;// .Rest// Delay after login to collect rewards// In Minutes.Rest=0;// Point Name.Points$="Loyalty Points";// Ip check to prevent multi accounts// Toggle // [0] = Off// [1] = On.IPCheck=0;// Consecutive Days Buff// Each buff contains 4 variables// <Type>,<Days>,<Duration>,<Rate>, // Buff 1// <Type>,<Days>,<Duration>,<Rate>, // Buff 2// ...;//// Example: 188,7,45,3// -On the 7th day logged in Player gains +3 Str for 45 mins//// Type is 188, which references which SC_ to use, SC_INCSTR in this example// -For a full list of SC_ visit the db/const.txt// Days is days buff is applied, in this example 7, so every 7th day, 14,21,28....// Duration is buff duration is Minuits, in this example 45 mins// Rate is buff val1, in this example player gains 3 Str
setarray .BuffInfo,260,2,360,1// Life Insurance for 360 on 2nd Day,198,3,120,10// +10% Hp for 120 Mins on 3rd Day,260,4,360,1// Life Insurance for 360 on 4th Day,196,5,120,25// +25 Flee for 120 Mins on 5th Day,198,6,120,10// +10% Hp for 120 Mins on 6th Day,257,7,240,50// +50% Exp for 240 Mins on 7th Day,260,8,360,1// Life Insurance for 360 on 8th Day,198,9,120,10// +10% Hp for 120 Mins on 9th Day,196,10,120,25// +25 Flee for 120 Mins on 10th Day,9,12,120,10// +10% Hp for 120 Mins on 12th Day,9,14,240,50// +50% Exp for 240 Mins on 14th Day,9,15,120,50// +25 Flee for 120 Mins on 15th Day,198,16,360,10// Life Insurance for 360 on 16th Day,9,18,120,10// +10% Hp for 120 Mins on 18th Day,9,20,120,25// +25 Flee for 120 Mins on 20th Day,9,21,240,50// +50% Exp for 240 Mins on 21st Day,9,22,360,1// Life Insurance for 360 on 22nd Day,9,24,120,10// +10% Hp for 120 Mins on 24th Day,9,25,120,25// +25 Flee for 120 Mins on 25th Day,9,26,360,1// Life Insurance for 360 on 26th Day,9,27,120,10// +10% Hp for 120 Mins on 27th Day,9,28,240,50// +50% Exp for 240 Mins on 28th Day,9,30,120,25;// +25 Flee for 120 Mins on 30th Day// Daily Prize items:// "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc", // Day 1// "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc" // Day 2// ...;// Total length of any days string must be 255 or shorter
setarray .Rewards$[1],"0,0,0,0,12016,100",// Day 1"0,0,0,0,28995,1",// Day 2"0,0,0,0,7539,2",// Day 3"0,0,0,0,14601,200",// Day 4"0,0,0,0,12299,100",// Day 5"0,0,0,0,12684,200",// Day 6"0,0,0,0,28996,1",// Day 7"0,0,0,0,14614,300",// Day 8"0,0,0,0,28995,1",// Day 9"0,0,0,0,12786,10",// Day 10"0,0,0,0,12424,150",// Day 11"0,0,0,0,12427,200",// Day 12"0,0,0,0,7539,2",// Day 13"0,0,0,0,28997,1",// Day 14"0,0,0,0,28995,1",// Day 15"0,0,0,0,12418,300",// Day 16"0,0,0,0,12419,300",// Day 17"0,0,0,0,12404,150",// Day 18"0,0,0,0,7539,2",// Day 19"0,0,0,0,12786,10",// Day 20"0,0,0,0,28998,1",// Day 21"0,0,0,0,14591,3",// Day 22"0,0,0,0,12221,50",// Day 23"0,0,0,0,7539,2",// Day 24"0,0,0,0,28995,1",// Day 25"0,0,0,0,14614,300",// Day 26"0,0,0,0,12786,15",// Day 27"0,0,0,0,28999,1";// Day 28// VIP Prize items:// "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc", // Day 1// "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc" // Day 2// ...;// Total length of any days string must be 255 or shorter//// Note VIPs Collect both VIP and Normal Player rewards
setarray .VIPRewards$[1],"1000",// Day 1: 1000 Zeny"0,0,0,0,501,5",// Day 2: 5 Red Potion"0,0,0,0,506,5",// Day 3: 5 Green Potion"2000",// Day 4: 2000 Zeny"2000",// Day 5: 2000 Zeny"0,0,0,0,502,5",// Day 6: 5 Orange Potion"0,0,0,0,12208,1",// Day 7: 1 Battle Manual"2500",// Day 8: 2500 Zeny"2500",// Day 8: 2500 Zeny"2500",// Day 9: 2500 Zeny"0,0,0,0,503,5",// Day 10: 5 White Potion"2500",// Day 11: 2500 Zeny"2500",// Day 12: 2500 Zeny"2500",// Day 13: 2500 Zeny"0,0,0,0,503,5,506,3",// Day 14: 5 White Potion + 3 Green Potion"2500",// Day 15: 2500 Zeny"2500",// Day 16: 2500 Zeny"2500",// Day 17: 2500 Zeny"0,0,0,0,503,5,506,3",// Day 18: 5 White Potion + 3 Green Potion"2500",// Day 19: 2500 Zeny"2500",// Day 20: 2500 Zeny"0,0,0,0,604,3",// Day 21: 1 Dead Branch"2500",// Day 22: 2500 Zeny"0,0,0,0,503,5,506,3",// Day 23: 5 White Potion + 3 Green Potion"2500",// Day 24: 2500 Zeny"2500",// Day 25: 2500 Zeny"0,0,0,0,503,5,506,3",// Day 26: 5 White Potion + 3 Green Potion"2500",// Day 27: 2500 Zeny"2500";// Day 28: 2500 Zeny// Cutin Array// Shows a cutin before collecting for each date// Start at 0 if showing next day
setarray .Cutins$,"Daily_00","Daily_01","Daily_02","Daily_03","Daily_04","Daily_05","Daily_06","Daily_07","Daily_08","Daily_09","Daily_10","Daily_11","Daily_12","Daily_13","Daily_14","Daily_15","Daily_16","Daily_17","Daily_18","Daily_19","Daily_20","Daily_21","Daily_22","Daily_23","Daily_24","Daily_25","Daily_26","Daily_27","Daily_28","kafra_08","kafra_09","kafra_01","kafra_02","kafra_03";// Cutin Array// Shows a cutin on collecting for each date
setarray .VIPCutins$,"Daily_00","Daily_01","Daily_02","Daily_03","Daily_04","Daily_05","Daily_06","Daily_07","Daily_08","Daily_09","Daily_10","Daily_11","Daily_12","Daily_13","Daily_14","Daily_15","Daily_16","Daily_17","Daily_18","Daily_19","Daily_20","Daily_21","Daily_22","Daily_23","Daily_24","Daily_25","Daily_26","Daily_27","Daily_28","kafra_08","kafra_09","kafra_01","kafra_02","kafra_03";
end;}
Question
MatheusRDS
I would like to remove the VIP function from this npc, leave it to reward only normal account
Can someone help me?
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.