Jump to content

mR L

Members
  • Posts

    146
  • Joined

  • Last visited

Everything posted by mR L

  1. if I'm not mistake rponsramp_08.bmp
  2. mR L

    Cash Point

    - script Sample -1,{ OnPCLoginEvent: if (##GetCashFree) end; dispbottom "You gained 100,000 cashpoint!!! Enjoy!"; set #CASHPOINTS,CASHPOINTS+100000; set ##GetCashFree,1; end; }
  3. ** Note ** if the hat effect didn't appear, just @refresh or @go 0
  4. prontera,152,179,4 script teste 810,{ input [email protected]; if ([email protected] < 1) end; for([email protected] = 0; [email protected] < 160; [email protected]) hateffect [email protected],false; hateffect [email protected],true; end; } #Source
  5. https://github.com/rathena/rathena/blob/master/conf/groups.conf
  6. https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L9994-L10035
  7. mR L

    R> Devil Square.

    https://github.com/rathena/rathena/blob/master/npc/custom/events/devil_square.txt
  8. After this : add this : setlook LOOK_CLOTHES_COLOR, 1;
  9. //===== Hercules Script ====================================== //= Lotti Girl //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= Hercules 2019-02-22 //===== Description: ========================================= //= Roll a lottery ticket and get some cool items //= even if you get all the trash items, you still collecting points to buy in lotti shop //===== Topic ================================================ //= http://herc.ws/board/topic/16579-lotti-girl/ //===== Additional Comments: ================================= //= //============================================================ function script F_MesItemInfo { [email protected] = getarg(0); [email protected]$ = getitemname([email protected]); if ([email protected]$ != "null") { [email protected] = getitemslots([email protected]); if ([email protected]) [email protected]$ = sprintf("%s [%d]", [email protected]$, [email protected]); } else [email protected]$ = "Unknown Item"; if (PACKETVER >= 20150729) return sprintf("<ITEM>%s<INFO>%d</INFO></ITEM>", [email protected]$, [email protected]); else if (PACKETVER >= 20130130) return sprintf("<ITEMLINK>%s<INFO>%d</INFO></ITEMLINK>", [email protected]$, [email protected]); else return [email protected]$; } /* create table lotti_rank ( char_id int(11), name varchar(24), lotti_point int(11), primary key (char_id), key (lotti_point) ) engine = innodb; */ prontera,160,179,5 script Lotti Girl 1_F_MARIA,{ goto L_talk; OnInit: // Announce to the server when player roll on a rare item .rare_announcement = 1; // Default 1 : means any item with 0.00%~0.99% // Amount of points gain for each roll .lotti_points = 1; // If the player choose to Roll Repeatedly, what is the maximum amount of Roll in the input .max_roll = 100; setarray .item, 7400, // Item ID requirement 1, // amount of the Item needed 100, // chance of not getting any items // chance of getting the items // <Item ID>, <amount>, <chance> 501, 10, 500, 502, 5, 100, 503, 5, 100, 504, 5, 100, 505, 5, 100; setarray .itemshop, // Item sold in the shop // <Item ID>, <Lotti Points needed> 601, 2, 602, 2, 603, 2, 604, 2, 605, 2; // ========================================================================================================= .size = getarraysize(.item); for ( [email protected] = 2; [email protected] < .size; [email protected] += 3 ) .totalchance += .item[[email protected]]; for ( [email protected] = 2; [email protected] < .size; [email protected] += 3 ) { [email protected] = .item[[email protected]] *10000 / .totalchance; [email protected] = [email protected] / 100; [email protected]$ = [email protected] % 100; while ( getstrlen([email protected]$) < 2 ) [email protected]$ = insertchar([email protected]$, "0", 0); .chance_display$[[email protected]] = [email protected] +"."+ [email protected]$ +"%"; if ( .[email protected] < .rare_announcement ) .announce[[email protected]] = true; } .shop_size = getarraysize(.itemshop); npcshopdelitem "Lotti#hidden", 512; for ( [email protected] = 0; [email protected] < .shop_size; [email protected] += 2 ) npcshopadditem "Lotti#hidden", .itemshop[[email protected]], .itemshop[[email protected] +1]; npcshopattach "Lotti#hidden"; .npcname$ = "[ "+strnpcinfo(3)+" ]"; end; L_talk: mes .npcname$; mes "Hello, do you want to play lottery ?"; next; switch( select( "Deal me in!", "More Information", "Lotti Shop", "Lotti Ranking" ) ) { mes .npcname$; case 1: mes "It costs "+.item[1]+"x "+F_MesItemInfo( .item[0] )+" to play."; if ( countitem( .item[0] ) < .item[1] ) close; next; if ( select( "Play", "Roll Repeatedly" ) == 1 ) { mes .npcname$; while ( true ) { mes "Here we go..."; mes " "; [email protected] = rand(.totalchance); for ( [email protected] = 2; ( [email protected] -= .item[[email protected]] ) >= 0; [email protected] += 3 ); if ( checkweight( .item[[email protected] -2], .item[[email protected] -1] ) == false ) { mes "It appears you have overweight"; break; } delitem .item[0], .item[1]; if ( [email protected] == 2 ) mes "You get nothing..."; else { mes "You get "+.item[[email protected] -1]+"x "+F_MesItemInfo(.item[[email protected] -2]); getitem .item[[email protected] -2], .item[[email protected] -1]; if ( .announce[[email protected]] ) announce sprintf (( "Lotti Girl: Player [%s] has roll on [%s](%s)" ), strcharinfo(0), getitemname(.item[[email protected] -2]), .chance_display$[[email protected]] ), bc_all, C_PINK; } lotti_points += .lotti_points; query_sql "insert into lotti_rank values ( "+ getcharid(CHAR_ID_CHAR) +", '"+ escape_sql( strcharinfo(PC_NAME) ) +"', "+ .lotti_points +" ) on duplicate key update lotti_point = lotti_point + "+ .lotti_points; mes " "; mes "wanna try again ?"; next; if ( select( "Yes", "No" ) == 2 ) break; mes .npcname$; if ( countitem( .item[0] ) < .item[1] ) { mes " "; mes "It appears you have ran out of "+F_MesItemInfo( .item[0] ); break; } } } else { mes .npcname$; mes "Input how many rounds to roll"; mes "Currently you have "+countitem( .item[0] )+" "+F_MesItemInfo( .item[0] ); next; input [email protected]_input, 1, min( countitem( .item[0] ) / .item[1], .max_roll ); mes .npcname$; mes "Are you sure you want to roll "[email protected]_input+" times ?"; next; if ( select( "Yes", "No" ) == 2 ) close; mes .npcname$; mes "Here we go..."; mes " "; // freeloop true; for ( [email protected] = 0; [email protected] < [email protected]_input; [email protected] ) { [email protected] = rand(.totalchance); for ( [email protected] = 2; ( [email protected] -= .item[[email protected]] ) >= 0; [email protected] += 3 ); if ( checkweight( .item[[email protected] -2], .item[[email protected] -1] ) == false ) { mes "It appears you have overweight"; break; } delitem .item[0], .item[1]; if ( [email protected] == 2 ) mes "You get nothing..."; else { mes "You get "+.item[[email protected] -1]+"x "+F_MesItemInfo(.item[[email protected] -2]); getitem .item[[email protected] -2], .item[[email protected] -1]; if ( .announce[[email protected]] ) announce sprintf(( "Lotti Girl: Player [%s] has roll on [%s](%s)" ), strcharinfo(0), getitemname(.item[[email protected] -2]), .chance_display$[[email protected]] ), bc_all, C_PINK; } [email protected]; sleep2 1; // prevent lag the server } lotti_points += .lotti_points * [email protected]; query_sql "insert into lotti_rank values ( "+ getcharid(CHAR_ID_CHAR) +", '"+ escape_sql( strcharinfo(PC_NAME) ) +"', "+ .lotti_points +" ) on duplicate key update lotti_point = lotti_point + "+( .lotti_points * [email protected] ); mes "Total roll : "[email protected]+" times."; } mes " "; mes "Thank you for using Lotti service~"; close; case 2: freeloop true; mes "Item required: "+.item[1]+"x "+F_MesItemInfo(.item[0]); if ( .item[2] ) mes "Chance to gain ^FF0000nothing^000000 : " + .chance_display$[2]; mes "Possible gains:"; for ( [email protected] = 3; [email protected] < .size; [email protected] += 3 ) mes " > "+F_MesItemInfo(.item[[email protected]])+" : "+ .chance_display$[[email protected] +2]; next; mes .npcname$; mes "Each time you roll, will gain "+.lotti_points+" Lotti Point(s)."; mes "Which can be use to buy rare items in Lotti Shop."; close; case 3: mes "You currently have ^0000FF"+lotti_points+"^000000 Lotti Point(s)."; dispbottom "You currently have "+lotti_points+" Lotti Point(s)."; close2; callshop "Lotti#hidden", 1; end; case 4: [email protected]$ = "SELECT `name`, IF(@d=t.`lotti_point`, @r, @r:[email protected]), @d:=t.`lotti_point`, @i:[email protected]+1 "; [email protected]$ += "FROM `lotti_rank` t, (SELECT @d:=0, @r:=0, @i:=1)q "; [email protected]$ += "ORDER BY `lotti_point` DESC LIMIT 5"; [email protected] = query_sql([email protected]$, [email protected]$, [email protected], [email protected], [email protected]); if ( [email protected] ) { mes "There's no ranking yet ~"; close; } for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) mes ""[email protected][[email protected]]+". "[email protected]$[[email protected]]+" : "[email protected][[email protected]]+" Point(s)"; mes " "; if ( !query_sql( "SELECT `lotti_point`, 1+(SELECT COUNT(1) FROM `lotti_rank` t1 WHERE t1.lotti_point > t2.lotti_point) FROM `lotti_rank` t2 WHERE `char_id` = "+ getcharid(CHAR_ID_CHAR), [email protected], [email protected] ) ) { mes "You are not in the rank."; close; } mes "Your current :"; mes " > Rank : "[email protected]; mes " > Point : "[email protected]+" Point(s)."; close; } end; // shouldn't reach OnBuyItem: mes .npcname$; if ( [email protected]_quantity ) end; if ( checkweight2( @bought_nameid, @bought_quantity ) == false ) { mes "It appears you can't carry them all"; close; } [email protected] = getarraysize( @bought_nameid ); for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) { for ( [email protected] = 0; [email protected] < .shop_size; [email protected] += 2 ) if ( @bought_nameid[[email protected]] == .itemshop[[email protected]] ) break; [email protected] += .itemshop[[email protected] +1] * @bought_quantity[[email protected]]; } if ( [email protected] > lotti_points ) { mes "You don't have enough Lotti Points"; close; } lotti_points -= [email protected]; for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) getitem @bought_nameid[[email protected]], @bought_quantity[[email protected]]; deletearray @bought_nameid; deletearray @bought_quantity; mes "Thanks for buying ~"; close; } - shop Lotti#hidden -1,512:1000
  10. exchange: if (gold == 0) goto nogold; mes "[ Gold Room Warperer ]"; mes "Hmm...let me see"; mes "You have " +gold+ "."; mes " "; mes "How many you want exchange ?"; next; switch(select("Make as many as I can.:I want to choose an amount.:Cancel")) { case 1: if (checkweight(969,gold) == 0) goto L_OverWeight; getitem 969, gold; set gold, 0; emotion e_gg; break; case 2: mes "[ Gold Room Warperer ]"; mes "You have " +gold+ "."; mes "If you don't want any, just enter '0'."; mes "With Points you have, you can make at least "+gold+" golds."; next; input [email protected]; if ([email protected] <= 0) { mes "[ Gold Room Warperer ]"; mes "Make up your mind, will you?!"; close; } if ([email protected] > gold) { mes "[ Gold Room Warperer ]"; mes "Are you deaf? I said less than "+gold+"!"; close; } next; if (checkweight(969,gold) == 0) goto L_OverWeight; set gold,gold - ([email protected]); getitem 969,[email protected]; emotion e_gg; break; case 3: mes "[ Gold Room Warperer ]"; mes "Byee !!"; close; } end; # Not tested
  11. menu "^3CB371[»]^000000 Campos de Amatsu.",F1, "^3CB371[»]^000000 Campos de Ayothaya",F2, "^3CB371[»]^000000 Campos de Bifrost", F3, "^3CB371[»]^000000 Campos de Brasilis",F4, "^3CB371[»]^000000 Campos de Comodo",F5, "^3CB371[»]^000000 Campos de Dewata",F6, "^3CB371[»]^000000 Campos de Eclage",F7, "^3CB371[»]^000000 Campos de Einbroch",F8, "^3CB371[»]^000000 Campos de El Dicastes",F9, "^3CB371[»]^000000 Campos de Geffen",F10, "^3CB371[»]^000000 Campos de Kunlun",F11, "^3CB371[»]^000000 Campos de Hugel",F12, "^3CB371[»]^000000 Campos de Lasagna",F13, "^3CB371[»]^000000 Campos de Lighthalzen",F14, "^3CB371[»]^000000 Campos de Luoyang",F15, "^3CB371[»]^000000 Campos de Lutie",F16, "^3CB371[»]^000000 Campos de Malaya",F17, "^3CB371[»]^000000 Campos de Manuk",F18, "^3CB371[»]^000000 Campos de Mjolnir",F19, "^3CB371[»]^000000 Campos de Moscovia",F20, "^3CB371[»]^000000 Campos de Niflheim",F21, "^3CB371[»]^000000 Floresta de Payon",F22, "^3CB371[»]^000000 Campos de Prontera",F23, "^3CB371[»]^000000 Campos de Rachel",F24, "^3CB371[»]^000000 Deserto de Sograt",F25, "^3CB371[»]^000000 Campos de Splendide",F26, "^3CB371[»]^000000 Campos de Umbala",F27, "^3CB371[»]^000000 Campos de Veins",F28, "^3CB371[»]^000000 Campos de Juno",F29," Return",L_Menu; and add this // -------------------------------------------------- // Main Menu: // -------------------------------------------------- L_Menu: menu "Last Warp [ ^777777"+lastwarp$+"^000000 ]",-, " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons, " ~ Instances",Instances;
  12. prontera,165,195,5 script Gold Room 848,{ mes "[ Gold Room ]"; mes "Welcome, ^ff0000" +strcharinfo(0)+ "!^000000"; next; menu "Enter ^ff0000Gold Room^000000 ^3333cc(" + getmapusers("ordeal_1-2") + ")^000000",L_Enter, "Cancel",L_Cancel; end; L_Enter: specialeffect 253; showscript "'" + strcharinfo(0) + "' entered!",getnpcid(0),AREA; warp "ordeal_1-2",0,0; end; L_Cancel: mes "[ Gold Room ]"; mes "Bye !! close; OnNPCKillEvent: if (killedrid == 1369) { if(!$gold_hour) { [email protected] = 1; } else if($gold_hour) { [email protected] = rand(1,3); } getitem 969,[email protected]; end; } end; } ordeal_1-2 mapflag pvp ordeal_1-2 mapflag nowarpto ordeal_1-2 mapflag nodrop ordeal_1-2 mapflag nobranch ordeal_1-2 mapflag nosave ordeal_1-2 mapflag nomemo ordeal_1-2 mapflag noloot ordeal_1-2 monster Golden Peco 1369,500 ordeal_1-2 monster Golden Peco 1369,500 ordeal_1-2 monster Golden Peco 1369,300
  13. your item_db already old, try to update with yml version 1652,Dragon_Staff,Dragon Staff,5,20,,0,100,,1,4,0x000810200,7,2,2,4,80,1,10,{ bonus bAspd,14; },{},{}
  14. core,141,124,5 script PvP Warper::PvP Warper 4_M_FAIRYSOLDIER,{ mes ""+.n$; mes "Welcome To PvP Warper"; next; switch (select("^6ED1E1Trans Martial Arts^000000 - ^FF0000["+getmapusers("dbz_tour")+"]^000000 Players.", "^FF33CC3rd Job Arena^000000 - ^FF0000["+getmapusers("cell_game")+"]^000000 Players.", "^BAB9B9Coliseum Guild Arena^000000 - ^FF0000["+getmapusers("coliseum")+"]^000000 Players.", "^FF7F00PvP Champion^000000 - ^FF0000["+getmapusers("[email protected]_st")+"]^000000 Players.", "Cancel")) { case 1: if (Class >= 4008 && Class <= 4022) { // Allows any Trans Class, Lord Knight - Paladin announce "[ "+ strcharinfo(0) +" ] has joined Trans Martial Arts",0,0x6ED1E1; //announce and end switch( rand(1,6) ){ case 1: warp "dbz_tour", 85, 118; end; case 2: warp "dbz_tour", 109, 118; end; case 3: warp "dbz_tour", 108, 93; end; case 4: warp "dbz_tour", 86, 92; end; case 5: warp "dbz_tour", 96, 106; end; case 6: warp "dbz_tour", 98, 129; end; } } mes ""+.n$; mes "I'm sorry, but only ^FF0000 Transcendent Job^000000 are allowed to join this PvP Room."; close; case 2: if (Class >= 4054 && Class <= 4079) { // Allows any 3rd Class, Rune Knight, etc announce "[ "+ strcharinfo(0) +" ] has joined 3rd Job Arena",0,0xFF33CC; //announce and end warp "cell_game",0,0; end; } mes ""+.n$; mes "I'm sorry, but only ^FF0000 3rd Job^000000 are allowed to join this PvP Room."; close; case 3: announce "[ "+ strcharinfo(0) +" ] has joined Coliseum Guild Arena",0,0xBAB9B9; //announce and end switch( rand(1,6) ){ case 1: warp "coliseum", 70, 103; end; case 2: warp "coliseum", 86, 86; end; case 3: warp "coliseum", 117, 96; end; case 4: warp "coliseum", 105, 72; end; case 5: warp "coliseum", 128, 77; end; case 6: warp "coliseum", 69, 75; end; } case 4: for ( [email protected] = 0; [email protected] < getarraysize([email protected]_list); [email protected] = [email protected] + 1 ) if (Class == .class[[email protected]]) { announce "[ "+ strcharinfo(0) +" ] has entered Champion 1 On 1 Arena!!",0,0x00BFFF; //announce and end warp "[email protected]_st",0,0; end; } mes ""+.n$; mes "I'm sorry, but only "+jobname(.class[0])+" & "+jobname(.class[1])+" are allowed to join this PvP Room."; close; case 5: mes ""+.n$; mes "See you ~"; close; } OnInit: set .n$,"[ ^0065DF"+strnpcinfo(1)+"^000000 ]"; // NPC Name setarray .class[0],15,4016,4077; // Allowed Class end; }
  15. if you put this, that can't check the limit status try this for the fix - script gm_is_online -1,{ OnPCLoginEvent: if (getgmlevel()>=99) goto L_admin; if (getgmlevel()>=90) goto L_co_admin; if( getgmlevel()>=10) goto L_head; if (getgmlevel()>=4) goto L_event; if (getgmlevel()>=3) goto L_support; if (getgmlevel()>=2) goto L_helper; readparam(bStr); readparam(bAgi); readparam(bVit); readparam(bInt); readparam(bDex); readparam(bLuk); if ((class >= 4054 && class <= 4079) || (class >= 4023 && class <= 4045) || (class >= 4096 && class <= 4108)) { //3rd Job Class if (readparam(bStr) > 99 || readparam(bAgi) > 99 || readparam(bVit) > 99 || readparam(bInt) > 99 || readparam(Dex) > 99 || readparam(bLuk) > 99){ mes "[^FF0000Anti Cheat System^000000]"; mes "We have detected you having stats over the limit. You will be disconnected shortly. If this is an error please contact the Game Master immediately."; atcommand "@option 2 0 0"; atcommand "@battleignore"; setoption 0x2,1; sc_start sc_berserk, 1000000000, 1; sleep2 5000; //5 Seconds delay atcommand "@kick "+strcharinfo(0)+""; end; } } else { //Other than 3rd Job Class if (readparam(bStr) > 99 || readparam(bAgi) > 99 || readparam(bVit) > 99 || readparam(bInt) > 99 || readparam(Dex) > 99 || readparam(bLuk) > 99) { mes "[^FF0000Anti Cheat System^000000]"; mes "We have detected you having stats over the limit. You will be disconnected shortly. If this is an error please contact the Game Master immediately."; atcommand "@option 2 0 0"; atcommand "@battleignore"; setoption 0x2,1; sc_start sc_berserk, 1000000000, 1; sleep2 5000; //5 Seconds delay atcommand "@kick "+strcharinfo(0)+""; end; } } L_admin: atcommand "@speed 1"; announce "[ Admin ] "+strcharinfo(0)+" is online",bc_all,0x00ff66; specialeffect2 377; specialeffect2 381; end; L_co_admin: atcommand "@speed 1"; announce "[ Co Admin ] "+strcharinfo(0)+" is online",bc_all,0x00ff66; specialeffect2 377; specialeffect2 381; end; L_head: atcommand "@speed 1"; announce "[ Head GM ] "+strcharinfo(0)+" is online",bc_all,0x00ff66; specialeffect2 377; specialeffect2 381; end; L_event: atcommand "@speed 1"; announce "[ Event GM ] "+strcharinfo(0)+" is online",bc_all,0x00ff66; specialeffect2 377; specialeffect2 381; end; L_support: atcommand "@speed 1"; announce "[ Support GM ] "+strcharinfo(0)+" is online",bc_all,0x00ff66; specialeffect2 377; specialeffect2 381; end; L_helper: atcommand "@speed 1"; announce "[ Helper ] "+strcharinfo(0)+" is online",bc_all,0x00ff66; specialeffect2 377; specialeffect2 381; end; end; }
  16. mR L

    Enchant faw

    try change to: delitem 2589, 1;
×
×
  • Create New...

Important Information

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