AnnieRuru

Members
  • Content Count

    1,850
  • Avg. Content Per Day

    1
  • Joined

  • Last visited

  • Days Won

    37

AnnieRuru last won the day on January 10

AnnieRuru had the most liked content!

Community Reputation

544 Excellent

About AnnieRuru

  • Rank
    ~~Cute~Cute~Scripter~~

Profile Information

  • Gender
    Female
  • Location
    your next door ~
  • Github
    AnnieRuru
  • Interests
    event scripts ~~ <3

Contact Methods

  • Discord
    AnnieRuru#1609

Recent Profile Visitors

13,501 profile views
  1. AnnieRuru

    R> NPC Mix Cards

    prontera,155,185,5 script kjsfksdfhj 1_F_MARIA,{ getinventorylist; for ( [email protected] = 0; [email protected] < @inventorylist_count; [email protected] ) { if ( getiteminfo( @inventorylist_id[[email protected]], 2 ) == IT_CARD ) { [email protected]$ = getitemname( @inventorylist_id[[email protected]] ); [email protected] = getstrlen([email protected]$); if ( substr( [email protected]$, [email protected] -4, [email protected] -1 ) == "Card" ) { [email protected][[email protected]] = @inventorylist_id[[email protected]]; [email protected][[email protected]] = @inventorylist_amount[[email protected]]; [email protected]; } } } for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) [email protected] += [email protected][[email protected]]; if ( [email protected] < 5 ) { mes "you don't have total of 5 cards"; close; } if ( Zeny < 100000 ) { mes "You don't have enough Zeny."; close; } for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) [email protected]$ += [email protected][[email protected]] +"x "+ getitemname( [email protected][[email protected]] ) +":"; [email protected]$ += "[Done]"; while ( true ) { mes "Choose up to 5 cards"; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) mes [email protected]_amount[[email protected]] +"x "+ getitemname( [email protected]_cardid[[email protected]] ); next; [email protected] = select( [email protected]$ ) -1; if ( [email protected] == [email protected] ) { [email protected] = 0; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) [email protected] += [email protected]_amount[[email protected]]; if ( [email protected] != 5 ) { mes "you didn't choose total of 5 cards"; next; } else break; } else { mes "input the amount to roll"; if ( input( [email protected], 0, [email protected][[email protected]] ) ) { mes "invalid amount"; next; } else { for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) { if ( [email protected]_cardid[[email protected]] == [email protected][[email protected]] ) { deletearray [email protected]_cardid[[email protected]], 1; deletearray [email protected]_amount[[email protected]], 1; [email protected]; [email protected]_total; break; } } if ( [email protected] ) { [email protected]_cardid[[email protected]_total] = [email protected][[email protected]]; [email protected]_amount[[email protected]_total] = [email protected]; [email protected]_total; } } } } mes "Are you sure you want to use"; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) mes [email protected]_amount[[email protected]] +"x "+ getitemname( [email protected]_cardid[[email protected]] ); mes "for a random card ?"; next; if ( select ( "Yes", "No" ) == 2 ) close; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) { if ( countitem( [email protected]_cardid[[email protected]] ) < [email protected]_amount[[email protected]] ) { mes "Don't try to cheat with me !!"; close; } } if ( Zeny < 100000 ) { mes "You don't have enough Zeny."; close; } if ( !checkweight( 1201, 1 ) ) { mes "You don't have enough space"; close; } for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) delitem [email protected]_cardid[[email protected]], [email protected]_amount[[email protected]]; Zeny -= 100000; getitem .cardid[ rand( .card_total ) ], 1; close; OnInit: setarray .cardid, 4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,4024,4025,4026,4027,4028,4029,4030,4031,4032,4033,4034,4035,4036,4037,4038,4039,4040,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055,4056,4057,4058,4059,4060,4061,4062,4063,4064,4065,4066,4067,4068,4069,4070,4071,4072,4073,4074,4075,4076,4077,4078,4079,4080,4081,4082,4083,4084,4085,4086,4087,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,4109,4110,4111,4112,4113,4114,4115,4116,4117,4118,4119,4120,4121,4122,4123,4124,4125,4126,4127,4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,4138,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173,4174,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,4185,4186,4187,4188,4189,4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205,4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4217,4218,4219,4220,4221,4222,4223,4224,4225,4226,4227,4228,4229,4230,4231,4232,4233,4234,4235,4236,4237,4238,4239,4240,4241,4242,4243,4244,4245,4246,4247,4248,4249,4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269,4270,4271,4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289,4290,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307,4308,4309,4310,4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325,4326,4327,4328,4329,4330,4331,4332,4333,4334,4335,4336,4337,4338,4339,4340,4341,4342,4343,4344,4345,4346,4347,4348,4349,4350,4351,4352,4353,4354,4355,4356,4357,4358,4359,4360,4361,4362,4363,4364,4365,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403,4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4416,4417,4418,4419,4420,4421,4422,4423,4424,4425,4426,4427,4428,4429,4430,4431,4432,4433,4434,4435,4436,4437,4438,4439,4440,4441,4442,4443,4444,4445,4446,4447,4448,4449,4450,4451,4452,4453,4454,4455,4456,4457,4458,4459,4460,4461,4462,4463,4464,4465,4466,4467,4468,4469,4470,4471,4472,4473,4474,4475,4476,4477,4478,4479,4480,4481,4482,4483,4484,4485,4486,4487,4488,4489,4490,4491,4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507,4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,4519,4520,4521,4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,4536,4537,4538,4539,4540,4541,4542,4543,4544,4545,4546,4547,4548,4549,4550,4552,4553,4554,4555,4556,4557,4559,4560,4561,4562,4563,4564,4565,4566,4567,4568,4569,4570,4571,4572,4573,4574,4575,4576,4577,4578,4579,4580,4581,4582,4583,4584,4585,4586,4587,4588,4589,4590,4591,4592,4593,4594,4595,4596,4597,4598,4599,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4625,4626,4627,4628,4629,4630,4631,4632,4633,4634,4635,4636,4637,4638,4639,4640,4641,4642,4643,4644,4645,4646,4647,4648,4649,4650,4651,4652,4653,4654,4655,4656,4657,4658,4659,4660,4661,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672,4673,4674,4675,4676,4677,4678,4679,4680,4681,4682,4683,4684,4685,4686,4687,4688,4689,4690,4691,4692,4693,4694,4695,4696,4697,4698,4699,6846,22875,27012,27013,27014,27015,27016,27017,27018,27019,27020,27025,27026,27027,27028,27029,27030,27081,27082,27083,27084,27085,27086,27087,27088,27101,27102,27103,27104,27105,27106,27107,27108,27109,27110,27111,27112,27113,27114,27115,27116,27117,27118,27119,27120,27121,27122,27123,27124,27125,27126,27147,27148,27149,27150,27151,27152,27157,27158,27159,27160,27161,27162,27163,27164,27165,27166,27167,27168,27169,27170,27171,27172,27173,27174,27175,27176,27177,27178,27179,27180,27181,27182,27183,27184,27196,27197,27198,27199,27249,27250,27251,27252,27253,27254,27255,27256,27257,27258,27259,27260,27261,27262,27263,27264,27265,27286,27287,27288,27289,27290,27291,27292,27293,27294,27295,27296,27297,27298,27304,27305,27306,27307,27308,27309,27310,27311,27312,27313,27314,27315,27316,27317,27318,27319,27320,27322,27323,27324,27325,27326,27327,27328,27330,27331,27332,27333,27334,27335,27336,27337,27338,27339,27340,27341,27342,27343,31006,31007,31008,31009,31010,31011,31012,31013,31014,31015,31016,31017,31018,31019,31020,31021,31022,31023; .card_total = getarraysize( .cardid ); end; } array generated by export result into cvs, then run macro with notepad++
  2. rathena conf import folders ... just rename import-tmpl folder into import ... then paste the value inside scroll down and read here db import folders -> db/import https://github.com/rathena/rathena/blob/master/db/import-tmpl/item_db.txt ....... ...... wait .... there is no way you can miss those folders
  3. AnnieRuru

    Battleground: PVP 1.0 - AnnieRuru Help

    sorry, if you are using very old emulator and don't want waitingroom, the only way is source edits I used to have setbgid source release ...
  4. well people like me use TortoiseGit on a daily basis, I have so many f*cking branch that I lazy to remove them this import folder thing for source code is Hercules only feature, which I already told you in previous post you just have to write all the changes in one single file, don't need to touch src folder Hercules Plugin System -> http://herc.ws/wiki/HPM I usually install my plugin using this guide -> http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC rathena planned to implement this system, but there is no ETA, no news about it so nope, the emulator server you work on is rAthena, doesn't have this kind of system yet and I guess its almost impossible to switch your project from rAthena to Hercules, since you have already progress quite far yeah its true... its not some... MANY people also refuse to update their server because they don't like to resolve conflicts just need to tell this because by developing on outdated emulator, your project has detached from the majority of the community but I guess its nice seeing someone has the passion to develop something nobody else has done before I can bet some people willingly offer to buy over your project once its done
  5. AnnieRuru

    EA Job System?

    prontera,163,171,3 script PvP Arena Guardian 966,{ [email protected] = eaclass(); mes "[Guardian]"; mes "Greeting Warriors, which PvP room you wish to enter ?"; next; switch(select("3rd Job Arena", "2nd Job Arena", "All Job Arena")) { case 1: if ( ([email protected] & EAJL_THIRD) || ([email protected] & EAJ_KAGEROUOBORO) == EAJ_KAGEROUOBORO || ([email protected] & EAJ_KAGEROUOBORO) == EAJ_KAGEROUOBORO ) { close2; switch( rand(4) ) { case 1: warp "guild_vs3",16,49; end; case 2: warp "guild_vs3",50,83; end; case 3: warp "guild_vs3",83,50; end; default: warp "guild_vs3",50,16; end; } } else { mes "Only 3rd Jobs are allowed in this arena."; close; } end; case 2: if ( Upper == 1 && ([email protected] & EAJL_2) && ([email protected] & EAJL_THIRD) == false && ([email protected] & EAJ_KAGEROUOBORO) != EAJ_KAGEROUOBORO && ([email protected] & EAJ_KAGEROUOBORO) != EAJ_KAGEROUOBORO ) { switch( rand(4) ) { case 1: warp "guild_vs2",89,49; end; case 2: warp "guild_vs2",50,89; end; case 3: warp "guild_vs2",9,50; end; default: warp "guild_vs2",49,10; end; } } else { mes "This arena is only for 2nd jobs"; close; } end; case 3: close2; switch( rand(4) ) { case 1: warp "pvp_n_1-5",99,134; end; case 2: warp "pvp_n_1-5",133,100; end; case 3: warp "pvp_n_1-5",100,65; end; default: warp "pvp_n_1-5",66,99; end; } end; } } now only I understand what you are trying to do.... this one should fix it yeah my fault, didn't know you are making this for pvp room script, now this make sense now those who satisfy the 1st option, cannot go inside the 2nd option room rand(4) is random number between 0~3 so just change your case 4 into default: case
  6. AnnieRuru

    Q>Item mass Seller help

    ITEMINFO_TYPE is Hercules only constants, rAthena return this value in 0 if ( getiteminfo( (@inventorylist_id[[email protected]] ) ,ITEMINFO_TYPE ) == IT_ETC ) { perhaps this line should be if ( getiteminfo( (@inventorylist_id[[email protected]] ) , 2) == IT_ETC ) {
  7. AnnieRuru

    Vending Controller

    hmm ? this script was actually written in mind by having plugin installed ... however rathena members seems very interested in this script indeed you can just disable the min_npc_vendchat_distance from battle config just test on rAthena test server, couldn't reproduce your problem try start with only 2 elements in your array, then expend slowly by @reloadscript
  8. AnnieRuru

    EA Job System?

    it just some lines to help debug the script just now Secret told me that Oboro has baby support, so I just add this line to test it yeah there are some lines meant to debug and shows the value in-game
  9. AnnieRuru

    R> NPC Mix Cards

    prontera,155,185,5 script kjsfksdfhj 100,{ getinventorylist; for ( [email protected] = 0; [email protected] < @inventorylist_count; [email protected] ) { if ( getiteminfo( @inventorylist_id[[email protected]], 2 ) == IT_CARD ) { [email protected]$ = getitemname( @inventorylist_id[[email protected]] ); if ( substr( [email protected]$, getstrlen([email protected]$) -4, getstrlen([email protected]$) -1 ) == "Card" ) { [email protected][[email protected]] = @inventorylist_id[[email protected]]; [email protected][[email protected]] = @inventorylist_amount[[email protected]]; [email protected]; } } } for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) [email protected] += [email protected][[email protected]]; if ( [email protected] < 5 ) { mes "you don't have total of 5 cards"; close; } if ( Zeny < 100000 ) { mes "You don't have enough Zeny."; close; } for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) [email protected]$ += [email protected][[email protected]] +"x "+ getitemname( [email protected][[email protected]] ) +":"; [email protected]$ += "[Done]"; while ( true ) { mes "Choose up to 5 cards"; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) mes [email protected]_amount[[email protected]] +"x "+ getitemname( [email protected]_cardid[[email protected]] ); next; [email protected] = select( [email protected]$ ) -1; if ( [email protected] == [email protected] ) { [email protected] = 0; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) [email protected] += [email protected]_amount[[email protected]]; if ( [email protected] != 5 ) { mes "you didn't choose total of 5 cards"; next; } else break; } else { mes "input the amount to roll"; if ( input( [email protected], 0, [email protected][[email protected]] ) ) { mes "invalid amount"; next; } else { for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) { if ( [email protected]_cardid[[email protected]] == [email protected][[email protected]] ) { deletearray [email protected]_cardid[[email protected]], 1; deletearray [email protected]_amount[[email protected]], 1; [email protected]; [email protected]_total; break; } } if ( [email protected] ) { [email protected]_cardid[[email protected]_total] = [email protected][[email protected]]; [email protected]_amount[[email protected]_total] = [email protected]; [email protected]_total; } } } } mes "Are you sure you want to use"; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) mes [email protected]_amount[[email protected]] +"x "+ getitemname( [email protected]_cardid[[email protected]] ); mes "for a random card ?"; next; if ( select ( "Yes", "No" ) == 2 ) close; for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) { if ( countitem( [email protected]_cardid[[email protected]] ) < [email protected]_amount[[email protected]] ) { mes "Don't try to cheat with me !!"; close; } } if ( Zeny < 100000 ) { mes "You don't have enough Zeny."; close; } if ( !checkweight( 1201, 1 ) ) { mes "You don't have enough space"; close; } for ( [email protected] = 0; [email protected] < [email protected]_total; [email protected] ) delitem [email protected]_cardid[[email protected]], [email protected]_amount[[email protected]]; Zeny -= 100000; getitem .cardid[ rand( .card_total ) ], 1; close; OnInit: .card_total = query_sql( "select id from item_db_re where type = "+ IT_CARD +" and name_japanese like '%Card'", .cardid ); end; } I thought this is simple request, but ends up like writing a mini-mission board like script @wingsofloveza
  10. AnnieRuru

    EA Job System?

    prontera,155,185,5 script kjsfksdfhj 100,{ [email protected] = eaclass(); dispbottom [email protected] +" 0x"+ sprintf( "%X", [email protected] ); if ( ([email protected] & EAJL_THIRD) || [email protected] == EAJ_KAGEROUOBORO || [email protected] == EAJ_REBELLION ) dispbottom "say one"; else if ( Upper == 1 && ([email protected] & EAJL_2) ) dispbottom "say two"; end; } prontera,158,185,5 script kjsfksdfhj2 100,{ jobchange Class, 2; }
  11. AnnieRuru

    EA Job System?

    since when they have baby version I must be out from RO for very long time prontera,155,185,5 script kjsfksdfhj 100,{ [email protected] = eaclass(); dispbottom [email protected] +" 0x"+ sprintf( "%X", [email protected] ); if ( [email protected] & EAJL_THIRD || ([email protected] & EAJ_KAGEROUOBORO) == EAJ_KAGEROUOBORO || ([email protected] & EAJ_REBELLION) == EAJ_KAGEROUOBORO ) dispbottom "say yes"; end; } prontera,158,185,5 script kjsfksdfhj2 100,{ jobchange Class, 2; } EDIT: WAIT a moment .... topic start says only 3rd jobs .... means NO BABY I got tricked means the previous post answer is correct
  12. AnnieRuru

    EA Job System?

    dispbottom MAPID_REBELLION +""; // return 0 dispbottom MAPID_KAGEROUOBORO +""; // return 0 prontera,155,185,5 script kjsfksdfhj 100,{ [email protected] = eaclass(); if ( [email protected] & EAJL_THIRD || [email protected] == EAJ_KAGEROUOBORO || [email protected] == EAJ_REBELLION ) dispbottom "say yes"; end; }
  13. AnnieRuru

    Ask About [src/custom]

    yes doesn't seem so, Visual Studio throw this error on me 1>------ Build started: Project: map-server, Configuration: Debug Win32 ------ 1>atcommand.cpp 1>d:\ragnarok\rathena\src\custom\atcommand.inc(15): error C2084: function 'int atcommand_go(const int,map_session_data *,const char *,const char *)' already has a body 1>d:\ragnarok\rathena\src\map\atcommand.cpp(1862): note: see previous definition of 'atcommand_go' 1>Done building project "map-server.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 7 up-to-date, 0 skipped ==========
  14. I've finished that How to make your offline RO server in more than 5 days now its time to answer your questions You have to understand 2 things 1. Everyone in this community understand how .patch file works take a look in this topic ... https://rathena.org/board/topic/117978-duel-script_command/?do=findComment&amp;comment=356427 src/map/battle.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/map/battle.cpp b/src/map/battle.cpp index bd93370fb..8df9921fe 100644 --- a/src/map/battle.cpp +++ b/src/map/battle.cpp @@ -7643,6 +7643,13 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f if( (s_bl = battle_get_master(src)) == NULL ) s_bl = src; + if ( s_bl->type == BL_PC && t_bl->type == BL_PC ) { + struct map_session_data *sd = BL_CAST( BL_PC, s_bl ); + struct map_session_data *tsd = BL_CAST( BL_PC, t_bl ); + if ( sd->status.account_id == 2000000 && tsd->status.account_id == 2000001 || sd->status.account_id == 2000001 && tsd->status.account_id == 2000000 ) + return 1; + } + if ( s_bl->type == BL_PC ) { switch( t_bl->type ) { case BL_MOB: // Source => PC, Target => MOB this is a patch script, but I don't write like that, this is auto-generated by ToitoiseGit Let me show you how I did it 1. I know the answer is edit the battle_check_target function, so I find that function and insert those lines (forgive my Hello Kitty theme) https://github.com/AnnieRuru/customs/blob/master/server setup/patch_1.png 2. notice the rAthena folder turn from Green to Red, means I have edited the file. TortoiseGit -> Diff https://github.com/AnnieRuru/customs/blob/master/server setup/patch_2.png 3. Click save unified diff https://github.com/AnnieRuru/customs/blob/master/server setup/patch_3.png 4. Ctrl + A to select all, paste the code on the forum https://github.com/AnnieRuru/customs/blob/master/server setup/patch_4.png Process 2-4 took me less than 5 seconds, its much faster than upload the whole src folder and everyone is expected to understand the patch format even if they don't, they can also always use TortoiseGit to apply the patch 2. the server you downloaded are 6 months old the server you download has this change log -> Changelog: 07 July 2018 - updated all content inside the package to their actual versions. Also, changed exe to 20180530 one from 20170614, and also repacked game clients as well too. Fixed small minor reported issues. Download links updated (please use the client) which is about 6 months old ... a lot of stuffs and codes has change since then when the developer introduce new features, or fix other things, it also break some existing code there are no source code that will last forever, I have to keep update my scripts/plugin every time the community complaint its broken that's interesting ... can you make a patch file out from it ? I usually use TortoiseGit for it, never try before with Visual Studio Yes, you don't have to install VS2017 if you already have VS2013 installed unit_skilluse_id function with the target_id on SELF
  15. AnnieRuru

    MSQL MISSION BOARD

    as far as I understand, Emistry has dropped support for his SQL type script however, my version which doesn't use SQL at all, I still can fix it if anyone reporting bugs