Jump to content

kronobr

Members
  • Posts

    71
  • Joined

  • Last visited

Everything posted by kronobr

  1. /*========================================== * @dropequip [FE] * Drop spesific equipment to the ground *------------------------------------------*/ ACMD_FUNC(dropequip) { int i; unsigned short pos; nullpo_retr(-1, sd); if (!message || !*message) { clif_displaymessage(fd, "Please enter equip location: @dropequip <equip_location>"); clif_displaymessage(fd, " 1: Head Low 2: Hand Right 4: Garment 8: Acc Left"); clif_displaymessage(fd, " 16: Armor 32: Hand Left 64: Shoes 128: Acc Right"); clif_displaymessage(fd, "256: Head Top 512: Head Mid"); return -1; } pos = atoi(message); for (i = 0; i < MAX_INVENTORY; i++) { if (sd->status.inventory[i].amount && sd->inventory_data[i]->equip&pos) { if(sd->status.inventory[i].equip&pos) { pc_unequipitem(sd, i, 3); pc_dropitem(sd, i, sd->status.inventory[i].amount); } //-Delete code below if you only want to drop an equipped item--- else if (!sd->status.inventory[i].equip) pc_dropitem(sd, i, sd->status.inventory[i].amount); //--------------------------------------------------------------- } } return 0; } Could someone help transform this code from 2012 atcommand to work in atcommand.cpp from rathena 2019? Thanks a lot ? the errors are related to ''status.inventory'' and status.inventory[i] equip%pos it looks like it has changed over time.
  2. can you adjust to reactivate when the whole party dies? The event is locked with no way to enter.
  3. brasilis,253,355,5 script testE 811,{ OnPCDieEvent: if (countitem(501) < 1){ set .@deadplayer,getcharid(0); message strcharinfo(0),"Game Over"; sleep2 600; atcommand "@clearcart "+strcharinfo(0); end; } else delitem 501,1; end; close; } Hi everyone, everything fine? I need help checking if the player is on the prt_fild08 map right after death, and if he is on that map, the rest of the script doesn't run. Thanks
  4. prontera,157,178,5 script dedoduro 757,{ if ( getgmlevel() < 80 ) end; mes "Input Player Name"; if ( input( .@input$, 4, 23 ) ) { mes "invalid name length"; close; } if ( set( .@nb, query_sql( "select name, online from `char` where account_id = ( select account_id from `char` where name = '"+ escape_sql(.@input$) +"' ) order by char_num", .@name$, .@online ) ) ) for ( set .@i, 0; .@i < .@nb; set .@i, .@i +1 ) mes " > "+ .@name$[.@i] +" "+( ( .@online[.@i] )? "^00FF00[Online]" : "^FF0000[Offline]" )+"^000000"; //here// mes .@name$ + !getmapxy( .@map$, .@x, .@y, 0, .name$[.@s] ) && .@map$ != strcharinfo(3); else mes "No character found"; close; } HELLO EVERYONE, I need help with this npc. I need this npc to show the map the player is on. I tried to do it but it's not working . Thanks
  5. I would like to request an npc that works as public storage with access for all players.
  6. Sometimes when I trade the card it doesn't give me a card. Where can I fix that? ** I have same problem 5% of the time when i use the npc. Can someone help?
  7. Can anyone help? I need the English descriptions of the correct skills for renewal 20180620 Skilldescript
  8. OnWBossDied: announce " " + strcharinfo(0) + " Find a Mob treasure!", bc_all, 0xFF0000; getitem 617,1; if (getcharid(1) == 0){ getexp 80000,0; end; } else { if( getcharid(1) ) { getpartymember( getcharid(1),2 ); getpartymember( getcharid(1),1 ); for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if (attachrid($@partymemberaid[.@i])) { if (strcharinfo(3) == .map_event$) { getexp 80000,0; } detachrid; } } end; }}} I need the player to receive the exp and the party also to receive the exp. But I was bugging when there is no party person online. Can anyone help adjust? The item (getitem) is just for who kill and this is ok. When I was at a party created, but all offline, I was not receiving the exp.
  9. I can use this npc but for other types of items that are not cards? like equipment for example or usable items? I don't know much code, if anyone can make this change I would appreciate it.
  10. Hi, someone can help with this? i need something like this. But can be a npc what identify and put a random card/enchant gems from item id on 4º slot from equips.
  11. //===== rAthena Script ======================================= //= Card Trader //===== By: ================================================== //= Elias (og2) //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project; SVN r15340+ //===== Description: ========================================= //= Card and Points Trader //===== Additional Comments: ================================= //= 1.0 Translated from the Official [Elias] //= 1.1 Fixed variables and optimized script [Elias] //= 1.2 Fixed char being stuck with breaks [Elias] (bugreport:5374) //= 1.3 Optimized: reduced from 123kb to 7kb! [Euphy] //= 1.4 Variables don't need to load OnInit. [Euphy] //= 1.4a Misc. [Capuche] //============================================================ prontera,54,70,4 script CardGirl 770,{ disable_items; 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 .@size_card[1], getarraysize(.@card1), getarraysize(.@card2), getarraysize(.@card3); .@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 ^CC00005 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; } } 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$; .@input$ = "_"+.@i$; freeloop(1); for(.@j = 1; .@j<4; .@j++) { for(.@i = 0; .@i<.@size_card[.@j]; .@i++) if (compare(.@input$,"_"+getitemname(getd(".@card"+.@j+"["+.@i+"]")))) { .@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 { .@count = countitem(.@card); if (!.@count) { mes "You don't have any ^0055FF"+callfunc("F_GetPlural",getitemname(.@card))+"^000000 with you!"; close; } mes "You've got ^0055FF"+callfunc("F_InsertPlural",.@count,getitemname(.@card))+"^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; 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 - 5 Points","^777777Nerver mind.^000000")) { case 1: if (.@points < 5) 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!"; oversea_event9 = .@points - 5; getitem 616,1; close; case 2: 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 5 points to exchange."; close; } } } how to make the input find by the item id instead of the name? Thanks
  12. how to enable the pet to catch loot? Use renewal rathena. even with the equipped item the poring does not pick up the loot. Support is enabled. There is no petloot option in pet_db and the import pet_db is empty.
  13. I need the item be deleted only If name exist.
  14. prontera,150,114,4 script God Connection 811,{ mes "You can bring to life a old friend if you have a God item gift."; next; if (countitem(6293) < 1) end; input .@input$; delitem 6293,1; set @success, atcommand ("@unjail "+.@input$); if(!@success) { mes "Something's wrong, maybe the player doesn't exist."; } mes "Done!"; close; } Hi ,I need help to delete the item only if the player spells the other's name correctly for UNjail. Currently, if he misses the name, he loses the item anyway because the unjail fails. Thanks you all
  15. How should be? Im learning yet about that. Thanks.
  16. How to make this work? 7140,Seed_Of_Life,Seed of Life,0,600,,10,,,,,,,,,,,,,{ input .@input$; atcommand "@unjail " + .@input$ },{},{} An item that when used, the player puts the name of another and uses the command unjail.
  17. Hello everyone, I would like a card collector's npc, where the player needs to have certain cards in your inventory like an sticker album, for example, from card 4001 to 4100 or cards of my choice. And he exchanges all these cards for some item as a prize. This Mission can be done weekly by the same account. It is not the same thing as the npc Card Trader that we have available. Thank you!
  18. Hi, I would like this npc to affect only Armor and Upper Headgear. I tried to modify the setarray .eqp $ to have only these options but it doesn't work. Can anyone help? I tried to modify it in several ways, but it still doesn't pull the correct ones. geffen,114,103,4 script Master Expert 480,{ mes .npc$; mes "Im a Master os Masters! I do things that only demigods can do. But everything comes at a price."; next; mes "Gimme a card between id 4001 ~ 4100 and "+.pric+"z. please note that it's 40% sucess rate"; emotion e_no1,0; next; mes "The item must have at least 1 enchantment in order to receive my powers."; next; mes "You can use any card id 4001~4100 range, without type restriction, in the first slot (Even if it has no slot) from Upper Headgear and Armor"; next; mes "If it fails, the item is not deleted, nor is the letter."; next; if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; } if(Zeny<.pric) { mes .npc$; mes "Insufficient zeny"; close; } mes .npc$; mes "Select your equipment"; next; while(set(.@a,.@a+1)<=.e_len) { if(getequipid(.@a)>-1) set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.@a))+"^000000]:"; else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:"; } select(.@menu$); set .@eq_loc, @menu; set .@eq_itm, getequipid(.@eq_loc); if(.@eq_itm<0) { mes .npc$; mes "Hmm, I don't think you have anything equipped there."; close; } set .@menu$, ""; set .@a, .en_orb[0]; while((set(.@a,.@a+1)-1)<=.en_orb[1]) if(getiteminfo(.@a-1,2)>-1) if(set(.@c,countitem(.@a-1))) { set .@menu$, .@menu$+getitemname(.@a-1)+" x"+.@c+":"; set .@b,.@b+1; set .@item[.@b], .@a-1; } if(.@menu$=="") { mes .npc$; mes "You need some card in your inventory"; close; } mes .npc$; mes "Select card from your inventory"; next; select(.@menu$); set .@itm, .@item[@menu]; set .@menu$, ""; set .@a, 0; while((set(.@a,.@a+1)-1)<1) { setd(".@crd"+.@a, getequipcardid(.@eq_loc,.@a-1)); if(getequipcardid(.@eq_loc,.@a-1)) set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^a92435"+getitemname(getequipcardid(.@eq_loc,.@a-1))+"^000000]:"; else set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^30ad25Empty^000000]:"; } setarray .@OptID[0],0; setarray .@OptID[1],0; setarray .@OptID[2],0; setarray .@OptID[3],0; setarray .@OptID[4],0; setarray .@OptVal[0],0; setarray .@OptVal[1],0; setarray .@OptVal[2],0; setarray .@OptVal[3],0; setarray .@OptVal[4],0; setarray .@OptParam[0],0; setarray .@OptParam[1],0; setarray .@OptParam[2],0; setarray .@OptParam[3],0; setarray .@OptParam[4],0; for (.@j = 0; .@j < 5; .@j++) { setarray .@OptID[.@j],getequiprandomoption(.@eq_loc,.@j,ROA_ID); setarray .@OptVal[.@j],getequiprandomoption(.@eq_loc,.@j,ROA_VALUE); setarray .@OptParam[.@j],getequiprandomoption(.@eq_loc,.@j,ROA_PARAM); //mes .@OptID[.@j]+","+.@OptVal[.@j]+","+.@OptParam[.@j]; } mes .npc$; mes "select slot."; next; select(.@menu$); set .@eqrf, getequiprefinerycnt(.@eq_loc); if(getequipcardid(.@eq_loc,@menu-1)) { //mes .npc$; mes "This slot already have some card."; next; // if(Zeny<500000) { mes "Insufficient Zeny"; close; } switch(select("Bye")) { case 1: close; break; case 2: close; break; } //if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; } //successremovecards (.@eq_loc); close; } if(rand(100)>.perc) { mes .npc$; mes "I'm sorry but I've failed you!"; misceffect 155; emotion e_sob,0; set Zeny,Zeny-.pric; close; } set Zeny,Zeny-.pric; delitem .@itm,1; delitem3 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4,.@OptID,.@OptVal,.@OptParam; setd(".@crd"+@menu, .@itm); getitem3 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4,.@OptID,.@OptVal,.@OptParam; misceffect .efet; emotion e_no1,0; mes .npc$; mes "All done!"; equip .@eq_itm; close; //NPC Constants OnInit: //=-=-=-=-=-=-=Configuration=-=-=-=-=-=-= set .npc$ , "[^0000FFMaster Expert^000000]"; // NPC Name set .pric , 500000; // Price set .efet , 154; // Effect Number set .perc , rand(40,60); // Percent setarray .crd_c$, "st", "nd", "rd", "th"; // Count // setarray .en_orb, 29081, 29088; // Range of IDs selected for setarray .en_orb, 4001, 4100; // Range of IDs selected for // setarray .en_orb, 4700, 4950; // Range of IDs selected for enchanting. setarray .eqp$ , "", "", "", "", "", "Upper Headgear", "Armor", "", "", ""; set .e_len , getarraysize(.eqp$); waitingroom "[Master Expert]",0; //=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-= }
  19. I would like to ask for a hunting quest npc that counts any dead monsters instead of just the chosen ids. And if possible, tell if you're in the same party.
  20. How do you make guild castle guards attack monsters too?
  21. I actually just wanted a quest npc that asks for random collection items. A box with prize itz ok.. but i need a quest npc with random item request
  22. Boa tarde, gostaria de solicitar orçamento para desenvolvimento de um plugin ou forma de funcionar o chat de voz junto com o servidor. exemplo Assim que o jogador chegar na area do jogo o bot te joga pra uma sala do discord correspondente ao local. Ou dessa forma ou de qualquer forma parecido como ocorre em GTA 5 rp, pelo tokovoip.
  23. <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <servicetype>america</servicetype> <servertype>primary</servertype> <connection> <display>[ SERVER TITLE HERE ]</display> <address>198.27.xx.xxx</address> <port>6900</port> <version>55</version> <langtype>1</langtype> <packetver>20180620</packetver> <grf>data.grf<grf> <increase_max_hairstyles>500</increase_max_hairstyles> <increase_max_haircolors>600</increase_max_haircolors> <read_data_directory_first>true</read_data_directory_first> <iteminfo>itemInfo.lua</iteminfo> <hide_quickcashshop_button>true</hide_quickcashshop_button> <max_guildpositions>72</max_guildpositions> <registrationweb>https://www.website.net/</registrationweb> <aid> <admin>2000000</admin> <admin>2000001</admin> </aid> <loading> <image>loading00.jpg</image> <image>loading01.jpg</image> </loading> </connection> </clientinfo> I don't know if it is correct, but I tried to remove it, and it continues with the same error. sclientinfo And i remove a patch line in your clientinfo. <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <servicetype>america</servicetype> <servertype>primary</servertype> <connection> <display>[ SERVER TITLE HERE ]</display> <address>198.27.xxx.xx</address> <port>6900</port> <version>55</version> <langtype>1</langtype> <packetver>20180620</packetver> <increase_max_hairstyles>500</increase_max_hairstyles> <increase_max_haircolors>600</increase_max_haircolors> <read_data_directory_first>true</read_data_directory_first> <iteminfo>itemInfo.lua</iteminfo> <hide_quickcashshop_button>true</hide_quickcashshop_button> <max_guildpositions>30</max_guildpositions> <registrationweb>https://www.website.net/</registrationweb> <aid> <admin>2000000</admin> <admin>2000001</admin> </aid> <loading> <image>loading00.jpg</image> <image>loading01.jpg</image> <image>loading02.jpg</image> <image>loading03.jpg</image> <image>loading04.jpg</image> <image>loading05.jpg</image> <image>loading06.jpg</image> </loading> </connection> </clientinfo> Clientinfo *Works fine. What happened is that I need to update the client file on android every time I make a change to the clientinfo.
  24. What i have to do if i dont have a patch? just the launcher? thats my error @Rivers
×
×
  • Create New...