Jump to content

Petey Pablo

Members
  • Content Count

    224
  • Joined

  • Last visited

About Petey Pablo

  • Rank
    Advanced Member

Profile Information

  • Gender
    Not Telling
  • Emulator
    Hercules

Recent Profile Visitors

6452 profile views
  1. Cutin that can trigger every 10:00AM and it will remove the cutin display after 3mins. Thank you
  2. Need help what is the problem [Error]: timer_do_delete error : function mismatch [154]00000000(unknown timer function) != 00AF28B0(unit_walk_toxy_timer) [Error]: --- failed assertion -------------------------------------------- [Error]: D:\Ragnarok\Hercules\src\common\timer.c:398: '0' in function `unknown' [Error]: --- end failed assertion ---------------------------------------- This is my git 'dd7f653b00239299cdecb7ca826c21e5957863da'
  3. What error is this? I dont know what script is this please anyone can help me fix. Thank you [Warning]: script:implode: array length = 0
  4. Where to add this? What part/line? Thank you
  5. how to remove the arena 4 room? this is the mvp_arena script //===== Hercules Script ====================================== //= MVP Arena //===== By: ================================================== //= Darkchild //===== Current Version: ===================================== //= 1.4 //===== Description: ========================================= //= Rooms containing 16 different MVPs //===== Additional Comments: ================================= //= 1.0 - First version of script //= 1.1 - Optimised The MVP arena [massdriller] //= 1.2 - NPC in prontera [Silent] //= 1.3 - Removed Duplicates //= 1.4 - Optimized, text edited [Euphy] //============================================================ // Entrance prontera,159,192,4 script MVP Warper 8_M_JPNMASTER,{ mes "[ ^0065DFMVP Warper^000000 ]"; mes "Would you like to enter"; mes "the MVP Arena?"; if (select("Yes!","No thanks.") == 2) close; warp "quiz_00",50,24; close; } // Information quiz_00,49,31,4 script MVP Arena Guide 4_M_TWTEAMAN,{ mes "[ ^0065DFMVP Arena Guide^000000 ]"; mes "Welcome and behold this sacred place. Here you will find out if you truly have what it takes to call yourself a warrior."; next; switch(select("Information","Heal me!","Return to Prontera","Cancel")) { case 1: mes "[ ^0065DFMVP Arena Guide^000000 ]"; mes "There are four Keepers, and each can spawn four different MVPs."; mes "There are eight rooms per Keeper, and sixteen MVPs in total."; close; case 2: specialeffect(EF_HEAL2, AREA, playerattached()); percentheal 100,100; close; case 3: warp "prontera",156,179; close; case 4: close; } } // Keepers function script Keeper { mes "[ ^0065DF"+strnpcinfo(NPC_NAME_VISIBLE)+"^000000 ]"; mes "Which arena would you"; mes "like to enter?"; set .@menu$,""; for(set .@i,1; .@i<9; set .@i,.@i+1) set .@menu$, .@menu$+"Arena "+.@i+" ["+getmapusers("pvp_n_"+.@i+"-"+getarg(0))+"/20]:"; set .@i, select(.@menu$); if (getmapusers("pvp_n_"+.@i+"-"+getarg(0))>19) { mes "[ ^0065DF"+strnpcinfo(NPC_NAME_VISIBLE)+"^000000 ]"; mes "Sorry, this arena is full!"; close; } warp "pvp_n_"+.@i+"-"+getarg(0),102,102; close; } quiz_00,56,31,4 script Alpha MVP 4_F_TWGIRL,{ callfunc "Keeper",2; } quiz_00,58,31,4 script Beta MVP 4_F_TWMIDWOMAN,{ callfunc "Keeper",3; } quiz_00,60,31,4 script Theta MVP 4_M_TWBOY,{ callfunc "Keeper",4; } quiz_00,62,31,4 script Epsilon MVP 4_M_TWMIDMAN,{ callfunc "Keeper",5; } // Protectors function script Protector { mes "[ ^0065DFMVP-Protector^000000 ]"; switch(select( ((getarg(0)=="")?"":"Harder Monsters"), "Heal", "Exit")) { case 1: warp getarg(0),102,102; end; case 2: specialeffect(EF_HEAL2, AREA, playerattached()); percentheal 100,100; close; case 3: warp "prontera",156,179; end; } } pvp_n_1-2,100,100,4 script MVP-Protector#01 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-2"; } pvp_n_2-2,100,100,4 script MVP-Protector#02 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-2"; } pvp_n_3-2,100,100,4 script MVP-Protector#03 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-2"; } pvp_n_4-2,100,100,4 script MVP-Protector#04 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-2"; } pvp_n_5-2,100,100,4 script MVP-Protector#05 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-2"; } pvp_n_6-2,100,100,4 script MVP-Protector#06 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-2"; } pvp_n_7-2,100,100,4 script MVP-Protector#07 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-2"; } pvp_n_8-2,100,100,4 script MVP-Protector#08 4_F_JOB_HUNTER,{ callfunc "Protector",""; } pvp_n_1-3,100,100,4 script MVP-Protector#09 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-3"; } pvp_n_2-3,100,100,4 script MVP-Protector#10 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-3"; } pvp_n_3-3,100,100,4 script MVP-Protector#11 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-3"; } pvp_n_4-3,100,100,4 script MVP-Protector#12 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-3"; } pvp_n_5-3,100,100,4 script MVP-Protector#13 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-3"; } pvp_n_6-3,100,100,4 script MVP-Protector#14 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-3"; } pvp_n_7-3,100,100,4 script MVP-Protector#15 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-3"; } pvp_n_8-3,100,100,4 script MVP-Protector#16 4_F_JOB_HUNTER,{ callfunc "Protector",""; } pvp_n_1-4,100,100,4 script MVP-Protector#17 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-4"; } pvp_n_2-4,100,100,4 script MVP-Protector#18 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-4"; } pvp_n_3-4,100,100,4 script MVP-Protector#19 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-4"; } pvp_n_4-4,100,100,4 script MVP-Protector#20 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-4"; } pvp_n_5-4,100,100,4 script MVP-Protector#21 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-4"; } pvp_n_6-4,100,100,4 script MVP-Protector#22 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-4"; } pvp_n_7-4,100,100,4 script MVP-Protector#23 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-4"; } pvp_n_8-4,100,100,4 script MVP-Protector#24 4_F_JOB_HUNTER,{ callfunc "Protector",""; } pvp_n_1-5,100,100,4 script MVP-Protector#25 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-5"; } pvp_n_2-5,100,100,4 script MVP-Protector#26 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-5"; } //pvp_n_3-5,100,100,4 script MVP-Protector#27 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-5"; } //pvp_n_4-5,100,100,4 script MVP-Protector#28 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-5"; } pvp_n_5-5,100,100,4 script MVP-Protector#29 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-5"; } pvp_n_6-5,100,100,4 script MVP-Protector#30 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-5"; } pvp_n_7-5,100,100,4 script MVP-Protector#31 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-5"; } pvp_n_8-5,100,100,4 script MVP-Protector#32 4_F_JOB_HUNTER,{ callfunc "Protector",""; } // Alpha pvp_n_1-2,0,0,0,0 monster Eddga 1115,3,60000,66000 pvp_n_1-2,0,0,0,0 monster Mistress 1059,1,60000,66000 pvp_n_2-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_2-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 pvp_n_3-2,0,0,0,0 monster Mistress 1059,1,60000,66000 pvp_n_3-2,0,0,0,0 monster Moonlight 1150,2,60000,66000 pvp_n_3-2,0,0,0,0 monster Maya 1147,1,60000,66000 pvp_n_4-2,0,0,0,0 monster Eddga 1115,1,60000,66000 pvp_n_4-2,0,0,0,0 monster Mistress 1059,1,60000,66000 pvp_n_4-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 pvp_n_4-2,0,0,0,0 monster Maya 1147,1,60000,66000 pvp_n_5-2,0,0,0,0 monster Eddga 1115,1,60000,66000 pvp_n_5-2,0,0,0,0 monster Mistress 1059,2,60000,66000 pvp_n_5-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 pvp_n_5-2,0,0,0,0 monster Maya 1147,2,60000,66000 pvp_n_6-2,0,0,0,0 monster Eddga 1115,2,60000,66000 pvp_n_6-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_6-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 pvp_n_6-2,0,0,0,0 monster Maya 1147,2,60000,66000 pvp_n_7-2,0,0,0,0 monster Eddga 1115,3,60000,66000 pvp_n_7-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_7-2,0,0,0,0 monster Moonlight 1150,2,60000,66000 pvp_n_7-2,0,0,0,0 monster Maya 1147,2,60000,66000 pvp_n_8-2,0,0,0,0 monster Eddga 1115,3,60000,66000 pvp_n_8-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_8-2,0,0,0,0 monster Moonlight 1150,3,60000,66000 pvp_n_8-2,0,0,0,0 monster Maya 1147,3,60000,66000 // Beta pvp_n_1-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 pvp_n_1-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_2-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 pvp_n_2-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_2-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 pvp_n_3-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000 pvp_n_3-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_3-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 pvp_n_3-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 pvp_n_4-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 pvp_n_4-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_4-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 pvp_n_4-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 pvp_n_5-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000 pvp_n_5-3,0,0,0,0 monster Turtle General 1312,2,60000,66000 pvp_n_5-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 pvp_n_5-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 pvp_n_6-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 pvp_n_6-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_6-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 pvp_n_6-3,0,0,0,0 monster Orc Lord 1190,2,60000,66000 pvp_n_7-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 pvp_n_7-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_7-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 pvp_n_7-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000 pvp_n_8-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 pvp_n_8-3,0,0,0,0 monster Turtle General 1312,3,60000,66000 pvp_n_8-3,0,0,0,0 monster Orc Hero 1087,3,60000,66000 pvp_n_8-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000 // Theta pvp_n_1-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_1-4,0,0,0,0 monster Osiris 1038,1,60000,66000 pvp_n_2-4,0,0,0,0 monster Drake 1112,2,60000,66000 pvp_n_2-4,0,0,0,0 monster Osiris 1038,1,60000,66000 pvp_n_2-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000 pvp_n_3-4,0,0,0,0 monster Drake 1112,1,60000,66000 pvp_n_3-4,0,0,0,0 monster Osiris 1038,1,60000,66000 pvp_n_3-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000 pvp_n_3-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 pvp_n_4-4,0,0,0,0 monster Drake 1112,2,60000,66000 pvp_n_4-4,0,0,0,0 monster Osiris 1038,1,60000,66000 pvp_n_4-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 pvp_n_4-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 pvp_n_5-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_5-4,0,0,0,0 monster Osiris 1038,2,60000,66000 pvp_n_5-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 pvp_n_5-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 pvp_n_6-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_6-4,0,0,0,0 monster Osiris 1038,2,60000,66000 pvp_n_6-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 pvp_n_6-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000 pvp_n_7-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_7-4,0,0,0,0 monster Osiris 1038,2,60000,66000 pvp_n_7-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000 pvp_n_7-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000 pvp_n_8-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_8-4,0,0,0,0 monster Osiris 1038,3,60000,66000 pvp_n_8-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000 pvp_n_8-4,0,0,0,0 monster Lord of Death 1373,3,60000,66000 // Epsilon pvp_n_1-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 pvp_n_1-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 pvp_n_2-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_2-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 pvp_n_2-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 pvp_n_3-5,0,0,0,0 monster Incantation Samurai 1492,1,60000,66000 pvp_n_3-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 pvp_n_3-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 pvp_n_3-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 //pvp_n_4-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 //pvp_n_4-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 //pvp_n_4-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 //pvp_n_4-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 pvp_n_5-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_5-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_5-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_5-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 pvp_n_6-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_6-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_6-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_6-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 pvp_n_7-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_7-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_7-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_7-5,0,0,0,0 monster Baphomet 1039,2,60000,66000 pvp_n_8-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 pvp_n_8-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_8-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_8-5,0,0,0,0 monster Baphomet 1039,2,60000,66000 // Mapflags pvp_n_1-1 mapflag pvp_nightmaredrop off pvp_n_2-1 mapflag pvp_nightmaredrop off pvp_n_3-1 mapflag pvp_nightmaredrop off pvp_n_4-1 mapflag pvp_nightmaredrop off pvp_n_5-1 mapflag pvp_nightmaredrop off pvp_n_6-1 mapflag pvp_nightmaredrop off pvp_n_7-1 mapflag pvp_nightmaredrop off pvp_n_8-1 mapflag pvp_nightmaredrop off pvp_n_1-2 mapflag pvp_nightmaredrop off pvp_n_2-2 mapflag pvp_nightmaredrop off pvp_n_3-2 mapflag pvp_nightmaredrop off pvp_n_4-2 mapflag pvp_nightmaredrop off pvp_n_5-2 mapflag pvp_nightmaredrop off pvp_n_6-2 mapflag pvp_nightmaredrop off pvp_n_7-2 mapflag pvp_nightmaredrop off pvp_n_8-2 mapflag pvp_nightmaredrop off pvp_n_1-3 mapflag pvp_nightmaredrop off pvp_n_2-3 mapflag pvp_nightmaredrop off pvp_n_3-3 mapflag pvp_nightmaredrop off pvp_n_4-3 mapflag pvp_nightmaredrop off pvp_n_5-3 mapflag pvp_nightmaredrop off pvp_n_6-3 mapflag pvp_nightmaredrop off pvp_n_7-3 mapflag pvp_nightmaredrop off pvp_n_8-3 mapflag pvp_nightmaredrop off pvp_n_1-4 mapflag pvp_nightmaredrop off pvp_n_2-4 mapflag pvp_nightmaredrop off pvp_n_3-4 mapflag pvp_nightmaredrop off pvp_n_4-4 mapflag pvp_nightmaredrop off pvp_n_5-4 mapflag pvp_nightmaredrop off pvp_n_6-4 mapflag pvp_nightmaredrop off pvp_n_7-4 mapflag pvp_nightmaredrop off pvp_n_8-4 mapflag pvp_nightmaredrop off pvp_n_1-5 mapflag pvp_nightmaredrop off pvp_n_2-5 mapflag pvp_nightmaredrop off pvp_n_3-5 mapflag pvp_nightmaredrop off //pvp_n_4-5 mapflag pvp_nightmaredrop off pvp_n_5-5 mapflag pvp_nightmaredrop off pvp_n_6-5 mapflag pvp_nightmaredrop off pvp_n_7-5 mapflag pvp_nightmaredrop off pvp_n_8-5 mapflag pvp_nightmaredrop off
  6. This is the error [Error]: script error in file 'npc/custom/daily_reward.txt' line 67 column 18 parse_simpleexpr: unmatched ')' 64: sleep2 1000; 65: for(.@k = 0; .@k < 2; .@k++){ 66: if(!.@k){ * 67: if(!vip_status(VIP_STATUS_ACTIVE) && .VIPRewards$[#VIPRewardCon + 1] != ""){ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 68: //message strcharinfo(0),"[Daily Rewards]: Become a VIP for more rewards."; 69: continue; 70: } else if(#VIPRewardCon >= .@VIPSize){ Daily reward script //===== 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 HIDDEN_NPC,{ 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]: Become a VIP for more rewards."; continue; } else if(#VIPRewardCon >= .@VIPSize){ message strcharinfo(0),"[Daily Rewards]: No more VIP rewards remaining this month."; continue; } else if(.@i <= #LastVIPReward){ message strcharinfo(0),"[Daily Rewards]: VIP Rewards already collected today"; continue; } } else { if(#DRewardCon >= .@Size){ message strcharinfo(0),"[Daily Rewards]: No more rewards remaining this month."; continue; } else if(.@i <= #LastDailyReward){ message strcharinfo(0),"[Daily Rewards]: Rewards already collected today."; 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),"[Daily Rewards]: Rewards are limited to 1 per IP sorry."; 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),"[Daily Rewards]: Rewards are limited to 1 per computer sorry."; 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),"[Daily Rewards]: to collect reward you must remain logged in for "+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),"[Daily Rewards]: Venders cannot recive rewards."; 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),"[Daily Rewards]: You cannot carry the prizes, please use storage and relog."; continue; } } if(.Mode & 2 && (.@TT[1])){ #Loyalty += .@TT[1]; message strcharinfo(0),"[Daily Rewards]: Recieved "+ .@TT[1] +" "+.Points$; } if(.Mode & 4 && (.@TT[0])){ zeny += .@TT[0]; message strcharinfo(0),"[Daily Rewards]: Recieved "+ .@TT[0] +"z"; } if(.Mode & 8 && (.@TT[3] || .@TT[4])) getexp .@TT[3], .@TT[4]; if(!.@k){ if(.Mode & 32) cutin .VIPCutins$[#VIPRewardCon],4; #VIPRewardCon++; #LastVIPReward = .@i; sleep2 1000; if(.Mode & 64) cutin .VIPCutins$[#VIPRewardCon],4; message strcharinfo(0),"[Daily Rewards]: You have collected your VIP reward, for "+callfunc("F_InsertPlural",#VIPRewardCon,"day")+" this month."; } 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; #DRewardCon++; #LastDailyReward = .@i; sleep2 1000; if(.Mode & 64) cutin .Cutins$[#DRewardCon],4; message strcharinfo(0),"[Daily Rewards]: You have collected your daily reward, for "+callfunc("F_InsertPlural",#DRewardCon,"day")+" this month."; } 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),"[Daily Rewards]: your next reward is available."; } else { .@i = gettime(DT_YEAR) * 12 * 31 + gettime(DT_MONTH) * 31 + gettime(DT_DAYOFMONTH); if(.@i <= #LastDailyReward) message strcharinfo(0),"[Daily Rewards]: Your next reward will be aviable tomorrow."; else { .@days = (.@time >= @logintime + .Rest) / 60 / 24; .@hours = ((.@time >= @logintime + .Rest) / 60) % 24; .@mins = (.@time >= @logintime + .Rest) % 60; message strcharinfo(0),"[Daily Rewards]: You have "+ ((.@days) ? .@days +" Days " : "") + ((.@hours) ? .@hours +" Hours " : "") + ((.@mins) ? .@mins +" Minutes " : "") +"till your next reward."; } if(.Mode & 32 || .Mode & 64){ if(.@NextDay >= getarraysize(.Rewards$)) .@g = 0; else .@g = #DRewardCon + 1; cutin .Cutins$[.@g],4; } } 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 ,198,12,120,10 // +10% Hp for 120 Mins on 12th Day ,257,14,240,50 // +50% Exp for 240 Mins on 14th Day ,196,15,120,25 // +25 Flee for 120 Mins on 15th Day ,260,16,360,1 // Life Insurance for 360 on 16th Day ,198,18,120,10 // +10% Hp for 120 Mins on 18th Day ,196,20,120,25 // +25 Flee for 120 Mins on 20th Day ,257,21,240,50 // +50% Exp for 240 Mins on 21st Day ,260,22,360,1 // Life Insurance for 360 on 22nd Day ,198,24,120,10 // +10% Hp for 120 Mins on 24th Day ,196,25,120,25 // +25 Flee for 120 Mins on 25th Day ,260,26,360,1 // Life Insurance for 360 on 26th Day ,198,27,120,10 // +10% Hp for 120 Mins on 27th Day ,257,28,240,50 // +50% Exp for 240 Mins on 28th Day ,196,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], "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 // 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$, "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_08", "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_08", "kafra_09", "kafra_01", "kafra_02", "kafra_03"; // Cutin Array // Shows a cutin on collecting for each date setarray .VIPCutins$, "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_08", "kafra_01", "kafra_02", "kafra_03", "kafra_04", "kafra_05", "kafra_06", "kafra_07", "kafra_08", "kafra_09", "kafra_01", "kafra_02", "kafra_03"; end; }
  7. hourly reward error [Error]: script error in file 'npc/custom/hourly_reward.txt' line 26 column 19 parse_simpleexpr: unmatched ')' 24: { 25: OnHourCmnd: * 26: switch(checkquest(61000,PLAYTIME)){ ~~~~~~~~~~~~~~~~~~~~~~~~~^ 27: case 2: 28: .@NextHour = #HReward + 1; 29: explode(.@XT$,.Rewards$[.@NextHour],","); this is the script //===== EinherjarRO Scripts ================================== //= Hourly Rewards //===== By: ================================================== //= Stolao //===== Current Version: ===================================== //= 2.00 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= A reward system for players for every hour of play up to //= a limited number of hours a week, each character will have //= a unique //===== Todo ================================================= //= Suggestions? //===== Comments: ============================================ //= quest_db.txt //= 61000,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"Hourly Rewards Cooldown" //===== Additional Comments: ================================= //= 2.00 Remake using Quest DB //===== Contact Info: ======================================== //= [Stolao] //= Email: [email protected] //============================================================ prontera,5,5,5 script Hourly 4_M_CRU_HEAD,{ OnHourCmnd: switch(checkquest(61000,PLAYTIME)){ case 2: .@NextHour = #HReward + 1; explode(.@XT$,.Rewards$[.@NextHour],","); 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 & 32) getitembound .@itms[.@x], .@qnts[.@x], .Bound_Mode; else getitem .@itms[.@x], .@qnts[.@x]; } } else { message strcharinfo(0),"[Hourly Rewards]: You cannot carry the prizes, please use storage and reuse command."; end; } } if(.Mode & 2 && (.@TT[1])){ #Hourlypoint += .@TT[1]; message strcharinfo(0),"[Hourly Rewards]: Recieved "+ .@TT[1] +" "+.Points$; } if(.Mode & 4 && (.@TT[0])){ zeny += .@TT[0]; message strcharinfo(0),"[Hourly Rewards]: Recieved "+ .@TT[0] +"z"; } if(.Mode & 8 && (.@TT[3] || .@TT[4])) getexp .@TT[3], .@TT[4]; #HReward++; erasequest 61000; case -1: .@Size = getarraysize(.Rewards$); if(#HReward >= .@Size){ message strcharinfo(0),"[Hourly Rewards]: No more rewards remaining this week, ."; end; } setquest 61000; end; case 0: case 1: message strcharinfo(0),"[Hourly Rewards]: Rewards not ready again yet."; end; } OnHour00: if(gettime(DT_DAYOFWEEK) == SUNDAY){ query_sql("DELETE FROM `acc_reg_num` WHERE `key` = '#HReward'"); addrid(0); #HReward = 0; } end; OnInit: // Basic Settings // 1: Item | 2: Points | 4: Zeny | 8: Exp // 16: Item Rewards Bound // (a bit value, e.g. 3 = Items & Points from Multi) .Mode = 1|2|4|16; // 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("hourly",strnpcinfo(3)+"::OnHourCmnd",0,99); bindatcmd("hourlyreward",strnpcinfo(3)+"::OnHourCmnd",0,99); // Point Name .Points$ = "Hourly Points"; // Hourly Prize items: // "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc", // Hour 1 // "<Zeny>,<Points>,<BaseExp>,<JobExp>,<itemID-1>,<amount-1>,<itemID-2>,<amount-2>...etc" // Hour 2 // ...; // Total length of any days string must be 255 or shorter // This is total hours collected per week, max possible is 167 setarray .Rewards$[1], "1000,1", // Hour 1: 1000 Zeny + 1 #Hourlypoint "0,1,0,0,501,5", // Hour 2: 5 Red Potion "0,1,0,0,506,5", // Hour 3: 5 Green Potion "2000,1", // Hour 4: 2000 Zeny "2000,1", // Hour 5: 2000 Zeny "0,1,0,0,502,5", // Hour 6: 5 Orange Potion "0,1,0,0,12208,1", // Hour 7: 1 Battle Manual "2500,1", // Hour 8: 2500 Zeny "2500,1", // Hour 8: 2500 Zeny "2500,1", // Hour 9: 2500 Zeny "0,1,0,0,503,5", // Hour 10: 5 White Potion "2500,1", // Hour 11: 2500 Zeny "2500,1", // Hour 12: 2500 Zeny "2500", // Hour 13: 2500 Zeny "0,1,0,0,503,5,506,3", // Hour 14: 5 White Potion + 3 Green Potion "2500,1", // Hour 15: 2500 Zeny "2500,1", // Hour 16: 2500 Zeny "2500,1", // Hour 17: 2500 Zeny "0,1,0,0,503,5,506,3", // Hour 18: 5 White Potion + 3 Green Potion "2500,1", // Hour 19: 2500 Zeny "2500,1", // Hour 20: 2500 Zeny "0,1,0,0,604,3", // Hour 21: 1 Dead Branch "2500,1", // Hour 22: 2500 Zeny "0,1,0,0,503,5,506,3", // Hour 23: 5 White Potion + 3 Green Potion "2500,1"; // Hour 24: 2500 Zeny }
  8. how to add this bonus script on db: "Add The Chance of Gaining Level 1-5 Stat Food item each time an monster is killed" Thank you!
  9. @bump need help please how to make if they killed by mobs and player the gold points will be reset
  10. How to fix this error [Error]: script error in file 'npc/custom/legendro/go.txt' line 63 column 61 script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes. 60: if (.deadlock && !Hp) { 61: message strcharinfo(0), "You may not use @go when you are dead."; 62: } else if (.town && !getmapflag(strcharinfo(3), mf_town)) { * 63: message strcharinfo(0), "You may only use @go in towns."; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64: } else if (getmapflag(strcharinfo(3), mf_pvp)) { 65: message strcharinfo(0), "You cannot use @go in PvP Maps."; 66: } else if (.delay && @go_delay > gettimetick(2)) {
  11. Need help to fix this 2 error [Error]: script error in file 'npc/custom/hourly_rewards.txt' line 48 column 18 parse_simpleexpr: unmatched ')' 45: } 46: } 47: if(.s_vip){ * 48: if(!vip_status(VIP_STATUS_ACTIVE)){ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 49: message strcharinfo(0),"[Hourly Rewards]: if you are a VIP you will get Hourly Rewards!."; 50: addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; 51: end; [Error]: npc_parsesrcfile: Unable to parse, probably a missing or extra TAB in file 'npc/custom/hourly_rewards.txt', line '160'. Skipping line... * w1=prontera,151,171,5 * w2=pointshop * w3=Hourly Rewards Shop * w4=667,#HourlyRewards,901:1,902:10,903:15,904:1,905:200 This is the hourly rewards script //===== rAthena Script ======================================= //= saders Hourly Rewards //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 1.2 //===== Compatible With: ===================================== //= rAthena Project //https://rathena.org/board/files/file/3647-saders-hourly-rewards/ //https://github.com/sader1992/sader_scripts //===== Description: ========================================= //==== all the configuration are in the last //==== support gepard / ip / or without them //==== if you use ip/gepard sql will be used for that //==== can add minimem level to get the rewards //==== can change the time //==== can ban the vending from the rewards (it will reset after relogin) //==== can add rewards else then variable //==== there is a shop npc for the variable //==== you can make it only for vip //==== can ban idle players for X time from the Hourly Rewards //==== player can ban his char from getting the reward by @HourlyBan (it will reset after relogin) //============================================================ //==== please send me a message if you find error //==== if you like my work maybe consider support me at paypal //==== [email protected] //============================================================ //==== 1.1 FIX Critical issue with gepard/ip and compatibility with my other scripts //==== 1.2 FIX GrPard Variable //============================================================ - script sader_Hourly_Rewards FAKE_NPC,{ OnHourlyRewards: if(#Hourly_Ban){ message strcharinfo(0),"[Hourly Rewards]: You did ban this char from the Hourly Rewards , Relogin to change that ."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.s_idle){ if(checkidle() > .s_idle_time){ message strcharinfo(0),"[Hourly Rewards]: No Hourly Rewards for IDLE Players!."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } } if(.s_vip){ if(!vip_status(VIP_STATUS_ACTIVE)){ message strcharinfo(0),"[Hourly Rewards]: if you are a VIP you will get Hourly Rewards!."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } } if(BaseLevel < .s_hourly_level){ message strcharinfo(0),"[Hourly Rewards]: if you are level "+.s_hourly_level+" and more you will get Hourly Rewards!."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.s_vinding){ if(checkvending() & .s_vinding){ message strcharinfo(0),"[Hourly Rewards]: No Hourly Rewards for Venders , Relogin to change that ."; if(.s_GePard_ip){ query_logsql("delete from `sader_variables_log` where `variable` = '#Hourly_Rewads_Check' AND `account_id`= '"+getcharid(3)+"'"); } #Hourly_Rewads_Check = 0; #Hourly_Ban = 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } } #Hourly_Rewads_Check += 1; if(.s_GePard_ip == 1){ query_sql("SELECT `last_unique_id` FROM `login` WHERE `account_id` = '"+getcharid(3)+"'", .@s_last_unique_id$); query_logsql("SELECT value FROM `sader_variables_log` WHERE unique_id = '"+.@s_last_unique_id$+"' AND `variable` = '#Hourly_Rewads_Check'", .@s_GePard); if(.@s_GePard >= #Hourly_Rewads_Check){ message strcharinfo(0),"[Hourly Rewards]: You already got the Hourly Rewards from this PC"; #Hourly_Rewads_Check -= 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.@s_GePard == 0){ query_logsql("INSERT INTO `sader_variables_log` (`unique_id`,`ip`,`variable`,`index`,`value`, `account_id`, `char_id`, `char_name`) VALUES ('"+.@s_last_unique_id$+"', '"+getcharip()+"', '#Hourly_Rewads_Check', '0', '"+#Hourly_Rewads_Check+"', '"+getcharid(3)+"', '"+getcharid(0)+"', '"+strcharinfo(0)+"')"); } query_logsql("Update `sader_variables_log` SET `value` = '"+#Hourly_Rewads_Check+"' WHERE `unique_id`= '"+.@s_last_unique_id$+"' AND `variable` = '#Hourly_Rewads_Check'"); }else if(.s_GePard_ip == 2){ query_logsql("SELECT value FROM `sader_variables_log` WHERE ip = '"+getcharip()+"' AND `variable` = '#Hourly_Rewads_Check'", .@s_ip); if(.@s_ip >= #Hourly_Rewads_Check){ message strcharinfo(0),"[Hourly Rewards]: You already got the Hourly Rewards from this IP"; #Hourly_Rewads_Check -= 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.@s_ip == 0){ query_logsql("INSERT INTO `sader_variables_log` (`unique_id`,`ip`,`variable`,`index`,`value`, `account_id`, `char_id`, `char_name`) VALUES ('"+.@s_last_unique_id$+"', '"+getcharip()+"', '#Hourly_Rewads_Check', '0', '"+#Hourly_Rewads_Check+"', '"+getcharid(3)+"', '"+getcharid(0)+"', '"+strcharinfo(0)+"')"); } query_logsql("Update `sader_variables_log` SET `value` = '"+#Hourly_Rewads_Check+"' WHERE `ip`= '"+getcharip()+"' AND `variable` = '#Hourly_Rewads_Check'"); } message strcharinfo(0),"[Hourly Rewards]: you Gain your Reward."; callsub Hourly_Rewads; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; OnHourlyBan: if(!#Hourly_Ban){ message strcharinfo(0),"[Hourly Rewards]: You did ban this char from the Hourly Rewards , Relogin to change that ."; if(.s_GePard_ip){ query_logsql("delete from `sader_variables_log` where `variable` = '#Hourly_Rewads_Check' AND `account_id`= '"+getcharid(3)+"'"); } #Hourly_Rewads_Check = 0; #Hourly_Ban = 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; } end; OnUnHourlyBan: #Hourly_Ban = 0; end; OnPCLogoutEvent: if(.s_GePard_ip){ query_logsql("delete from `sader_variables_log` where `variable` = '#Hourly_Rewads_Check' AND `account_id`= '"+getcharid(3)+"'"); } if(#Hourly_Ban == 1){ #Hourly_Ban = 0; } #Hourly_Rewads_Check = 0; end; OnPCLoginEvent: addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; OnMyHourlyPoints: message strcharinfo(0),"[Hourly Rewards]: You have " + #HourlyRewards + " Hourly Points ."; end; OnInit: .s_idle = 0; // ban hourly rewards from idle players ? 0 no / 1 yes {if player didn't move for x time he wont get hourly reward} , DEFAULT = 0 .s_idle_time = 1800; // this the time for idle in secend , DEFAULT = 1800 (30 min) .s_vip = 0; // 1 = only for VIP / 0 = for everyone , DEFAULT = 0 .s_time = 3600000; // 1000 = 1 secend | 60000 = 1 min | 3600000 = 1 houre , DEFAULT = 3600000 (1 hr) .s_hourly_level = 0; // Minimam level to get the Houerly rewards / 0 = no minimem level , DEFAULT 0 .s_GePard_ip = 0; // 0 = no Gepard / 1 = Gepard / 2 = IP , DEFAULT 0 .s_vinding = 7; // DEFAULT 7 / 0 = will give the reward even if vending / 1 = no normal vending / 2 = no @autotrade / 4 = no buyingstore | Example: if you want to ban normal vend and buying store you add the numbers 1+4=5 query_logsql("CREATE TABLE IF NOT EXISTS `sader_variables_log` (`unique_id` INT( 11 ) UNSIGNED NOT NULL DEFAULT '0',`ip` VARCHAR(100) NOT NULL,`variable` VARCHAR(32) NOT NULL, `index` INT NOT NULL, `value` INT NOT NULL,`account_id` INT NOT NULL,`char_id` INT NOT NULL,`char_name` VARCHAR(30) NOT NULL) ENGINE=MyISAM"); bindatcmd("UnHourlyBan",strnpcinfo(3)+"::OnUnHourlyBan",99,99); bindatcmd("HourlyBan",strnpcinfo(3)+"::OnHourlyBan",0,99); bindatcmd("MyHourlyPoints",strnpcinfo(3)+"::OnMyHourlyPoints",0,99); bindatcmd("MHP",strnpcinfo(3)+"::OnMyHourlyPoints",0,99); end; Hourly_Rewads: //put the Hourly Rewards here #HourlyRewards += 1; //getitem 905,1; // if you want to add items as reward you can add them here like that //getexp 10000,5000; // if you wanna add exp as reward add them here like that //if(#Hourly_Rewads_Check == 5){getitem 905,1;} // like this you can add reward for Xhr and this reward will be given for that X in this example 5 mean that the player did pass 5hr //if(#Hourly_Rewads_Check >= 5){getitem 905,1;} // like this you can add reward for Xhr and this reward will be given for that X in this example 5 mean that the player did pass 5hr or more return; } prontera,151,171,5 pointshop Hourly Rewards Shop 667,#HourlyRewards,901:1,902:10,903:15,904:1,905:200 //<ITEM_ID>:<PRICE>,<ITEM_ID>:<PRICE>,<ITEM_ID>:<PRICE>,<ITEM_ID>:<PRICE>
  12. No error but the gold points reset is not working if player died inside the gold room
  13. This is the error [Error]: buildin_getmonsterinfo: Wrong Monster ID: 0 [Debug]: Source (NPC): gold_room_main (invisible/not on a map) [Info]: 'Count Floyd' logged in. (AID/CID: '2000001/150002', IP: '127.0.0.1', Group '0'). [Error]: buildin_getmonsterinfo: Wrong Monster ID: 2000000 [Debug]: Source (NPC): gold_room_main (invisible/not on a map) This is the script prontera,164,152,3 script Gold Room#goldroom 4_M_EINMINER,{ doevent "gold_room_main::OnTalk"; } // warp portal back prontera ordeal_3-2,178,193,0 warp gold_room_back_prt#1 1,1,prontera,155,181 ordeal_3-2,73,265,0 warp gold_room_back_prt#2 1,1,prontera,155,181 ordeal_3-2,129,193,0 warp gold_room_back_prt#3 1,1,prontera,155,181 ordeal_3-2,106,153,0 warp gold_room_back_prt#4 1,1,prontera,155,181 ordeal_3-2,242,281,0 warp gold_room_back_prt#5 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 FAKE_NPC,{ OnInit: // gold room map .Map$ = "ordeal_3-2"; // entrance fee .zeny_cost = 1000000; // rate to get gold .rate = 50; // gold random amount setarray .gold_amount,1,2; 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 ( Zeny < .zeny_cost ) { mes "Not enough Zeny."; } else { Zeny -= .zeny_cost; 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; 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; }
×
×
  • Create New...

Important Information

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