Jump to content

EL Dragon

Members
  • Posts

    591
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by EL Dragon

  1. denke es gibt keine. ist einfach ne Sache der Gewohnheit bzw. nach na zeit kennt man eh alles auswendig
  2. here - script Limited Items -1,{ function LimitItems; function CheckItems; OnInit: // GM Level to Bypass set .GMLevel,80; // Check Every X Seconds set .Seconds,5; // Apply on Which Maps and what Zone No. setarray .DisableMap$, // "<mapname>","<zone number>", "payon","0", "guild_vs2","1", "guild_vs3","2", "guild_vs4","3", "guild_vs5","4"; for( set .i,0; .i < getarraysize( .DisableMap$ ); set .i,.i + 2 ) setmapflag .DisableMap$[.i],mf_loadevent; end; OnPCLoadMapEvent: if( getgmlevel() >= .GMLevel ) end; set @Exceed,0; for( set .@i,0; .@i < getarraysize( .DisableMap$ ); set .@i,.@i + 2 ) if( strcharinfo(3) == .DisableMap$[.@i] ) LimitItems( atoi( .DisableMap$[.@i+1] ) ); end; function LimitItems { switch( getarg(0) ){ // Case <zone>: CheckItems( <Item>,<Amount>,<Item>,<Amount>,.....,<Item>,<Amount> ); break; Case 0: CheckItems( 4302,1,4174,1 ); break; Case 1: CheckItems(); break; Case 2: CheckItems(); break; Case 3: CheckItems(); break; Case 4: CheckItems(); break; default: debugmes "[NPC : "+strnpcinfo(0)+"] - Invalid Zone:"+getarg(0); break; } return; } function CheckItems { for( set .@i,0; getarg( .@i,0 ); set .@i,.@i + 2 ){ for( set .@eq,0; .@eq <= 10; set .@eq,.@eq + 1 ) for( set .@slot,0; .@slot <= getequipcardcnt( .@eq ); set .@slot,.@slot + 1 ) if( getequipcardid( .@eq,.@slot ) == getarg(.@i) ) set .@Limit,.@Limit + 1; set .@Limit,.@Limit + countitem( getarg(.@i) ); if( .@Limit > getarg(.@i+1) ){ set @Exceed,1; mes "[ ^FF0000Limit : ^0000FF"+getarg(.@i+1)+"^000000 ] "+getitemname( getarg(.@i) ); } } if( @Exceed ){ mes "Please ensure all the Items above didnt reach the Limit as stated above."; close2; warp "SavePoint",0,0; deltimer strnpcinfo(0)+"::OnPCLoadMapEvent"; }else{ addtimer ( .Seconds * 1000 ),strnpcinfo(0)+"::OnPCLoadMapEvent"; end; } return; } } add to Case 0: all mvp card_ids,1
  3. nice sprites the The legendary Super Saiyan Aura is not new
  4. - script loginautoloot -1,{ OnPCLoginEvent: atcommand "@autoloot"; end; }
  5. https://rathena.org/board/files/file/3105-onpclogin-settings/
  6. ist doch nicht so schwer den butten zu finden
  7. is a custom grf http://www.file-upload.net/download-10647813/status.rar.html
  8. benutze bitte Mark Solved bei dem post das dein Problem gelöst hat
  9. ╔╗─╔╗╔╗╔═══╦═══╗ ║║─║╠╝║║╔═╗║╔══╝ ║╚═╝╠╗║║╚═╝║╚══╗ ╚══╗║║║╚══╗╠══╗║ ───║╠╝╚╦══╝╠══╝║ ───╚╩══╩═══╩═══╝
  10. remove set .@pvp_maps,getmapusers("pvp_y_room") + getmapusers("pvp_y_1-2") + getmapusers("pvp_2v2"); waitingroom waitingroom "PvP Room ["+( getmapusers("pvp_y_room") + getmapusers("pvp_y_1-2") )+"]",0;
  11. http://internalguard.ro-services.com/
  12. is such a thing possible? z.b Script: act.SetColor("#760ED1F4"); TO act.SetColor("#763D0EF4");
  13. here UPDATE `char` SET hair = 0, hair_color = 0, clothes_color = 0;
  14. http://svn.code.sf.net/p/rathena/svn/trunk/npc/custom/quests/quest_shop.txt
  15. I mean the link http://pastebin.com/Bs3huVQ5
  16. youre msgstringtable.txt is removed
  17. To test it with GM acc //if( getgmlevel() >= .GMLevel ) end; map is Payon - script Limited Items -1,{ function LimitItems; function CheckItems; OnInit: // GM Level to Bypass set .GMLevel,80; // Check Every X Seconds set .Seconds,5; // Apply on Which Maps and what Zone No. setarray .DisableMap$, // "<mapname>","<zone number>", "payon","0", "guild_vs2","1", "guild_vs3","2", "guild_vs4","3", "guild_vs5","4"; for( set .i,0; .i < getarraysize( .DisableMap$ ); set .i,.i + 2 ) setmapflag .DisableMap$[.i],mf_loadevent; end; OnPCLoadMapEvent: if( getgmlevel() >= .GMLevel ) end; set @Exceed,0; for( set .@i,0; .@i < getarraysize( .DisableMap$ ); set .@i,.@i + 2 ) if( strcharinfo(3) == .DisableMap$[.@i] ) LimitItems( atoi( .DisableMap$[.@i+1] ) ); end; function LimitItems { switch( getarg(0) ){ // Case <zone>: CheckItems( <Item>,<Amount>,<Item>,<Amount>,.....,<Item>,<Amount> ); break; Case 0: CheckItems( 4302,1,4174,1 ); break; Case 1: CheckItems(); break; Case 2: CheckItems(); break; Case 3: CheckItems(); break; Case 4: CheckItems(); break; default: debugmes "[NPC : "+strnpcinfo(0)+"] - Invalid Zone:"+getarg(0); break; } return; } function CheckItems { for( set .@i,0; getarg( .@i,0 ); set .@i,.@i + 2 ){ for( set .@eq,0; .@eq <= 10; set .@eq,.@eq + 1 ) for( set .@slot,0; .@slot <= getequipcardcnt( .@eq ); set .@slot,.@slot + 1 ) if( getequipcardid( .@eq,.@slot ) == getarg(.@i) ) set .@Limit,.@Limit + 1; set .@Limit,.@Limit + countitem( getarg(.@i) ); if( .@Limit > getarg(.@i+1) ){ set @Exceed,1; mes "[ ^FF0000Limit : ^0000FF"+getarg(.@i+1)+"^000000 ] "+getitemname( getarg(.@i) ); } } if( @Exceed ){ mes "Please ensure all the Items above didnt reach the Limit as stated above."; close2; warp "SavePoint",0,0; deltimer strnpcinfo(0)+"::OnPCLoadMapEvent"; }else{ addtimer ( .Seconds * 1000 ),strnpcinfo(0)+"::OnPCLoadMapEvent"; end; } return; } }
  18. EL Dragon

    woe

    MAP_XXX,1,1,5 script Runes 757,2,2,{ // Random Coordinate where NPC will Shown Again setarray .CoordinateX[0],150,155; //@warp MAP_XXX 150 155 setarray .CoordinateY[0],175,175;
  19. here - shop ex_card_shop -1,501:1000 prontera,160,181,5 script card_exchange 474,{ mes "[ Card Exchange ]"; mes "Give to me your old cards in exchange I'll give you OCA."; mes "You currently have "+ex_cd_pts+" point(s)."; mes "Each card equals "+.points+" point(s)."; mes .limit+" point(s) will earn you "+.amount+" "+getitemname(.item)+"(s)."; callshop "ex_card_shop",2; npcshopattach "ex_card_shop"; end; OnSellItem: for (.@i = 0; .@i < getarraysize(@sold_nameid); .@i++) { if( getiteminfo( @sold_nameid[.@i], 2 ) != 6 ) { dispbottom "I only accept cards."; end; } if( .mvp ) { .@str$ = substr( getitemname( @sold_nameid[.@i] ), 0, getstrlen( getitemname(@sold_nameid[.@i]) ) -6 ); query_sql ( "SELECT count(*) FROM `mob_db_re` WHERE `iName` LIKE '"+.@str$+"' AND `MEXP`;", .@count ); if( .@count ) { dispbottom "I'm sorry but I don't accept mvp cards..."; end; } } if( countitem( @sold_nameid[.@i] ) < @sold_quantity[.@i] ) { dispbottom "Wth...?"; end; } delitem @sold_nameid[.@i], @sold_quantity[.@i]; ex_cd_pts = ex_cd_pts + ( @sold_quantity[.@i] * .points ); if( ex_cd_pts >= .limit ) { ex_cd_pts = ex_cd_pts % .limit; .@numbers = ex_cd_pts / .limit; getitem .item, .@numbers * .amount; } } end; OnInit: .mvp = 1; // Search and ignore mvp cards? .points = 1; // Points per card. .limit = 50; // The number of points required for ".item". .item = 616; // Item you get for reaching ".limit". .amount = 1; // The amount of ".item" you get per ".limit" reached. } or Putty //===== rAthena Script ======================================= //= Card Trader //===== By: ================================================== //= Elias (og2) //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena SVN r15340+ //===== Description: ========================================= //= Card and Points Trader //===== Additional Comments: ================================= //= v1.0 Translated from the Official [Elias] //= v1.1 Fixed variables and optimized script [Elias] //= v1.2 Fixed char being stuck with breaks [Elias] (bugreport:5374) //= v1.3 Optimized: reduced from 123kb to 7kb! [Euphy] //= v1.4 Variables don't need to load OnInit. [Euphy] //============================================================ prt_vilg01,99,100,0 script Putty 90,{ if (!.card[1]) { setarray .card1[0], 4001,4006,4009,4019,4075,4033,4012,4016,4026,4022, 4027,4028,4038,4025,4021,4050,4079,4081,4090,4094, 4101,4104,4110,4114,4119,4108,4095,4231,4280,4008, 4011,4013,4014,4015,4020,4032,4037,4039,4041,4045, 4046,4010,4023,4029,4052,4048,4056,4071,4093,4031, 4036,4034,4042,4055,4061,4087,4096,4116,4122,4170, 4215,4220,4228,4226,4212,4227,4267,4257,4278,4286, 4287,4292,4311,4315,4319,4322,4084,4078,4113,4149, 4153,4196,4240,4247,4256,4057,4066,4067,4112,4150, 4152,4186,4187,4181,4173,4167,4162,4176,4195,4193, 4200,4223,4194,4190,4189,4192,4224,4244,4248,4261, 4260,4259,4274,4275,4313,4299,4304,4294,4076,4127, 4154,4157,4156,4213,4214,4225,4235; setarray .card2[0], 4293,4297,4288,4283,4295,4307,4308,4309,4132,4326, 4341,4335,4337,4345,4344,4331,4333,4332,4089,4161, 4177,4178,4180,4184,4191,4206,4199,4273,4282,4268, 4289,4321,4316,4343,4339,4369,4377,4385,4383,4382, 4380,4381,4378,4379,4390,4389,4388,4391,4405,4400, 4401,4402,4404,4002,4003,4004,4005,4007,4017,4024, 4030,4035,4040,4043,4044,4049,4051,4053,4058,4060, 4062,4063,4064,4065,4068,4069,4070,4072,4073,4074, 4077,4080,4082,4083,4085,4086,4088,4091,4092,4097, 4098,4099,4100,4102,4103,4106,4107,4109,4111,4115, 4117,4118,4120,4124,4125,4126,4138,4139,4141,4151, 4158,4164,4165,4182,4185,4159,4160,4166,4172,4175, 4188,4201,4202,4204,4205,4208,4209; setarray .card3[0], 4120,4216,4217,4219,4221,4222,4230,4234,4233,4232, 4237,4238,4242,4243,4245,4246,4249,4252,4255,4258, 4262,4264,4276,4270,4271,4218,4239,4251,4253,4269, 4334,4105,4133,4136,4229,4272,4277,4279,4281,4284, 4285,4290,4296,4298,4301,4310,4314,4317,4325,4327, 4328,4329,4338,4340,4346,4347,4348,4349,4350,4351, 4353,4354,4355,4356,4358,4360,4362,4364,4366,4368, 4370,4371,4373,4375,4387,4406,4129,4155,4291,4392, 4393,4394,4409,4410,4411,4412,4413,4414,4415,4416, 4417,4418,4420,4421,4422,4423,4424,4427,4427,4428, 4429,4431,4432,4433,4434,4435,4436,4437,4438,4439, 4440,4442,4443,4444,4445,4447,4448,4449,4450,4452, 4453; setarray .card[1], getarraysize(.card1), getarraysize(.card2), getarraysize(.card3); } set .@points,oversea_event9; if (!.@points) { mes "[Putty]"; mes "Hi there."; mes "I don't know if I can be"; mes "of any assistance, but I"; mes "am trying to help older veterans"; mes "by exchaning the cards that"; mes "they are no longer using."; next; switch(select("Ask for more information!","I don't have any cards right now.")) { case 1: mes "[Putty]"; mes "I am giving 1 point for each card that you bring me."; mes "The points can be used to exchange for items that I have."; next; mes "[Putty]"; mes "For ^CC0000100 points^000000: ^0000CC1 Old Card Album^000000."; mes "For ^CC000050 points^000000: ^0000CC20 Yggdrasil Berry^000000."; mes "For ^CC000020 points^000000: ^0000CC10 Blue Potion^000000."; mes "For ^CC00001 point^000000: ^0000CC4 Honey^000000."; next; break; case 2: mes "[Putty]"; mes "Well, remember this offer!"; close; break; } } else { mes "[Putty]"; mes "Welcome back!"; mes "I see you already have some"; mes "trading points. Actually, you currently have ^00cc00" + .@points + "^000000."; next; mes "[Putty]"; mes "Would you like to exchange these"; mes "points now, or you would like to exchange more cards?"; next; } switch(select("I would like to exchange cards.","Can I exchange the points?")) { case 1: mes "[Putty]"; mes "Please tell me what card you want to exchange."; next; input .@i$; set .@input$, "_"+.@i$; set .@card,0; //freeloop(1); for(set .@j,1; .@j<4; set .@j,.@j+1) { for(set .@i,0; .@i<.card[.@j]; set .@i,.@i+1) if (compare(.@input$,"_"+getitemname(getd(".card"+.@j+"["+.@i+"]")))) { set .@card, getd(".card"+.@j+"["+.@i+"]"); break; } sleep2 10; // For good measure if (.@card) break; } //freeloop(0); mes "[Putty]"; if (!.@card) mes "Please, come back here if you want to exchange a monster card."; else { set .@count, countitem(.@card); if (!.@count) { mes "You don't have any ^0055FF"+getitemname(.@card)+"s^000000 with you!"; close; } mes "You've got ^0055FF"+.@count+" "+getitemname(.@card)+((.@count>1)?"s":"")+"^000000."; mes " "; mes "Would you like to exchange 1 point for each of them?"; next; switch(select("Yes, please!","No, thank you.")) { case 1: delitem .@card,.@count; set oversea_event9, (.@points+.@count); mes "[Putty]"; mes "Alright, you have received ^CC0000"+.@count+"^000000 points."; break; case 2: mes "[Putty]"; mes "Okay, let me know if I can help you with something else."; break; } } close; case 2: if (.@points) { mes "[Putty]"; mes "These are the items that I have."; next; switch(select("1 Old Card Album - 50 Points","20 Yggdrasil Berry - 50 Points","10 Blue Potion - 20 Points","4 Honey - 1 Point","^777777Nerver mind.^000000")) { case 1: if (.@points < 100) break; mes "[Putty]"; mes "Great, I wish you the best"; mes "of luck with this album. I have a"; mes "very good feeling about this one!"; set oversea_event9, .@points - 100; getitem 616,1; close; case 2: if (.@points < 50) break; mes "[Putty]"; mes "Oh, you must like adventures."; mes "Here you go, just what you need!"; set oversea_event9, .@points - 50; getitem 607,20; close; case 3: if (.@points < 20) break; mes "[Putty]"; mes "Blue Potions? Are you sure?"; mes "If that's what you want, here they are!"; set oversea_event9, .@points - 20; getitem 505,10; close; case 4: if (.@points < 1) break; mes "[Putty]"; mes "It took many bees"; mes "to make all of this."; mes "Make good use of it."; set oversea_event9, .@points - 1; getitem 518,4; close; case 5: mes "[Putty]"; mes "Alright, come back when you have more points."; close; } mes "[Putty]"; mes "Sorry, but you don't have enough points."; close; } else { mes "[Putty]"; mes "You have 0 points. You need at least 1 point to exchange."; } break; } close; }
  20. here's the step open ra/db/item_db2.txt make a new item - 25500,Custom_Box,Custom Box,2,10000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem groupranditem(IG_whatever),1; },{},{} next step is open ra/db/const.txt Find IG_Advanced_Weapons_Box 61 below add this IG_whatever 63 //IG_whatever must be same in the item_db2.txt script command next step open ra/db/item_group_db.txt import: db/item_whatever.txt - put this next step make a new script named item_whatever.txt - place this in ra/db/ next step open item_whatever.txt - in ra/db/item_whatever.txt //Explanation 63 - is the number you input in const.txt // - 1111 - this is the itemID // - 9 - this is the rate 63,1111,9 63,<Item ID>,<Rate> next step open ra/src/map/itemdb.h find this part #define MAX_ITEMGROUP #62 the number is 62 where in const.txt the max group number is 62 - but you add another item group.. - just add + 1 in 62 so make it #define MAX_ITEMGROUP #63
  21. CheckItems( Item_ID,Max_Amount,Item_ID,Max_Amount usw); break; z.b 4302,2 then you can 1~2 Tao Cards
  22. Change OnAtCommand to other z.b OnKillboss
×
×
  • Create New...