-
Posts
2407 -
Joined
-
Last visited
-
Days Won
52
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Capuche
-
prontera,171,182,3 script Ranking MvP 857,{ if (getgmlevel() > 20) { if ( select( "Ranking", "Reset" ) -1 ) { query_sql "DELETE FROM `global_reg_value` WHERE `str` = 'MVPRank'"; dispbottom "MVP Ranking has been reset."; close; } } query_sql "SELECT `global_reg_value`.`value`, `char`.`name` FROM `global_reg_value` left join `char` on `global_reg_value`.`char_id` = `char`.`char_id` "+ "WHERE `global_reg_value`.`str`= 'MVPRank' ORDER BY ABS(value) DESC LIMIT 10", .@pontos_mvp, .@char_name$; dispbottom "Position. Player: MVPs Dead: "; dispbottom " "; if( !getarraysize( .@char_name$ ) ) dispbottom "*Empty List*"; else for( set .@i,0; .@i < getarraysize( .@char_name$ ) ; set .@i, .@i +1 ) dispbottom "["+ ( .@i +1 ) +"] Nome: ["+ .@char_name$[.@i] +"] [MVPs: "+ .@pontos_mvp[.@i]+"]"; close; OnInit: waitingroom "[ Ranking MVP ]",0; end; } if (getgroupid() < 20) end; //Put minimum GM level here getgroupid works only on rA and you don't use rA if I remember correctly
-
prontera,147,174,6 script Buff 750,{ if( @delay_buff ) end; percentheal 100,100; skilleffect 384,0; sc_start SC_MELTDOWN,360000,5; skilleffect 383,0; sc_start SC_WINDWALK,360000,5; skilleffect 378,0; sc_start SC_EDP,360000,5; skilleffect 465,0; sc_start SC_KAITE,360000,7; skilleffect 464,0; sc_start SC_KAUPE,360000,3; skilleffect 463,0; sc_start SC_KAAHI,360000,7; skilleffect 462,0; sc_start SC_KAIZEL,360000,7; skilleffect 8,0; sc_start SC_ENDURE,360000,10; skilleffect 33,0; sc_start SC_ANGELUS,360000,10; skilleffect 45,0; sc_start SC_CONCENTRATE,360000,10; skilleffect 74,0; sc_start SC_MAGNIFICAT,360000,5; skilleffect 75,0; sc_start SC_GLORIA,360000,5; skilleffect 459,0; sc_start SC_ADRENALINE2,360000,1; skilleffect 66,0; sc_start SC_IMPOSITIO,360000,5; skilleffect 67,0; sc_start SC_SUFFRAGIUM,360000,3; skilleffect 34,0; sc_start SC_BLESSING,360000,10; skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10; skilleffect 112,0; sc_start SC_WEAPONPERFECTION,360000,10; skilleffect 113,0; sc_start SC_OVERTHRUST,360000,5; skilleffect 114,0; sc_start SC_MAXIMIZEPOWER,360000,5; skilleffect 357,0; sc_start SC_CONCENTRATION,360000,5; skilleffect 355,0; sc_start SC_AURABLADE,360000,5; skilleffect 155,0; sc_start SC_LOUD,360000,1; skilleffect 157,0; sc_start SC_ENERGYCOAT,360000,1; sc_start SC_ASPDPOTION2,360000,0; sc_start SC_STRFood,360000,10; sc_start SC_AGIFood,360000,10; sc_start SC_VITFood,360000,10; sc_start SC_INTFood,360000,10; sc_start SC_DEXFood,360000,10; sc_start SC_LUKFood,360000,10; sc_start SC_HitFood,1200000,30; sc_start SC_FleeFood,1200000,30; sc_start SC_BATKFood,1200000,10; sc_start SC_MATKFood,120000,10; skilleffect 380,0; sc_start SC_TRUESIGHT,360000,5; skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5; switch ( basejob ) { case Job_Alchemist: set .@spirit, 445; break; case Job_Monk: set .@spirit, 447; break; case Job_Star_Gladiator: set .@spirit, 448; break; case Job_Sage: set .@spirit, 449; break; case Job_Crusader: set .@spirit, 450; break; case Job_SuperNovice: set .@spirit, 451; break; case Job_Knight: set .@spirit, 452; break; case Job_Wizard: set .@spirit, 453; break; case Job_Priest: set .@spirit, 454; break; case Job_Bard: case Job_Dancer: set .@spirit, 455; break; case Job_Rogue: set .@spirit, 456; break; case Job_Assassin: set .@spirit, 457; break; case Job_Blacksmith: set .@spirit, 458; break; case Job_Hunter: set .@spirit, 460; break; case Job_Soul_Linker: set .@spirit, 461; break; default: if ( upper == 1 && baselevel < 70 ) set .@spirit, 494; } if ( .@spirit ) { sc_start4 sc_spirit, 360000, 5, .@spirit,0,0; skilleffect .@spirit, 5; } @delay_buff++; sleep2 1000; @delay_buff = 0; end; } EDIT: 2 replies before me lol
-
@Metamorphic if (!attachrid(getcharid(3,.@Name$))) { This part will attach the player named .@Name$ to the script... so the gm would be stuck Just remove the attachrid part
-
Replace all hourly_reward$ by #hourly_reward$
-
Some mismatch map_msg <--> map_msg_* rus: [101, 164, 267, 293, 694, 1323] idn: [172, 173, 253] chn: [334, 410, 411, 460, 461, 462, 463, 464, 620, 622]
-
pvp_y_1-2%tab%mapflag%tab%loadevent
-
Checkidle is implemented since r17126 Okay. Another question: 1 item in the day by character or by account ? - script hourlypoints -1,{ OnPCLoginEvent: if( hourly_reward$ != "" ) explode( .@tmp$, hourly_reward$, "|" ); if( atoi( .@tmp$ ) == gettime(8) ) end; @day_ = atoi( .@tmp$ ); @timer_count = atoi( .@tmp$[1] ); while(1) { sleep2 30000; @timer_count = @timer_count + 30; if( checkvending() || checkchatting() ) { dispbottom "The hourly points event stopped because you were vending / chatting. Please relog if you wish to start again."; end; } // else if( checkidle() > 300 ) { // if( @loop__ > 1 ) // dispbottom "The hourly points event is re-initialized because you were idle more than 5 minutes."; // @loop__ = 0; // } else if( @timer_count == 3600 ) { @day_ = gettime(8); @timer_count = 0; getitem .reward_ID,1; dispbottom "You received 1 "+ getitemname( .reward_ID ) +" by staying ingame for 1 hour."; end; } } end; OnPCLogoutEvent: hourly_reward$ = @day_ + "|" + @timer_count; end; OnInit: .reward_ID = 7227; // item ID reward when player not idle and online more than 1 hour end; }
-
- script hourlypoints -1,{ OnPCLoginEvent: while(1) { sleep2 30000; @loop__++; // +1 loop every 30 secs if( hourly_reward == gettime(8) ) { @loop__ = 0; if( .re_log ) end; } else if( checkvending() || checkchatting() ) { dispbottom "The hourly points event stopped because you were vending / chatting. Please relog if you wish to start again."; end; } else if( checkidle() > 300 ) { if( @loop__ > 1 ) dispbottom "The hourly points event is re-initialized because you were idle more than 5 minutes."; @loop__ = 0; if( .re_log ) end; } else if( @loop__ == 60*2 ) { hourly_reward = gettime(8); getitem .reward_ID,1; dispbottom "You received 1 "+ getitemname( .reward_ID ) +" by staying ingame for 1 hour."; if( .re_log ) end; } } end; OnInit: .re_log = 0; // player must relog to re-activate the hourly point ? (1: yes, 0: no) .reward_ID = 7227; // item ID reward when player not idle and online more than 1 hour end; } 1 reward by player if he stay online 1 hour and is not idle. Replace hourly_reward by #hourly_reward if you want 1 reward by account.
-
Haha! yeah I forgot to increment the loop when I modified the script for eA. I edited the script in the post above
-
// Message System 460: Please enter a valid language (usage: @langtype <language>). 461: Language is now set to %s. 462: This language is currently disabled. 463: Message configuration has been reloaded. 464: ---- Available languages: are not in the customs translations There are some message in russian translation that doesn't exist in the main msg // Предметы, привязанные к аккаунту 497: Вы не можете обменивать предмет, привязанный к аккаунту! // @itembound / @itembound2 498: Нельзя создавать привязанные к аккаунту яйца питомцев или броню. 499: Нельзя создать предмет.
-
menu "Register",-,"What is LMS?",what,"Leave",leave; next; mes "[Mr. Manager]"; if ( ( eaclass()&EAJ_BASEMASK ) == EAJ_NOVICE ) {// <-- Add this mes "Novice class can't enter.";// <-- Add this close;// <-- Add this }// <-- Add this mes "Thankyou for registering Mr. " + strcharinfo(0) + ", Have fun!";
-
What do you mean by 'per day' ?
-
Previous post edit for eA
-
prontera,155,170,5 script add storage 87,{ if( getgmlevel() < 98 ) end; mes "You can add an item in all inventory."; mes "(ID reins: ^ff000012622^000000)"; next; if( select( "Add an item ID", "Leave" ) -1 ) close; input .@item_id; if( getiteminfo( .@item_id,0 ) == -1 ) { mes "Unknown item id."; close; } // online set .@item_name$, getitemname( .@item_id ); set .@gm_name$, strcharinfo(0); do { set .@size, query_sql( "SELECT `account_id` from `char` where `online` = '1' order by `account_id` desc limit "+ ( .@loop *128 ) +", 128", .@account_id ); for( set .@i, 0; .@i < .@size; set .@i, .@i +1 ) { getitem .@item_id, 1, .@account_id[.@i]; message rid2name( .@account_id[.@i] ), "You get an "+ .@item_name$ +" from "+ .@gm_name$ +"."; } set .@loop, .@loop +1; } while( .@size ); // offline query_sql "INSERT INTO `global_reg_value` (`char_id`, `str`, `value`, `type`, `account_id`) select '0', '#item_inventory_gift', '"+ .@item_id +"', '2', `char`.`account_id` "+ "from `char` where `char`.`online` = '0' on duplicate key update `global_reg_value`.`value` = '"+ .@item_id +"'"; close; OnPCLoginEvent: if( #item_inventory_gift ) { getitem #item_inventory_gift, 1; message strcharinfo(0), "You get an "+ getitemname( #item_inventory_gift ) +" from a gm."; set #item_inventory_gift, 0; } end; } Players online get an item in their inventory. Others players get the item when they log in.
-
Check your curly in turbo_n_1,316,365,0 script DSwitch -1,1,1,{ OnTouch: if ($switch == 0){ set $switch,1; if (rand(1,2) == 1) enablenpc "Water_Exit_1"; enablenpc "Water_False_1"; } else{ enablenpc "Water_Exit_2"; enablenpc "Water_False_2"; disablenpc strnpcinfo(0); } end; } I suggest .var instead of $var for $switch except if you use this permanent variable in another npc. turbo_n_1,11,266,0 script Water_Exit_1 45,1,1,{ OnTouch: No need Ontouch with the trigger
-
or you can use Downrefitem
-
You want to give one item by account or one by character ?
-
Upon execution of the atcommand, the user invoke the NPC event label first. But you can call the initial atcommand with atcommand script npc. Use openstorage; instead of atcommand "@storage"; to avoid this error.
-
You want to give an item to all online players directly in their inventory ?
-
return .@items; is similar to return .@items[0]; A function can only return one value. I suggest to convert your numeric array to string array, return the concatenate array (Implode), then use Explode outside the function to retrieve the values.
-
- script -1{ Miss some part - script pvp_ann -1,{
-
Use Gettimetick type 2 instead of type 0
-
prontera,155,170,5 script add storage 87,{ if( getgmlevel() < 98 ) end; mes "You can add an item in all account storage."; mes "Note: if one storage is full, the storage database will contain an extra line for this storage."; mes "(ID reins: ^ff000012622^000000)"; next; if( select( "Add an item ID", "Leave" ) -1 ) close; input .@item_id; if( getiteminfo( .@item_id,0 ) == -1 ) { mes "Unknown item id."; close; } query_sql "INSERT INTO `storage` (`id`, `account_id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `card0`, `card1`, `card2`, `card3`, `expire_time`, `unique_id`) "+ "SELECT NULL, `login`.`account_id`, '"+ .@item_id +"', '1', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0' FROM `login` WHERE `account_id` > 1"; mes "Item add. Players must relog to see the item in storage."; close; }
-
Add the mapflag 'loadevent' to your map or.. you can use a fake warp : prontera,150,180,6 script fake_warp 45,2,2,{ warp "pvp_arena2",0,0; mapannounce "pvp_arena2", strcharinfo(0) + " has entered the PVP Arena!",0; end; }