Jump to content

Lil Troll

Members
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Lil Troll

  1. Here is your request. Have fun! /////////////////////////////////////// // LIL TROLL NUB MESSY SCRIPT // // Feel free to modify the script // //////////////////////////////////// //Map,x,y,direction<TAB>script<TAB>NPC NAME<TAB>SpriteID,{ ftown,209,209,4 script Rare Card Trader 604,{ ///////////////////////////////// // ARRAYS // ////////////////////////////////////////////////////////////////////////////////// // WARNING!! DO NOT USE SAME CARD REQUIREMENT OR ELSE IT WILL BE BUGGED // // FINDING FIX ATM... // /////////////////////////////////////////////////////////////////////////////// //Edit Card that npc gives. you can add more cards if you want just add ,4007,4008,4009,4010,4011; and so on.. setarray .CardList[0],4001,4002,4003,4004,4005,4006; // Card that NPC Sells. setarray .CardReq[0],4001,4002,4003,4004,4005,4006; // 1st Requirement. setarray .CardReq1[0],4001,4002,4003,4004,4005,4006; // 2nd Requirement. set $CARD_TRADER$, "[Yugi]"; // Change the name mes $CARD_TRADER$ ; mes "Hi " + strcharinfo(0) +" I do have rare cards here to offer. These card is limited, for every hour the card will be changed. Also I will select random cards in exchange of the cards I offer.."; next; mes $CARD_TRADER$ ; mes "This time I sell " + (getitemname(.CardList)) + "."; mes "I need "+ (getitemname(.CardReq)) +" and "+ (getitemname(.CardReq1)) +"."; // Required 1 & Required 2 next; menu "Yes I want that card!",BBB,"No thanks!",CCC; close; BBB: next; mes $CARD_TRADER$ ; mes "Checking Items:"; sleep2 1000; mes "........."; sleep2 1000; if (countitem(.CardReq)==0) mes "You dont have "+ (getitemname(.CardReq)) +"."; if (countitem(.CardReq1)==0) mes "You dont have "+ (getitemname(.CardReq1)) +"."; if(countitem(.CardReq)>=1 && countitem(.CardReq1)>=1) goto AAA; close; AAA: next; mes $CARD_TRADER$ ; mes "You bought "+ (getitemname(.Cardlist)) +"."; getitem .CardList,1; delitem .CardReq,1; delitem .CardReq1,1; close; CCC: next; mes $CARD_TRADER$ ; mes "See you nextime arround!"; close; OnInit: npctalk "Rare cards has been shuffled!"; initnpctimer; end; ////////////////////////////////////////////////////////////////////////////// // Do not change variables below, unless someone refine the ontimer. // //////////////////////////////////////////////////////////////////////////// // TIMERS // /////////////////////////////// OnTimer3600000: npctalk "Rare cards has been shuffled!"; set .CardList,.CardList[rand(getarraysize(.CardList))]; set .CardReq,.CardReq[rand(getarraysize(.CardReq))]; set .CardReq1,.CardReq1[rand(getarraysize(.CardReq1))]; OnTimer3601000: initnpctimer; end; }
  2. A very precise answer sir patskie. Thanks sir patskie for another useful information! - How to equip the item only if it the player has a skill ? (eg with Sword -> Sword Mastery) if ( !getskilllv("SM_SWORD") ) // unequip the item Im really waiting for someone who can answer that question, because i want to know that too.
  3. This is hourly points script, but idk how to make top 10 ladder of hourly points, probably needs SQL idk yet how to make SQL. Maybe someone can help you. //===== Hourly Points Script ========================================= //===== By: ========================================================== //= GorthexTiger modified by Nibi //===== Current Version: ============================================= //= 1.0 //===== Compatible With: ============================================= //= Any eAthena Version //===== Description: ================================================= //= Get Points every successful hours of gameplay, you cannot get //= the points even if you miss a second or a minute. A player will //= get a very big bonus if they played 12 hours consecutively //= or without logging out of the game. If the player is vending //= the script will then stop. //===== Additional Comments: ========================================= //= You can modify the script to your liking. //= The default points is Kafrapoints change it anyway if you like. //= 1.1 = Check Chatting too //= 1.2 = 5 Minute Idle Check & @at/@autotrade check. //= 1.3 = Corrected the current balance line on 12 Hours Consecutive //==================================================================== - script hourlypoints -1,{ //--Start of the Script OnPCLoginEvent: attachnpctimer ""+strcharinfo(0)+""; initnpctimer; end; OnTimer30000: //Check if Vending (normal or @at) if(checkvending() >= 1 || checkchatting() == 1) { dispbottom "The hourly points event stopped because you were vending / chatting. Please relog if you wish to start again."; stopnpctimer; end; } //Check if Idle getmapxy( .@map$, .@x, .@y, 0 ); if(@map$ == .@map$ && @x == .@x && @y == .@y) { set @afk, @afk + 1; } //If move timer resets else { set @afk, 0; } set @map$, .@map$; set @x, .@x; set @y, .@y; //Idle Check for 15 Minutes if(@afk == 30) { dispbottom "The Points stopped because you were idle for 30 minutes. Please relog if you wish to start again."; stopnpctimer; end; } end; OnTimer60000: set @minute, @minute + 1; //Check for 15 Minute if(@minute == 5){ set @minute,0; set .@point_amt, 10; //Points to get every hour (default: 10) set #CASHPOINTS, #CASHPOINTS + .@point_amt; dispbottom "You received "+.@point_amt+" Kafrapoints by staying ingame for 5 minutes"; dispbottom "Current Balance = "+#CASHPOINTS+" Kafrapoints"; set @consecutive_hour, @consecutive_hour + 1; } //Check for 12 hours consecutive if(@consecutive_hour == 6) { set @consecutive_hour,0; set .@cpoint_amt, 50; //Points to get for 12 Consecutive hours (default: 50) set #CASHPOINTS, #CASHPOINTS + .@cpoint_amt; dispbottom "You receive "+.@cpoint_amt+" You receive 30 bonus points by staying ingame Have fun"; dispbottom "Current Balance = "+#CASHPOINTS+" Kafrapoints"; } stopnpctimer; initnpctimer; end; } //--End of the Script
  4. ftown,213,198,4 script Out_Range 139,2,20,{ set CanFishing, 1 ; dispbottom ""+ strcharinfo(0) +": Seems like my rod can reach the fish now." ; } ftown,216,201,4 script In_Range 139,200,200,{ set CanFishing, 0 ; dispbottom ""+ strcharinfo(0) +": Seems like my rod cant reach the fish." ; } TO: script Fishing Range -1,{ OnInit: set .map,ftown setarray .x[0],150,140,130,120,110,100 setarray .y[0],100,110,120,130,140,150 if(!checkcell(.map,.x,.y,cell_checkwater)) dispbottom ""+ strcharinfo(0) +": Seems like my rod can reach the fish now." ; end; } Is this correct?
  5. Uhmmm im really new to scripting, im learning just by seeing other script and experimenting via trials and error, im not master of ontimers, if anyone know im wrong please correct me. // feel free to modify the script prontera,150,150,4 script Rare Card Trader 604,{ // Change the NPC script name set $CARD_TRADER$, "[Son Goku]"; // Change the name mes $CARD_TRADER$ ; mes "Hi " + strcharinfo(0) +" I do have rare cards here to offer. These cards are limited, for every hour the card stock will be changed. Also the card price is randomly set."; next; mes $CARD_TRADER$ ; mes "This time i sell " + .CardList + " do you want to buy one?"; menu "Yes I do!",BBB,"No thanks!",CCC; close; BBB: next; mes $CARD_TRADER$ ; mes "The card cost "+ .price +" zeny."; input .@card; if (!.@card){ mes "Please input the right value."; } if (zeny < .price == .@card) { mes "Wrong input."; close; } if (zeny > .price == .@card) { mes "Wrong input."; close; } else { next; mes $CARD_TRADER$ ; mes "You bought "+ .Cardlist +" at "+ .price +" zeny."; mes "Your zeny before is "+ readparam(20) +"."; set zeny, zeny-.price; getitem .CardList,1; close; } CCC: next; mes $CARD_TRADER$ ; mes "See you nextime arround!"; close; OnInit: setarray .CardList[0],4001,4002,4003,4004,4005,4006; // Edit your cards here. // Do not change this script below, unless someone refine the ontimer. initnpctimer; end; OnTimer3600000: npctalk "Rare cards has been shuffled!"; set .CardList,.CardList[rand(getarraysize(.CardList))]; set .price,rand(10000,100000); // Change price range here, close it if you want to use fix variable //set .price,100000; = Fix Variable OnTimer3601000: //stopnpctimer; initnpctimer; end; } Here's the script you requested. I also Added Random Price.
  6. Hope you finish the remake, please pm me when its done. Im really excited. Im very grateful! Thanks:D
  7. I think i know whats your problem in chromus post: Use TABS prontera,158,204,4<TAB>script<TAB>TCG Shop<TAB>98,{ If no appearing try mine: http://rathena.org/board/topic/86137-item-trader/?p=216167 And also try icetie post. Congrats you got lot of options!.
  8. prt_fild04,249,132,5 script Jordeo 107,{ //mes "[" + strcharinfo(0) + "]"; WHY STRCHAR INFO INSTEAD NPC NAME? set $NPC_TRADER$, "[Jordeo]"; mes $NPC_TRADER$; mes "Hi, There...."; mes "So what are you up to?"; mes "Do you want to Trade?"; menu "Cash Points",pp,"Normal Trading",gg; pp: callshop "Ticket S", 0; end; gg: next; menu "Yes",-,"Cancel",L_Cancel; mes $NPC_TRADER$; mes "Hey " + strcharinfo(0) + " just wait ok!"; next; mes $NPC_TRADER$; mes "Good good! let me just check"; if(countitem(7280)<1 || countitem(7281)<1 || countitem(7282)<1 || countitem(7283)<1) goto L_NoMake; next; mes $NPC_TRADER$; mes "Please Bring me items"; mes "^362ED6Gold Coin 150pcs^000000"; mes "^362ED6Broken Crown 5pcs^000000"; mes "^362ED6Masque of Tutankhamen 10pcs^000000"; if(countitem(7517)<150 || countitem(7754)<5 || countitem(7114)<10) goto L_NoMake; next; mes $NPC_TRADER$; mes "Excited??"; next; mes $NPC_TRADER$; mes "Excited?? i think"; next; mes $NPC_TRADER$; mes "Excited?? ok!!"; next; mes $NPC_TRADER$; mes "^362ED6Tongue 10pcs^000000"; mes "^362ED6Gemstone 5pcs^000000"; mes "^362ED6Piece of Shield 10pcs^000000"; mes "^362ED6Mother's Nightmare 5pcs^000000"; mes "^362ED6Heroic Emblem 10pcs^000000"; mes "^362ED6Ice Scale 10pcs^000000"; if(countitem(1015)<10 || countitem(7300)<5 || countitem(7108)<10 || countitem(7020)<5 || countitem(968)<10 || countitem(7562)<10) goto L_NoMake; next; mes $NPC_TRADER$; mes "Excited??"; next; mes $NPC_TRADER$; mes "Excited?? i think"; next; mes $NPC_TRADER$; mes "Excited?? ok!!"; next; mes $NPC_TRADER$; mes "Please Bring me items"; mes "^362ED6TCG 100pcs^000000"; if(countitem(7227)<100 || countitem(909)<200) goto L_NoMake; delitem 7280,1; delitem 7281,1; delitem 7282,1; delitem 7283,1; delitem 7517,150; delitem 7754,5; delitem 7114,10; delitem 1015,10; delitem 7300,5; delitem 7108,10; delitem 7020,5; delitem 968,10; delitem 7562,10; delitem 7227,100; next; mes $NPC_TRADER$; mes "[" + strcharinfo(0) + "]"; mes "Give me a second....."; next; mes $NPC_TRADER$; mes "Ok Thanks!"; menu "Yes",-,"Cancel",L_Cancel; next; mes $NPC_TRADER$; mes "excited?"; next; mes $NPC_TRADER$; mes "o.0 =)"; next; announce "Wwwooowww! Aaayyyoonn ohhh!!! [" + strcharinfo(0) + "] Congrats done for Ancient Quest",0; mes $NPC_TRADER$; mes "you have ^362ED6Congrats your Done^000000"; getitem 7338,1; next; mes $NPC_TRADER$; mes "GoodPlayer"; close; L_NoMake: next; mes $NPC_TRADER$; mes "You don't have the requirements."; mes "Please come back another time..."; close; L_Bl: next; mes $NPC_TRADER$; mes "Ok all you have to do is collect:"; mes "^362ED610 TCG^000000"; mes "^362ED610 Coin^000000"; mes " "; mes " "; mes "Before Proceed the Next Challange"; next; menu "Accept",-, "Leave",L_Leave; mes $NPC_TRADER$; mes "When you are done, bring the items to me. Ok good luck finding those items."; close; L_Leave: next; mes $NPC_TRADER$; mes "Maybe another time?"; close; L_Cancel: next; mes $NPC_TRADER$; mes "Aw, what a shame"; mes "Giving up already?"; close; } // Arrange the Price next to 7338:"1000" - cashshop Ticket S -,7338:1000 I dont actually understand what this NPC does, i cant understand what your NPC is saying. Still i know what you want and i do some fixing. Fix NPC name, Arrange some stuffs, just edit the cash shop ok? Added Menu in the intial talk with npc. menu "Cash Points",pp,"Normal Trading",gg;
  9. Here are the zone modes: // The equipment/items/cards restriction file // here you define which items may not be used at PvP / GvG // format: <item id>,<mode> // mode // 1 - restricted in normal maps // 2 - restricted in PVP // 4 - restricted in GVG // 8 - restricted in Battlegrounds // Restricted zones - they're configured by 'restricted <number>' mapflag // 32 - restricted in zone 1 // 64 - restricted in zone 2 // 128 - restricted in zone 3 // 256 - restricted in zone 4 // 512 - restricted in zone 5 // 1024 - restricted in zone 6 // 2048 - restricted in zone 7 You are getting the correct parameters now. In BG you must use: 8 //BATTLEGROUND //12218,???? //LV5 Assumptio Scroll //14590,???? //Party Assumptio 5 Scroll 1599,8 // Angra 2199,8 // Ahura Also dont forget to add your maps in: conf/mapflag/restricted.txt "map_name"<TAB>mapflap<TAB>restricted 6 // PVP + GVG "map_name"<TAB>mapflap<TAB>restricted 2 // PVP "map_name"<TAB>mapflap<TAB>restricted 4 // GVG "map_name"<TAB>mapflap<TAB>restricted 8 // BG Mode number PVP = 2 + 4 IN GVG = 6 Just remember if you like individual restriction, Use this: //PVP 14529,2 //Greed Scroll 1599,2 // Angra 2199,2 // Ahura //GVG 12218,4 //LV5 Assumptio Scroll 14529,4 //Greed Scroll 14590,4 //Party Assumptio 5 Scroll 1599,4 // Angra 2199,4 // Ahura
  10. Im new to scripting it may not work but this will show you the main idea. Please try it first hide the npc or put in your test server. I haven't tested it because im not home yet, idk if it will work but please tell me. If im mistaking please do correct me. Edited: Tested and its working. Please tell me if there is bug. prontera,150,150,0 script PODS&&TCG 719,{ set @name$,"^FF0000Trader^000000"; mes @name$; mes "What do you want to do?"; next; switch(select("Information","Convert")) { case 1: mes @name$; mes "I can convert your TCG CARDS into POD and vice versa."; mes "10 TCG CARD = 1 PODS"; close; case 2: switch(select("TCG CARDS to POD","POD to TCG CARDS")) { case 1: mes @name$; mes "How many POD you want to have?"; input .@item_count ; if( .@item_count == 0 ) close; if (countitem(7227) < (.@item_count*10)) goto noTCG; if (checkweight(7179,100) == 0 ) goto overWeight; delitem 7227,(.@item_count*10); getitem 7179,.@item_count; next; mes @name$; mes "There you go! You got your " + .@item_count + " PODS. Hope to see you again!"; close; case 2: mes @name$; mes "How many TCG CARDS you want to have?"; input .@item_count; if( .@item_count == 0 ) close; if (checkweight(7227,35) == 0 ) goto overWeight; if (countitem(7179) < (.@item_count/10)) goto noPods; delitem 7179,(.@item_count/10); getitem 7227,.@item_count; next; mes @name$; mes "There you go! You got your " + .@item_count + " TCG. Hope to see you again!"; close; } } OnInit: waitingroom "PODS TRADER",0; // WITH WAITING ROOM end; noPODS: next; mes @name$; mes "I'm Sorry but you don't have enough PODS."; close; noTCG: next; mes @name$; mes "I'm Sorry you don't have enough TCG"; close; overWeight: next; mes @name$; mes "Sorry you're overweight."; close; }}
  11. db/pre-re/item_noequip.txt ADD: 1599,6 // Angra 2199,6 // Ahura conf/mapflag/restricted.txt ADD: "map_name"<TAB>mapflap<TAB>restricted 6 Add all pvp and gvg maps you want. then @reloadscript or reloadmapflag Hope this help I do know a bit about mapflag. If someone knows better how to do so, just tell us.
  12. Im really new to scripting but i got a lil information to spare. Q: How to make a script to work from the start of the server? A: There are vary of options you can choose, ex: OnPCLoginEvent: = When a char Log in ex: mapname,x,y,z,<TAB>script<TAB>scriptname<TAB>spriteid,{ = NPC Q: How to make an image appear over a player (like emblem in WoE)? A: Probably src editing or, playing special effects attaching in the player. Q; How to equip the item only if it the player has a skill ? (eg with Sword -> Sword Mastery) A: I only know, if( BaseClass == Job_"JOB" ) atm. Q: - And how to put multiple scripts in a single weapon? (eg A script when it is equipped and B script when unequipped) A: { bonus bAllstats,10; },{ equip 1202; },{ unequip 1202; atcommand "@die"; } { Script }, { OnEquip_Script }, { OnUnequip_Script } Hope more advance and pro scripter help give you more info.
  13. Thanks for all the help, @sir patskie, @evelynn, the script is doing fine now.
  14. after function ChainedQuest; insert: setarray .TBOX[0],(INPUT ITEM ID HERE),(INPUT ITEM ID HERE),(INPUT ITEM ID HERE),(INPUT ITEM ID HERE); sampe: setarray .TBOX[0],501,502,503,504; in case: Case 1: ChainedQuest(.TBOX[rand(getarraysize(.TBOX))]),1, 20000, 607,30, 608,30, 7539,30 ); hmmm im new in scripting but this might get the idea. someone correct me if im wrong.
  15. Actually it has a basic ranged detection it do only have certain coordiantes //////////////////////////////////////////////////////////////// // // // Fishing Range // // // //////////////////////////////////////////////////////////////// ftown,213,198,4 script Out_Range 139,2,20,{ set CanFishing, 1 ; dispbottom ""+ strcharinfo(0) +": Seems like my rod can reach the fish now." ; } ftown,216,201,4 script In_Range 139,200,200,{ set CanFishing, 0 ; dispbottom ""+ strcharinfo(0) +": Seems like my rod cant reach the fish." ; } Room for improvement specially in range detection is much appriciated! For additional reference, here is the original script: The link of download. https://sites.google.com/site/grasscomputernote/ro-script/2012-08-15/Fishing%20System%20Imitating%20Seal%20Online.txt?attredirects=0&d=1 The script: //////////////////////////////////////////////////////////////// // // // ラ辨敞辰╰参 (Fishing System Imitating Seal Online) // // // // セ: Ver1.0 // // // // : 翫辰 (grass0916) // // // // 竲セ虏ざ: Τ笆敞辰, 籔も笆敞辰ㄢ贺家Αパち传 // // // // 玂耫: ㄏノ笆敞辰, 砞﹚盢筥珇 // // 既玂耫讽い, ぇ烩 // // // // 笆敞辰: 盢璶Θ辰荤笵ㄣ嘿籔计秖块, // // ﹚穦眔敞ㄓ笵ㄣ // // // // も笆敞辰: 辰ㄠ穦オ熬簿, 產ゲ斗┕よ // // 盢辰┰瓂笵(ㄏノよ北笵ㄣ) // // // // 称爹1: も笆敞辰笵ㄣ贱纘ゑ笆敞辰ㄓ纔禫 // // 敞辰硚い琘ㄇだみㄆ薄┪瞒秨敞辰絛瞅穦氨ゎ敞辰// // // // 称爹2: 敞辰单穦紇臫敞辰硉搭ぶ敞辰ア毖诀瞯 // // 敞辰贺摸穦碩紇臫敞辰硉糤祡Τ笵ㄣ筥诀瞯// // // // 称爹3: 玂絚箇砞 10贺贺摸辰砯, 虑パ疭恨笵 // // 耎玂絚甧秖 // // // // --- 玂耫琌肂穝糤疭︹ --- // // // //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// // // // SQL 砞﹚,  main 磅︽ // // // // CREATE TABLE `fishingbox` ( // // `charID` INT( 11 ) NOT NULL , // // `itemID` INT( 11 ) NOT NULL , // // `itemcount` INT( 11 ) NOT NULL DEFAULT '0' // // ) ENGINE = MYISAM COMMENT = '敞辰玂耫_Design Salmon'; // // // //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// // // // 跑计砞﹚ // // // //////////////////////////////////////////////////////////////// - script Fishsing_Variable -1,{ OnInit: // ňゎ岿, 皚﹍て deletearray $FishingReward ; deletearray $FishingRewardSP1 ; deletearray $FishingRewardSP2 ; deletearray $FishingRewardSP3 ; deletearray $FishingEquipSpeed ; deletearray $FishingEquipItem ; deletearray $FishingEquipExp ; deletearray $FishingExpMax ; deletearray $FishingLevelName$ ; deletearray $FishingLevelItem ; deletearray $FishingBoxLevel ; deletearray $FishingBoxLevelUpItemCount ; // 敞辰珇膀セ诀瞯 ( n/100% ) set $FishingItemRate, 3000 ; // 敞辰莉眔贱纘 ( 炊硄笵ㄣ ) setarray $FishingReward[0], 579, 624 ; // 敞辰莉眔贱纘 ( 祡ΤI笵ㄣ ) setarray $FishingRewardSP1[0], 7327, 7076 ; // 祡ΤI珇膀セ诀瞯 ( n/100% ) set $FishingItemSP1Rate, 60 ; // 敞辰莉眔贱纘 ( 祡ΤII笵ㄣ ) setarray $FishingRewardSP2[0], 7300, 7052 ; // 祡ΤII珇膀セ诀瞯 ( n/100% ) set $FishingItemSP2Rate, 30 ; // 敞辰莉眔贱纘 ( 祡ΤIII笵ㄣ ) setarray $FishingRewardSP3[0], 7444 ; // 祡ΤIII珇膀セ诀瞯 ( n/100% ) set $FishingItemSP3Rate, 10 ; // 敞肂硉Θ ( 虫: ms ) setarray $FishingEquipSpeed[0], 0, 100, 200 ; // 敞珇诀瞯Θ, 紇臫祡Τ笵ㄣ诀瞯 ( n% ) setarray $FishingEquipItem[0], 100, 103, 106 ; // 敞敞辰竒喷Θ ( +n ) setarray $FishingEquipExp[0], 0, 0, 1 ; // 敞辰м竒喷 setarray $FishingExpMax[0], 100, 150, 250, 400, 600, 850, 1150, 1500, 1900, 2500, 999999 ; // 敞辰单嘿 setarray $FishingLevelName$[0], "辰猫", "穝も隔I", "穝も隔II", "穝も隔III", "刚ōもI", "刚ōもII", "刚ōもIII", "敞辰蔼もI", "敞辰蔼もII", "敞辰蔼もIII", "敞辰ぱ" ; // 敞辰单珇诀瞯ど, 搭ぶア毖诀瞯, ぃ紇臫祡Τ笵ㄣ诀瞯 ( n/100% ) setarray $FishingLevelItem[0], 0, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500 ; // 敞辰Ω丁 ( 虫: ms ) set .@FishingTime, 30000 ; // 敞辰瓜盎计 ( 虫: pic ) set $FishingBmp, 12 ; // 敞辰瓜郎 (郎挡Юゲ斗计絪腹 1~END) set $FishingPicName$, "fishing_" ; // 敞辰瓜穝 - ︽ぃ惠э set $FishingPicPer, .@FishingTime / $FishingBmp ; // も笆敞辰秈︽丁 ( 虫: ms ) set $FishingTime, 15000 ; // 熬簿硉 ( 虫: ms ) set $FishingFloatTime, 100 ; // も笆敞辰贱纘笆敞辰n set $FishingRewardRate, 5 ; // 敞辰玂耫辰砯贺秖膀セ set $FishingBoxLimit, 10 ; // 敞辰玂耫单紇臫玂耫计 ( n/单 ) setarray $FishingBoxLevel, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; // 敞辰玂耫どゲ斗笵ㄣ set $FishingBoxLevelUpItem, 579 ; // 敞辰玂耫どゲ斗笵ㄣ计秖 setarray $FishingBoxLevelUpItemCount, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 ; } //////////////////////////////////////////////////////////////// // // // 辰竤絛瞅 // // // //////////////////////////////////////////////////////////////// summer,56,96,4 script Out_Range 139,2,20,{ set CanFishing, 1 ; dispbottom "硂柑Τ辰竤瑈笆, 琌続敞辰よ" ; } summer,56,96,4 script In_Range 139,200,200,{ set CanFishing, 0 ; } //////////////////////////////////////////////////////////////// // // // 敞辰恨瞶 // // // //////////////////////////////////////////////////////////////// summer,65,93,4 script 翫辰敞辰恨瞶 560,{ // 材Ω敞辰, 箇砞Θ笆敞辰 if ( FishingMode$ == "" ) set FishingMode$, "笆敞辰" ; set $NPC_Fishing$, "[翫辰敞辰恨瞶]" ; switch( select( "^006633敞辰м聅凝^000000", "^ff6600潦禦敞^000000", "^cc0000敞辰家Αち传, 讽玡 [" + FishingMode$ + "]^000000", "^3333ff玂耫ど^000000" ) ) { case 1: callfunc "Fishing_Level" ; close ; case 2: callshop "Fishing_Equip" ; close ; case 3: if ( FishingMode$ == "も笆敞辰" ) set FishingMode$, "笆敞辰" ; else set FishingMode$, "も笆敞辰" ; dispbottom "敞辰家Αち传Θ" ; close ; case 4: callfunc "Fishing_Box_Level" ; close ; } // switch } //////////////////////////////////////////////////////////////// // // // 敞辰ㄧΑ // // // //////////////////////////////////////////////////////////////// function script LetFishing { // 敞辰秈︽い, ぃ狡 if ( FishingOn ) close ; // 笆敞辰秨闽秨币 set FishingOn, 1 ; // 材Ω敞辰, 箇砞Θ笆敞辰 if ( FishingMode$ == "" ) set FishingMode$, "笆敞辰" ; set .@Fisher$, ""+strcharinfo(0)+"" ; // 產嘿既纗 dispbottom .@Fisher$ + " : 赣ぐ或讽辰荤㎡ ?" ; input .@item_type$ ; if ( CanFishing ) if ( countitem( .@item_type$ ) ) { dispbottom .@Fisher$ + " : 赣碭 " + .@item_type$ + " 辰荤㎡ ?" ; input .@item_count ; if ( .@item_count == 0 ) end ; else if ( countitem( .@item_type$ ) >= .@item_count ) { dispbottom .@Fisher$ + " : ㄏノ " + .@item_count + "  " + .@item_type$ + " ㄓ敞辰舘 !" ; sleep2 1000 ; unittalk getcharid( 3, .@Fisher$ ), "敞辰秨﹍舘 !!" ; // Auto_Fishing - ㄧ计肚: 產嘿辰荤辰荤计秖 if ( FishingMode$ == "笆敞辰" ) callfunc "Auto_Fishing", .@Fisher$, .@item_type$, .@item_count ; // Self_Fishing - ㄧ计肚: 產嘿辰荤辰荤计秖 else if ( FishingMode$ == "も笆敞辰" ) callfunc "Self_Fishing", .@Fisher$, .@item_type$, .@item_count ; } // else if else dispbottom .@Fisher$ + " : 钩⊿Τ硂或 " + .@item_type$ + " 瑿 ..." ; } // if else dispbottom .@Fisher$ + " : иōΤ硂贺狥﹁盾 ...?" ; else dispbottom "硂柑セ⊿Τ辰竤 ..." ; cutin "space", 0 ; // 笆敞辰秨闽闽超 set FishingOn, 0 ; close ; } //////////////////////////////////////////////////////////////// // // // 笆敞辰 // // // //////////////////////////////////////////////////////////////// function script Auto_Fishing { set .@temp_total_count, countitem( getarg(1) ) ; // 既ヘ玡局Τ赣笵ㄣ┮Τ计秖 (ňゎ敞辰筁祘い辰荤メ斌穝糤) for ( set .@i, getarg(2) ; .@i > 0 ; set .@i, .@i - 1 ) { dispbottom "瞷辰荤 " + getarg(1) + " 临逞 "+ ( .@i - 1 ) + "  [ 敞辰单: " + FishingLevel + ", 敞辰竒喷: " + FishingNowExp + " / " + $FishingExpMax[ FishingLevel ] + " ]" ; delitem getarg(1), 1 ; set .@temp_total_count, .@temp_total_count - 1 ; if ( .@temp_total_count != countitem( getarg(1) ) ) { dispbottom "盡み敞辰临ㄤㄆ薄, 硂妓琌ぃ癸 !!" ; return ; } // if if ( callfunc( "Fishing_Waiting" ) ) { // 笵ㄣ眔 callfunc "Auto_Fishing_Reward" ; // 敞辰竒喷仓縩 callfunc "Fishing_Exp"; } // if else return ; } // for dispbottom getarg(0) + ": ǒ璚, 伦Μ !! 辰荤竒ノ" ; return ; } function script Fishing_Waiting { for ( set .@i, 1 ; .@i <= $FishingBmp ; set .@i, .@i + 1 ) { if ( !CanFishing ) { dispbottom "盡み敞辰临ㄤㄆ薄, 硂妓琌ぃ癸 !!" ; return 0 ; } // if cutin $FishingPicName$ + .@i, 1 ; sleep2 $FishingPicPer - $FishingEquipSpeed[ FishingEquip - 1 ] ; } // for return 1 ; } //////////////////////////////////////////////////////////////// // // // も笆敞辰 // // // //////////////////////////////////////////////////////////////// function script Self_Fishing { set .@temp_total_count, countitem( getarg(1) ) ; // 既ヘ玡局Τ赣笵ㄣ┮Τ计秖 (ňゎ敞辰筁祘い辰荤メ斌穝糤) for ( set .@i, getarg(2) ; .@i > 0 ; set .@i, .@i - 1 ) { dispbottom "瞷辰荤 " + getarg(1) + " 临逞 "+ ( .@i - 1 ) + "  [ 敞辰单: " + FishingLevel + ", 敞辰竒喷: " + FishingNowExp + " / " + $FishingExpMax[ FishingLevel ] + " ]" ; delitem getarg(1), 1 ; set .@temp_total_count, .@temp_total_count - 1 ; if ( .@temp_total_count != countitem( getarg(1) ) ) { dispbottom "盡み敞辰临ㄤㄆ薄, 硂妓琌ぃ癸 !!" ; return ; } // if // も笆敞辰秨闽秨币 set SelfFishingOn, 1 ; // 敞辰癬ヱ熬簿跑计 (オ璽, タ) set FishingCenter, $FishingBmp / 2 ; for ( set .@time, 0 ; SelfFishingOn && .@time < $FishingTime ; set .@time, .@time + $FishingFloatTime ) { // オ繦诀熬簿 set FishingCenter, FishingCenter + rand( -1, 1 ) ; // 牟窱娩, 敞辰ア毖 if ( FishingCenter <= 0 || FishingCenter > $FishingBmp ) set SelfFishingOn, 0 ; // 敞辰瓜ち传 else cutin $FishingPicName$ + FishingCenter, 1 ; // 熬簿硉 ( 虫: ms ) sleep2 $FishingFloatTime ; } // for // 敞辰Θ if ( SelfFishingOn ) { specialeffect2 610 ; // 笵ㄣ眔 callfunc "Self_Fishing_Reward" ; // 敞辰竒喷仓縩 callfunc "Fishing_Exp"; } // if // 敞辰辅 else specialeffect2 611 ; if ( .@i != 1 ) { dispbottom "盢秨﹍, 叫非称 !" ; sleep2 5000 ; } // if // も笆敞辰秨闽闽超 set SelfFishingOn, 0 ; } // for dispbottom getarg(0) + " : ǒ璚, 伦Μ !! 辰荤竒ノ" ; return ; } //////////////////////////////////////////////////////////////// // // // 敞辰贱纘 // // // //////////////////////////////////////////////////////////////// function script Auto_Fishing_Reward { set .@probability, rand( 1, 10000 ) ; if ( .@probability < ( $FishingItemRate + $FishingLevelItem[ FishingLevel ] ) * $FishingEquipItem[ FishingEquip - 1 ] / 100 ) { specialeffect2 610 ; // 诀瞯だ皌笵ㄣ if ( .@probability < $FishingItemSP3Rate ) set .@Reward, $FishingRewardSP3[ rand( 0, getarraysize( $FishingRewardSP3 ) - 1 ) ] ; else if ( .@probability < $FishingItemSP3Rate + FishingItemSP2Rate ) set .@Reward, $FishingRewardSP2[ rand( 0, getarraysize( $FishingRewardSP2 ) - 1 ) ] ; else if ( .@probability < $FishingItemSP3Rate + FishingItemSP2Rate + FishingItemSP1Rate ) set .@Reward, $FishingRewardSP1[ rand( 0, getarraysize( $FishingRewardSP1 ) - 1 ) ] ; else set .@Reward, $FishingReward[ rand( 0, getarraysize( $FishingReward ) - 1 ) ] ; // ゼㄏノ玂絚, 钡莉笵ㄣ if ( !FishingBoxOn ) getitem .@Reward, 1 ; // ㄏノ玂絚, 笵ㄣ既 ( 20贺摸辰砯), 肚: 贱纘笵ㄣ珇絪腹 else callfunc "Fishing_Box_Save", .@Reward ; } // if // 敞辰辅 else specialeffect2 611 ; return ; } function script Self_Fishing_Reward { set .@probability, rand( 1, 10000 ) ; // 诀瞯だ皌笵ㄣ if ( .@probability < $FishingItemSP3Rate * $FishingRewardRate ) set .@Reward, $FishingRewardSP3[ rand( 0, getarraysize( $FishingRewardSP3 ) - 1 ) ] ; else if ( .@probability < $FishingItemSP3Rate * $FishingRewardRate + FishingItemSP2Rate * $FishingRewardRate ) set .@Reward, $FishingRewardSP2[ rand( 0, getarraysize( $FishingRewardSP2 ) - 1 ) ] ; else if ( .@probability < $FishingItemSP3Rate * $FishingRewardRate + FishingItemSP2Rate * $FishingRewardRate + FishingItemSP1Rate * $FishingRewardRate ) set .@Reward, $FishingRewardSP1[ rand( 0, getarraysize( $FishingRewardSP1 ) - 1 ) ] ; else set .@Reward, $FishingReward[ rand( 0, getarraysize( $FishingReward ) - 1 ) ] ; getitem .@Reward, 1 ; return ; } //////////////////////////////////////////////////////////////// // // // 敞辰竒喷 // // // //////////////////////////////////////////////////////////////// function script Fishing_Exp { set FishingNowExp, FishingNowExp + 1 + $FishingEquipExp[ FishingEquip - 1 ] ; if ( FishingNowExp >= $FishingExpMax[ FishingLevel ] ) { set FishingLevel, FishingLevel + 1 ; set FishingNowExp, 0 ; dispbottom "敞辰单矗ど " + FishingLevel + "" ; specialeffect2 410 ; } // if return ; } function script Fishing_Level { set FishingExpMax, $FishingExpMax[ FishingLevel ] ; mes $NPC_Fishing$ ; mes "敞辰单 : 单 " + FishingLevel + " - ^ff0000" + $FishingLevelName$[ FishingLevel ] + "^000000" ; mes "ヘ玡竒喷 : " + FishingNowExp + " / " + FishingExpMax ; return ; } //////////////////////////////////////////////////////////////// // // // 敞辰玂耫 // // // //////////////////////////////////////////////////////////////// function script Fishing_Box_Save { query_sql "SELECT COUNT(`charID`) FROM `fishingbox` WHERE `charID` = " + getcharid(0), .@total ; // 狦赣笵ㄣ竒玂耫 (穝) if ( callfunc( "Fishing_Box_Save_Check", getarg(0), .@tempItemcount ) ) query_sql "UPDATE `fishingbox` SET `itemcount` = " + ( .@tempItemcount + 1 ) + " WHERE `charID` = " + getcharid(0) + " AND `itemID` = " + getarg(0) ; // 珇临ぃ玂耫い (穝糤) else // 狦玂耫禬筁 ''兜珇, 盢礚猭, э钡ō if ( .@total >= $FishingBoxLimit ) getitem getarg(0), 1 ; // 狦玂絚临 ''兜珇ず,  else query_sql "INSERT INTO `main`.`fishingbox` ( `charID`, `itemID`, `itemcount` ) VALUES ( " + getcharid(0) + ", " + getarg(0) + ", " + 1 + " )" ; return ; } function script Fishing_Box_Save_Check { query_sql "SELECT `itemID`, `itemcount` FROM `fishingbox` WHERE `charID` = " + getcharid(0), .@tempItemID, .@tempItemcount ; for ( set .@i, 0 ; .@i < getarraysize( .@tempItemID ) ; set .@i, .@i + 1 ) if ( .@tempItemID[ .@i ] == getarg(0) ) { set getarg(1), .@tempItemcount[ .@i ] ; return 1 ; } // if return 0 ; } function script Fishing_Box_Load { set .@Fishing_Box_Name$, "["+strcharinfo(0)+"  玂耫]" ; query_sql "SELECT `itemID`, `itemcount` FROM `fishingbox` WHERE `charID` = " + getcharid(0), .@tempItemID, .@tempItemcount ; mes .@Fishing_Box_Name$ ; mes "玂耫单: " + FishingBoxLevel + " 单" ; mes "玂耫ノ计: " + ( $FishingBoxLimit + FishingBoxLevel ) + " " ; next ; callfunc( "Fishing_Box_Load_Process", 0, .@tempItemID, .@tempItemcount, .@select ) ; if ( .@select != 255 ) { mes .@Fishing_Box_Name$ ; mes "璶烩ぶ " + getitemname( .@tempItemID[ .@select - 1 ] ) + " ?" ; mes "玂耫讽いΤ " + .@tempItemcount[ .@select - 1 ] + " " ; mes " " ; mes "^ff0000 --- 牡 !! Warning !! ---" ; mes " 叫痙種眤璽秖 !!" ; mes " 烩禬璽秖, 笵ㄣ盢穦砆防^000000" ; next ; input .@count ; if ( .@count > 0 && .@count <= .@tempItemcount[ .@select - 1 ] ) { query_sql "UPDATE `fishingbox` SET `itemcount` = " + ( .@tempItemcount[ .@select - 1 ] - .@count ) + " WHERE `charID` = " + getcharid(0) + " AND `itemID` = " + .@tempItemID[ .@select - 1 ] ; getitem .@tempItemID[ .@select - 1 ], .@count ; // 狦笵ㄣ砆烩, 埃赣掸戈 if ( ( .@tempItemcount[ .@select - 1 ] - .@count ) == 0 ) query_sql "DELETE FROM `fishingbox` WHERE `fishingbox`.`charID` = " + getcharid(0) + " AND `fishingbox`.`itemID` = " + .@tempItemID[ .@select - 1 ] ; } // if else { mes .@Fishing_Box_Name$ ; mes "计秖ぃ癸翅 !" ; } // else } // if return ; } function script Fishing_Box_Load_Process { set .@p, getarg(0) ; copyarray .@temp_ID, getarg(1), getarraysize( getarg(1) ) ; copyarray .@temp_count, getarg(2), getarraysize( getarg(2) ) ; set getarg(3), prompt( .@temp_ID[ .@p ] ? getitemname( .@temp_ID[ .@p ] ) + " Τ ^ff0000" + .@temp_count[ .@p ] + "^000000 " : "", .@temp_ID[ .@p+1 ] ? getitemname( .@temp_ID[ .@p+1 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+1 ] + "^000000 " : "", .@temp_ID[ .@p+2 ] ? getitemname( .@temp_ID[ .@p+2 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+2 ] + "^000000 " : "", .@temp_ID[ .@p+3 ] ? getitemname( .@temp_ID[ .@p+3 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+3 ] + "^000000 " : "", .@temp_ID[ .@p+4 ] ? getitemname( .@temp_ID[ .@p+4 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+4 ] + "^000000 " : "", .@temp_ID[ .@p+5 ] ? getitemname( .@temp_ID[ .@p+5 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+5 ] + "^000000 " : "", .@temp_ID[ .@p+6 ] ? getitemname( .@temp_ID[ .@p+6 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+6 ] + "^000000 " : "", .@temp_ID[ .@p+7 ] ? getitemname( .@temp_ID[ .@p+7 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+7 ] + "^000000 " : "", .@temp_ID[ .@p+8 ] ? getitemname( .@temp_ID[ .@p+8 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+8 ] + "^000000 " : "", .@temp_ID[ .@p+9 ] ? getitemname( .@temp_ID[ .@p+9 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+9 ] + "^000000 " : "", .@temp_ID[ .@p+10 ] ? getitemname( .@temp_ID[ .@p+10 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+10 ] + "^000000 " : "", .@temp_ID[ .@p+11 ] ? getitemname( .@temp_ID[ .@p+11 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+11 ] + "^000000 " : "", .@temp_ID[ .@p+12 ] ? getitemname( .@temp_ID[ .@p+12 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+12 ] + "^000000 " : "", .@temp_ID[ .@p+13 ] ? getitemname( .@temp_ID[ .@p+13 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+13 ] + "^000000 " : "", .@temp_ID[ .@p+14 ] ? getitemname( .@temp_ID[ .@p+14 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+14 ] + "^000000 " : "", .@temp_ID[ .@p+15 ] ? getitemname( .@temp_ID[ .@p+15 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+15 ] + "^000000 " : "", .@temp_ID[ .@p+16 ] ? getitemname( .@temp_ID[ .@p+16 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+16 ] + "^000000 " : "", .@temp_ID[ .@p+17 ] ? getitemname( .@temp_ID[ .@p+17 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+17 ] + "^000000 " : "", .@temp_ID[ .@p+18 ] ? getitemname( .@temp_ID[ .@p+18 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+18 ] + "^000000 " : "", .@temp_ID[ .@p+19 ] ? getitemname( .@temp_ID[ .@p+19 ] ) + " Τ ^ff0000" + .@temp_count[ .@p+19 ] + "^000000 " : "" ) ; return getarg(3) ; } function script Fishing_Box_Menu { switch( select( "聅凝玂耫", FishingBoxOn ? "笆辰砯, 讽玡 ^ff0000秨币^000000" : "笆辰砯, 讽玡 ^ff0000闽超^000000" ) ) { case 1: callfunc "Fishing_Box_Load" ; close ; case 2: if ( FishingBoxOn ) set FishingBoxOn, 0 ; else set FishingBoxOn, 1 ; dispbottom "玂耫家Αち传Θ" ; close ; } // switch } function script Fishing_Box_Level { mes $NPC_Fishing$ ; mes "ヘ玡玂耫单: " + FishingBoxLevel ; mes "ど玂耫 惠璶 " + getitemname( $FishingBoxLevelUpItem ) + " " + $FishingBoxLevelUpItemCount[ FishingBoxLevel ] + " " ; next ; if ( FishingBoxLevel > 10 ) dispbottom "玂耫单笷程蔼单" ; else if ( select( "玂耫耎ど", "" ) == 1 ) { if ( countitem( $FishingBoxLevelUpItem ) >= $FishingBoxLevelUpItemCount[ FishingBoxLevel ] ) { delitem $FishingBoxLevelUpItem, $FishingBoxLevelUpItemCount[ FishingBoxLevel ] ; set FishingBoxLevel, FishingBoxLevel + 1 ; dispbottom "玂耫耎Θ, 玂耫ヘ玡单: " + FishingBoxLevel ; specialeffect2 248 ; } // if else dispbottom "ど非称笵ㄣぃì" ; } // if return ; } //////////////////////////////////////////////////////////////// // // // 敞辰闽砪扳 // // // //////////////////////////////////////////////////////////////// - shop Fishing_Equip -1, 31001:-1, 31002:-1, 31003:-1, 31011:-1, 31021:-1, 31022:-1 ;
  16. I revised the whole script and add new flavor on it, I also merge known fishing scripts, refer to this post. http://rathena.org/board/topic/86736-utility-release-world-of-fishing/#entry219910 The script features: Imitation hope Fishing System (Fishing System Imitating Seal Online) Version: Ver1.0 Scripter: small salmon (grass0916) Intro: automatic fishing, fishing and manual modes can freely switch. [Fishing Meme]: Use automatic fishing, you can set the hook items temporarily stored in the Fishing Box in which Meme, can then be brought out. [Auto fishing]: props that will be the name and quantity of bait entered, the timer will get caught up props. [Manual fishing]: fish will shift around, the player must go in another direction the fish back track (using the directional control props). Note 1: Manually fishing props to reward superior than the automatic fishing. While fishing on the way for some distraction or leave fishing range will stop fishing. Note 2: Fishing level will affect the fishing speed, reducing fishing failure probability. Fishing rods fishing category will greatly affect the speed, increasing probability of rare props bait. Note 3: The cold box preset 10 different types of fish store, you can expand by a special pipe cold tank capacity. --- Fishing Box is the extra added features --- Auto-Fishing, can freely switch the two modes and Self-Fishing. [Fishing Box]: Use Self-Fishing, you can set the bait items temporarily stored in the security freezers which can then be brought out. [Auto-Fishing]: Bait props name and quantity of input, the timing will be made to catch the props. [Self-Fishing]: The fish will be about offset, players must go to another direction of the fish back to the track (using the directional control props). Note 1: Self-Fishing props reward superior than the Auto-Fishing. Fishing trip with some of the distractions or to leave the fishing range will stop fishing. Note 2: Fishing level will affect the fishing speed, to reduce fishing the probability of failure. Types of fishing rods will substantially affect the fishing speed, increasing the rare prop bait probability. Note 3: Fishing Box default to 10 different types of fish stored by the special pipeline to expand the capacity of the Fishing Box. Video shows the full features:
  17. Thanks for the reply and sorry Evelynn i didnt get it im really bad in english, what in these format is correct? #1 : if(BaseClass!==Job_Thief){bonus bAgi,-5; bonus bAgi,-5; },{},{} #2: { if(BaseClass!==Job_Thief) bonus bAgi,-5; bonus bAgi,-5; },{},{}
  18. Is there a restriction in item bonus which cannot be get by specific class? For example: I wanted all class to have +5 agi except for thief. Anyone knows rather than countering the bonus itself? { if(BaseClass==Job_Thief)bonus bAgi,-5; bonus bAgi,-5; },{},{} And how about this complicated one? { bonus bAllstats,5; bonus bUnbreakableGarment,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bFlee2,2+(getequiprefinerycnt(EQI_GARMENT)*1); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bShortWeaponDamageReturn,1+(getequiprefinerycnt(EQI_GARMENT)*1); },{},{}
  19. 95% of rathena scripting are compatible to Herc, try using it, i guess it should work! Ohhh btw, anyone knows hot to attach stat in an achievement?
  20. I used the one you gave Sir what error is this?
  21. Wow! Really really thanks to both of you @xienne15 and @evelynn! I love you both! Gonna try combining this two script.! Thanks again!
  22. EDIT: FIXED In skill.c changed: skilllv, skillid > skill_lv, skill_id. now: case STICKYBOMB: _STICKYBOMB(src, bl, skill_lv,skill_id); break; case STICKYBOMBBOMB: clif_skill_nodamage(src,bl,skill_lv,skill_id,0); killstickybmob(map_id2sd(src->id),1); break; Hi skorm, errors appearing on me. skill.c: In function ‘skill_castend_nodamage_id’: skill.c:6119: error: ‘skillid’ undeclared (first use in this function) skill.c:6119: error: (Each undeclared identifier is reported only once skill.c:6119: error: for each function it appears in.) skill.c:6119: error: ‘skilllv’ undeclared (first use in this function) make[1]: *** [obj_sql/skill.o] Error 1 make[1]: Leaving directory `/root/Desktop/trunk/src/map' make: *** [map_sql] Error 2
  23. Anyone can help me do this script? - After someone talk to NPC it will disappear but there is a delay. (Ex. 10secs after talk = Disappear) - Then after 5mins he will appear again. The idea is limiting the use of that npc. Is this possible?
  24. Wow thanks for the reply, gonna add this one, thanks so much for the info guys!.
×
×
  • Create New...