Jump to content

Lil Troll

Members
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Lil Troll

  1. @Markiez22: You must create your own BMP, I wont upload mine, its easy I know you can do it!
  2. Hi guys can someone teach me how to properly fix these ladder. The NPC Ladder: prontera,159,150,4 script Fishing Ladder 723,{ mainmenu: menu "Rank",FRank; FRank: set .@frank,query_sql("SELECT `name`, `flevel`, `fexp`, `fpoints`, `fcaught` FROM `fishing_system` ORDER BY flevel DESC LIMIT 5",.@n$,.@fl,.@fe,.@fp,.@fc); mes "Hall Of Fame: Fishing Ladder"; mes "^ff0000Name^000000:^ff5500[ FL ]^000000:^005500[ FE ]^000000:^55007f[ FP ]^000000:^55ffff[ FC ]^000000"; for(set .@i,1; .@i <= .@frank; set .@i,.@i++) { mes .@i+". ["+.@n$[0]+"] ("+.@fl[0]+") ("+.@fe[0]+") ("+.@fp[0]+") ("+.@fc[0]+")"; //cutin $FishingLadderRank$,3; } next; menu "^005500[ Return ]^000000",mainmenu; close; Query Script: function script Fishing_Exp { callfunc "Fishing_Points"; set .@fe,FishingNowExp; if(query_sql("SELECT `fexp` FROM `fishing_system` WHERE `name`='"+strcharinfo(0)+"'",.@fe )){ for (.@i = 0; .@i < getarraysize($FishingEquips); .@i++) if(isequipped($FishingEquips[.@i])) { set FishingNowExp,FishingNowExp+$FishingEquipsExp[.@i]; } query_sql("UPDATE `fishing_system` SET `fexp`='"+.@fe+"' WHERE `name`='"+strcharinfo(0)+"'"); } else { query_sql("INSERT INTO `fishing_system` (`account_id`,`char_id`,`name`,`itemID`,`itemcount`,`flevel`,`fexp` ) VALUES ('"+getcharid(3)+"','"+getcharid(0)+"','"+strcharinfo(0)+"','0','0','0','"+escape_sql(.@fe)+"' )"); } if( FishingNowExp >= $FishingExpMax[ FishingLevel ] ) { for ( set .@i, 1 ; .@i <= $FRankUpCutins ; set .@i, .@i + 1 ) { cutin $FRankUpPicNames$ + .@i, 1 ; sleep2 $FLRankPerPic; set .@fl,FishingLevel; } if(query_sql("SELECT `flevel` FROM `fishing_system` WHERE `name`='"+strcharinfo(0)+"'",.@fl )){ set FishingLevel, FishingLevel + 1 ; set FishingNowExp, 0 ; dispbottom "Congratulations! Fishing Rank is promoted to ^ff0000" + $FishingLevelName$[ FishingLevel ] + "^000000" ; query_sql("UPDATE `fishing_system` SET `flevel`='"+.@fl+"' WHERE `name`='"+strcharinfo(0)+"'"); } else { query_sql("INSERT INTO `fishing_system` (`account_id`,`char_id`,`name`,`flevel` ) VALUES ('"+getcharid(3)+"','"+getcharid(0)+"','"+strcharinfo(0)+"','0','0','"+escape_sql(.@fl)+"' )"); } for (.@i = 0; .@i < getarraysize($SpecialFXLVL); .@i++) specialeffect2 $SpecialFXLVL[.@i]; } if( FishingLevel >= 50) set FishingNowExp,FishingNowExp + 0; return ; } function script Fishing_Points { if($FishingPointsToggle == 1) { set .@fp,#FishingPoints; if(query_sql("SELECT `fpoints` FROM `fishing_system` WHERE `name`='"+strcharinfo(0)+"'",.@fp )){ for (.@i = 0; .@i < getarraysize($FishingEquips); .@i++) if(isequipped($FishingEquips[.@i])) { set #FishingPoints,#FishingPoints+$FishingEquipsPts[.@i]; } set #FishingPoints,#FishingPoints+$FishingPoints[FishingLevel]; query_sql("UPDATE `fishing_system` SET `fpoints`='"+.@fp+"' WHERE `name`='"+strcharinfo(0)+"'"); } else { query_sql("INSERT INTO `fishing_system` (`account_id`,`char_id`,`name`,`itemID`,`itemcount`,`flevel`,`fexp`,`fpoints` ) VALUES ('"+getcharid(3)+"','"+getcharid(0)+"','"+strcharinfo(0)+"','0','0','0','0','"+escape_sql(.@fp)+"' )"); } } return; } The Query: DROP TABLE IF EXISTS `fishing_system`; DROP TABLE IF EXISTS `fishingbox`; CREATE TABLE IF NOT EXISTS `fishing_system` ( `account_id` int(11) unsigned NOT NULL default '0', `char_id` int(11) unsigned NOT NULL default '0', `name` varchar(30) NOT NULL DEFAULT '', `itemID` INT( 11 ) NOT NULL , `itemcount` INT( 11 ) NOT NULL DEFAULT '0', `flevel` INT( 11 ) NOT NULL DEFAULT '0', `fexp` INT( 11 ) NOT NULL DEFAULT '0', `fpoints` INT( 11 ) NOT NULL DEFAULT '0', `fcaught` INT( 11 ) NOT NULL DEFAULT '0' ) ENGINE = MYISAM COMMENT = 'Lil Troll World of Fishing'; If I view the ladder on NPC, nothing shows, all have zero values including the name, but no error found.
  3. @nanakiwurtz I did that before, i changed some related NPC vars to "." but errors appearing and some arrays cannot be read. I really need to figure out how to minimize the usage of global vars. I guess you can help me by pinpointing some of those vars(sorry nub) hehe...Thanks!
  4. @yoona, Thanks! Hope you would test it. @skorm, Yes sir! Please do check it if you have time to spare.
  5. sc_start SC_FOODSTR,604800000,"Vallue"; I actually dont know whats the limit of milliseconds in SC. But "604800000" is 7 Days.
  6. From my topic : http://rathena.org/board/topic/86213-lil-troll-world-of-fishing/ LIL-TROLL PRESENTS: WORLD OF FISHING Works best on "/effecton". ///////////////////////////////////////////////////////////////////////// //---------------------------------------------------------------------// // WORLD OF FISHING // // AUTHOR: LIL TROLL//COLDFIRE // //---------------------------------------------------------------------// // RATHENA SCRIPT // //---------------------------------------------------------------------// // Version 1.6 // //---------------------------------------------------------------------// // FEATURES: (Modified Fishing Script) // // Automatic Fishing Mode 1 (Lil-Troll Version): // // - Fish Autohides After Caught // // - Non-Abusable // // - Fishing with Animated BMP! ( Just make your own BMP-Cutins ) // // - Fishing with Exp - Level! // // - Fishing with Titles Names // // - Fish Monster Encounter // // - Marine Sphere, Summon, Warper // // - Jackpot & Lucky Treasure Box // // Automatic Fishing Mode 2 (Grass Version): // // - Fish Autohides depends on settings. // // - Plain Automatic Continuous Fishing. // // Fishing Cutins(Animation) VS Progress Bar // // Fish Box (Reward Storage) // // - Fish Box with Exp - Level! Increase Storage Limit per Level! // // Fishing NPC (Fishing Guru) // // - NPC automatically change and suits to desired toggle. // // Fishing Points (With toggles [On/Off] (Account-Based) // // - You can set Fishing Points to character based by removing "#" // // - You can pick mode from the toggle // // Fishing Manual (Instructions,Statistics) // // Fishing Ladder: // // - Rank, Experience, Points, Fish Caught // // - Successful Fishing, Fails, Monster Encounters, Reward Moments // // Idea/Concept: // // Modified, Improved and Add "Flavor" to known fishing scripts. // // - Fishing Script By Grass0916 // // - Fishing Script By Mercurial // // - Fishing Script By Pnuema // //---------------------------------------------------------------------// ///////////////////////////////////////////////////////////////////////// [spoiler=You can see original topic here:]http://rathena.org/board/topic/86213-lil-troll-world-of-fishing/ [spoiler=Idea Behind the Script]Fore more information regarding the script, for you to get a hint what this script does. You can see video below. [spoiler=Grass Cutins:] Anyways, you can download the cutins, posted by Vlync. Thanks for this men! Vlync: #22 Post [spoiler=To Do:][spoiler=Done:]Important Updates: #1: Added Fish Auto Hides. [v.1.1]. #2: Fix major used of permanent global variables. [v.1.4]. #3: Added SQL - Ladder. [v.1.5]. #4: Added (Modified) Grass Fishing Automatic Version[v.1.6]. #5: Added Anti-Abuse if Cuttins = 1[v.1.6]. [spoiler=Script]If I encounter and already know how to make this: - Fix major usage of variables. - To find Error and Bugs. - To decrease the length of the script without consuming too much resources. - Automatically remove inactive rows in Fishing_System SQL(15days timeframe). - Make necessary variables transferred to SQL. Currently Doing: - NPC Configuration. [spoiler=Gameplay:]I want to make it more diverse! - Generating fresh ideas and building new concept for new Features. Currently doing this: - Adding skills. - Adding Manual Fishing Feature. - Adding Pool Prize Event. - Finding way how to disable Animated Cutins when char moves so that mes wouldn't be in use anymore. [spoiler=Change Logs:][spoiler=Older Versions:]#1: Initial Release. v.1.2: #1: Added new modes, see toggles. #2: Fix warp bug on "Fish Monster Encounter"(Warper). v.1.3: #1: Reduce the length of the script. #2: Added new for statements. v.1.4: #1: Fix unaware bug, in longrun of fishing casting time will be instant. #2: Remove usage of too much perma vars. Thanks to Nanakiwurtz for pinpointing that out! [spoiler=v.1.5:]#1: Re-written and improve the whole script. #2: Added Ladder. Shop, Fishing Box Manual(Instructions, Etc.) #3: Added Fishing Manual(Statistics, Instructions, Requirements, Etc.), #4: New Toggles and Quests. [spoiler=v.1.5.1:]#1: Improve Jackpot Scene and Lucky Treasure Box Scene. #2: Shorten the length of the script. [spoiler=v.1.5.2:]#1: Improve usage of Progressbar VS Cutins, separated the two since sometimes irregularity happens. See new toggle "$@Cutins". [spoiler=v1.6:]#1: Improve usage of "IF STATEMENTS", shorten most of if statements. #2: Minor fix in the whole script. #3: Added Non-Abuse for Cuttins = 1. (Forgot to add this part in past releases, sorry!) #4: Added "$@FishingMode" Toggle, choose between LilTroll Version or Grass Version(New Feature). #5: Improve and decrease the length of some scenes(Fish Warper, Lucky Box, Marine Sphere, Monster Summon, Jackpot). #6: Fix Major usage of cutins. Now its pretty smooth! #7: Added Fish Rank Cutins(Animation = $@FishRankCutins) - - Toggle 0 = Off, 1 = On. - Fishing will halt and Rank-Up Animation will appear then after, fishing will continue! POOOOWW!!! [spoiler=Special Notes:][spoiler=If you cant fish?]Check what toggle you putted, also always check the fishing manual if you are lacking of requirements. I guess you should probably add dialogues to NPC that if you cannot fish open your Fishing Manual and "Check Requirements". [spoiler=Script Auto Adopts:]The system automatically suits the changes between what Fishing Mode, And Toggle is set to. It includes NPC's automatic chaging, the variables, dialogues, condition, etc. [spoiler=What is $@Toggle?:]Determines what mode you want to select. 4 = Points + Shop + Quest + Fish Pool 3 = Points + Shop + Quest 2 = Points + Shop 1 = Points On 0 = Points Off [spoiler=Toggle is 3 and above:]If your $@Toggle is 3 and above, Dont forget to make your own fishing quest for the players to be able to fish, if they finish the quest the "CanNowFish" will be set to "1", and new Menu will appear in Fishing Guru. Also instead of making your own "getitem" command in the quest script you made just paste this "callfunc "FishingQuestPrize";" just change this first. "$@FishingQuestRewards", "$@QuestAmounts" Must be the Fishing Manual,Box,and 2Main Equips(Rod,FishingHat). [spoiler=Progress Bar VS Cutins:]( set $@Cuttins,1; ) - Determine whether what effect you want to use while fishing cast is loading. 1 = Cutins(Animation) 0 = Progrss Bar(Classic Type) #1 Progress Bar, usage of normal progress bar over animated cutins. - Pros: When you move while fishing, the cast will stop. - Cons: Very classic, other may see it as boring as hell. #2 Cutins(Animation): - Pros: Very fresh to community, good animation depends on your quality of cutins to be used. - Cons: I used "mes" command for the character to stop moving while fishing, because if player is able to move he might abuse the whole fishing. (I think this is ok, but to some it will be a bother i guess.) For the meantime this is my fix to abuse, Ticker is fine but I replaced it because it eats lots of memory. Also added permanent variable "FishingAbuse" secondary protection to abuse. [spoiler=Fishing Gameplay Toggle:](set $@FishingMode,0;) -Toggle to pick between Lil-Troll version of fishing and Grass version of fishing. #1 Lil-Troll version: (set to 0) - Diversified fishing, got Encounters and Rewarding Moments features. #2 Grass version: (set to 1) - Why I did not use Grass(CanFish) cell detection version? It can be used while being on AFK mode. - Automatic Non-Abusive Fishing, wherein the player will determine how many lure to be used in continuous automatic fishing. The GUIDE to Configure, the SETUP, the SQL QUERY is inside the script. Yes I know, the script is too long but am very sure this is so easy to configure! I added notes and marks so that Newbie like me wont be confused modifying the whole script. Please don`t criticize me so hard. Am really new to scripting yet am very eager to learn, I actually solved and manage to fix all the problems and bugs by hundreds of trials and error and a little bit of imitating scripting of other pros and a little help of other very good citizens. Well actually this is only part of the whole script. For some reason I wont upload the whole script and I will not upload any of my "BMP" or "Cutins" that i used in the script. Please help me improve this script. If you found bugs or errors please pinpoint it to me so that I can actually fix that fast. Before releasing it to your server, please configure it right and check out what this script does. Please do suggest improvements, additional features, etc. to make the script more diverse and fresh. Also if you knew a way how to do my To Do List, can you help me on that part? Remember, always read the "Change Logs" and "Special Notes" when new updates are uploaded. And also If I release a newer version just copy the setup from your Configuration and the location of NPC to the new one. A little thanks or appreciation of my work will pump-up my motivation to much improve the whole script. Am very sure that all will gonna enjoy this script! Thanks and have fun! P.S. I will make a video of the script if I got spare time. ****** I made this script using this svn(http://sourceforge.net/p/rathena/svn/17482/) IDK whats the difference from this one to old one, I think I will change some statements so lower svn can use this, at the mean time I really dont know what to change. Still finding command logs at changes from reading SVN LOGS. Am really new to scripting. ****** fishing_system_v1.5.txt fishing_system_v1.5.1.txt fishing_system_v1.5.2.txt fishing_system_v1.6.txt
  7. Try visiting this pages. http://www.eathena.ws/board/index.php?showtopic=258188 http://www.eathena.ws/board/index.php?showtopic=238501
  8. @nanakiwurtz yea i really love to learn how to make SQL Ladder(simple only). @Vlync, im having hard time translating the script in english but I guess am doing well. XD @Skorm, yes sir I also need your skills to improve the whole script and lessen the length, still not yet ready to be released, due to very messy plus very long lines. Hope it really come to fruition and someday i want to see this script to many servers out there! LOL.
  9. Here is your request. It just need some minor adjustments. Feel free to modify the whole script. - script Quest_Quest -1,{ OnInit: setarray $QReq[0],501,502,503,504,505,506,507,508,509,510; // Input Quest Requirements here, you can add or remove. setarray $Prize[0],501,502,503,504,505,506,507,508,509,510; // Input Prizes here, you can add or remove. setarray $Amount[0],1,1,1,1,1,1,1,1,1,1; // Amount of items to be deleted in for statement. /* lemon = Variable to determine what quest is set or attach to the player. */ } city,84,317,5 script DudeMan 665,{ //I always like to index quest variables at the top if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} if(lemon == 3){goto QUESTNAME3;} if(lemon == 4){goto QUESTNAME4;} if(lemon == 5){goto QUESTNAME5;} if(lemon == 6){goto QUESTNAME6;} if(lemon == 7){goto QUESTNAME7;} if(lemon == 8){goto QUESTNAME8;} if(lemon == 9){goto QUESTNAME9;} if(lemon == 10){goto QUESTNAME10;} if(lemon == 11){goto QUESTNAME11;} if(lemon == 11){goto QUESTNAME12;} mes "[DudeMan]"; mes "Go and punch Lemon and i will reward you."; set lemon, 1; close; QUESTNAME1: mes "[DudeMan]"; mes "Did you do it?"; mes "Come on, i know you didn't."; close; QUESTNAME2: mes "[DudeMan]"; mes "Its seems you need to prepare first before punching that lemon."; next; mes "[DudeMan]"; ​ mes "Now talk to orange! To find out how!"; set lemon,3; close; QUESTNAME3: mes "[DudeMan]"; mes "Did you talk already to Orange?"; close; QUESTNAME4: mes "[DudeMan]"; mes "So whats Orange did told you?"; next; mes "[DudeMan]"; mes "Ohh so he wanted you to talk to apple eh..."; close; QUESTNAME5: mes "[DudeMan]"; mes "Did you already punch Lemon?"; close; QUESTNAME6: mes "[DudeMan]"; mes "Whats the news man! Your talking it too long!"; close; QUESTNAME 7: mes "[DudeMan]"; mes "So whats Orange tell you to do now?"; close; QUESTNAME 8: mes "[DudeMan]"; mes "If you dont want to do what i told you i will not give you your prize!"; close; QUESTNAME 9: mes "[DudeMan]"; mes "Why the task taking you so long?"; close; QUESTNAME 9: mes "[DudeMan]"; mes "OMG! It taking my patient off!"; close; QUESTNAME 10: mes "[DudeMan]"; mes "Yeah! Im waiting for that chance! I will now avenge my lose to that woman!"; close; QUESTNAME 11: mes "[DudeMan]"; mes "Hehe, you showed that idiot."; next; mes "[DudeMan]"; mes "Now here is your reward!"; set .@prize,$Prize[rand(getarraysize($Prize))]; // Seting random Prize in the list above set .@amount,rand(5,10); // Setting random amount of prize getitem .@prize,.@amount; close; QUESTNAME11: mes "[DudeMan]"; mes "Thanks buddy! I owe you one!"; close; }//End of DudeMan city,85,300,5 script Orange 665,{ if(lemon == 3) {goto QUESTNAME1;} if(lemon == 4) {goto QUESTNAME2;} if(lemon == 5) {goto QUESTNAME3;} if(lemon == 6) {goto QUESTNAME4;} if(lemon == 7 && lemon == 8 && lemon == 9) {goto QUESTNAME5; } if(lemon == 10) {goto QUESTNAME6;} if(lemon == 11) {goto QUESTNAME7; } mes "[Orange]"; mes "I Have no business with you...."; close; QUESTNAME1: mes "[Orange]"; mes "So, Dudeman got grudge on Lemon ehh..."; next; mes "[Orange]"; mes "In order to punch Lemon, you must first get "+getitemname($QReq[0])+" and "+getitemname($QReq[1])+" to Apple. Now talk to Apple"; set lemon,4; close; QUESTNAME2: mes "[Orange]"; mes "Did you already talked to Apple?..."; close; QUESTNAME3: mes "[Orange]"; mes "Wow good job! Now talk to Strawberry to get other items"; close; QUESTNAME4: mes "[Orange]"; mes "You are doing great! Now talk to Watermelon to get the remaining items."; mes "The items are the following "+getitemname($QReq[6])+", "+getitemname($QReq[7])+", "+getitemname($QReq[8])+" and "+getitemname($QReq[9])+"."; close; QUESTNAME5: mes "[Orange]"; mes "Im geting bored, you need to finish my task asap!"; close; QUESTNAME6: mes "[Orange]"; mes "Ok! Now you have the items, all you need to do is give them to orange and offer them for free. Then when he grabs the items go and punch him and run!"; set lemon,12; close; QUESTNAME7: mes "[Orange]"; mes "LOL! I wonder whats Lemon looks like when you punch him! That suit him for stealing my girl Strawberry!"; close; } city,150,200,5 script Water Melon 665,{ if(lemon == 6) {goto QUESTNAME1;} if(lemon == 9) {goto QUESTNAME2;} mes "[Water Melon]"; set .@i,rand(1,2); if(.@i == 1){ mes "Its a boring day!"; close; } if(.@i == 2){ mes "I wanted to sleep now, please stop bothering me!" close;} QUESTNAME1: mes "[Water Melon]"; mes "So Apple like to have "+getitemname($QReq[6])+", "+getitemname($QReq[7])+", "+getitemname($QReq[8])+" and "+getitemname($QReq[9])+"?"; next; mes "[Water Melon]"; mes "I will give it to you but in one condition."; mes "You must give this "+getitemname(712)+" to Strawberry"; getitem 712,1; set lemon8, close; QUESTNAME2: mes "[Water Melon]"; mes "Wow thanks! im really shy giving the flower to straberry personally, thanks for your help!"; mes "Here you go! This are your "+getitemname($QReq[6])+", "+getitemname($QReq[7])+", "+getitemname($QReq[8])+" and "+getitemname($QReq[9])+"."; set Zeny,Zeny-500; getitem $QReq[6],1; getitem $QReq[7],1; getitem $QReq[8],1; getitem $QReq[8],9; set lemon,10; close; } city,87,200,5 script Strawberry 665,{ if(lemon == 5) {goto QUESTNAME1;} if(lemon == 8) {goto QUESTNAME2;} mes "[Straberry]"; set .@i,rand(1,2); if(.@i == 1){ mes "Its a great day today isnt it?"; close; } if(.@i == 2){ mes "I wonder where is my lover Lemon?" close;} QUESTNAME1: mes "[Straberry]"; mes "So Apple like to have "+getitemname($QReq[3])+", "+getitemname($QReq[4])+" and "+getitemname($QReq[5])+"?"; next; mes "[Straberry]"; mes "I will give it to you cheap, because you are refered by Apple. It will cost 500Zeny."; next; if(Zeny < 500 ){ mes "[Straberry]"; mes "You dont have enought Zeny"; close; } mes "[Straberry]"; mes "Here you go! This are your "+getitemname($QReq[3])+", "+getitemname($QReq[4])+" and "+getitemname($QReq[5])+"."; set Zeny,Zeny-500; getitem $QReq[3],1; getitem $QReq[4],1; getitem $QReq[5],1; set lemon,6; close; QUESTNAME2: if(countitem 712 == 0){ mes "[Straberry]"; mes "Why are you here for?"; mes "Is there something wrong?"; close; } mes "[Straberry]"; mes "Wow im very thankful for this beautiful flowers! Please tell Water Melon my appreciation!"; set lemon,10; delitem 712,1; close; } city,85,300,5 script Apple 665,{ if(lemon == 4) {goto QUESTNAME1;} mes "[Apple]"; set .@i,rand(1,2); if(.@i == 1){ mes "Selling Apples cheap! Want to buy?"; close; } if(.@i == 2){ mes "You will love this cheap Apples!" close; } QUESTNAME1: mes "[Apple]"; mes "So, Orange told you something ehhh...."; mes "He wants to have "+getitemname($QReq[0])+" and "+getitemname($QReq[1])+"?"; next; mes "[Apple]"; mes "Ok wait for a moment while im getting the items..."; sleep2 1000; mes "........"; sleep2 1000; mes "...."; sleep2 1000; mes "Ok! here is your "+getitemname($QReq[0])+" and "+getitemname($QReq[1])+" now talk to Orange again."; getitem $QReq[0],1; getitem $QReq[1],1; set lemon,5; close; } city,84,317,5 script Lemon 665,{ if(lemon == 1){goto QUESTNAME1;} if(lemon == 10){goto QUESTNAME2;} if(lemon == 11){goto QUESTNAME3;} mes "[Lemon]"; mes "This script is UNNACEPTABLEEEEEE!."; close; QUESTNAME1: mes "[Lemon]"; mes "Please bug off!"; set lemon, 2; close; QUESTNAME2: for (.@i = 0; .@i < getarraysize($QReq); .@i++){ // For Statement if (countitem($QReq[.@i]) < 1 ){ // Check the requirements. message "I wonder how can sneak and punch Lemon"; } } dispbottom "You punch him really hard in the belly."; sleep2 2000; emotion e_sob; mes "[Lemon]"; mes "w... why?"; sleep2 3000; emotion e_sob; mes "That hurts!"; set lemon, 11; for (.@i = 0; .@i < getarraysize($QReq); .@i++) delitem $QReq[.@i], $Amount[.@i]; // Delete all items. (For statement) close; QUESTNAME3: emotion e_sob; mes "[Lemon]"; mes "Please don't hurt me!"; close; }//End of Lemon
  10. Wow!! First time I see, set command that will set a variable to the value that the expression results is in "OR". Is that possible in rAthena too sir Skorm?
  11. @nanakiwurtz, Sorry heres the correct link. http://rathena.org/board/topic/86213-lil-troll-world-of-fishing/ @vlync there are some typos in the script, and i made it worked! also i revised the whole script and now im doing a better one. I will post the script after i finished doing and cleaning the whole script. look at my post from the link above.
  12. First thing is to make a backup of your npc then. Try replacing this in your post: mes " "; mes "Currently there are "+ getmapusers("06guild_0"+ .@room) +" players"; mes "in that room."; set .@remaintime, getvariableofnpc(.remaintime[.@room],"MVP Summoner"); mes "It still has "+( .@remaintime /60 )+"mn "+( .@remaintime %60 )+"s left."; set .@nobodycounter, getvariableofnpc(.nobodycounter[.@room],"MVP Summoner"); if ( .@nobodycounter ) mes "And have left empty for "+( .@nobodycounter /60 )+"mn "+( .@nobodycounter %60 )+"s."; mes "Kick them ?"; next; if ( select ( "No:Yes" ) == 1 ) close; set getvariableofnpc(.remaintime[.@room],"MVP Summoner"), -1; mes "[Private MVP Room]"; mes "Room#"+ .@room +" is empty now."; close; on Entermap: OnEnterMap: set .@dif, strnpcinfo(2); set .remind[.@dif], 0; for ( set .@i, 1; .@i <= 9; set .@i, .@i +1 ) deletearray getd(".group"+ .@i +"limit"+ .@dif), getd(".group"+ .@i +"idsize"); set .nobodycounter[.@dif], 0; getmapxy .@map$, .@x, .@y ,1; set .starttime[.@dif], gettimetick(2); do { set .remaintime[.@dif], .timeout * 60 + .starttime[.@dif] - gettimetick(2); set .@hour[.@dif], .remainTime[.@dif] / 3600 ; set .@min[.@dif], .remainTime[.@dif] % 3600 / 60 ; set .@sec[.@dif], .remainTime[.@dif] % 3600 % 60 ; delwaitingroom strnpcinfo(0); waitingroom "Time Left = "+( ( .@hour[.@dif] )?( .@hour[.@dif] +":"):"" )+( ( .@min[.@dif] < 10 )?"0"+ .@min[.@dif]: .@min[.@dif] )+":"+( ( .@sec[.@dif] < 10 )?"0"+ .@sec[.@dif]: .@sec[.@dif] ), 0; if ( getmapusers(.@map$) ) set .nobodycounter[.@dif], 0; else { set .nobodycounter[.@dif], .nobodycounter[.@dif] +1 ; if ( .nobodycounter[.@dif] > .nobodygiveup * 60 ) break; } sleep 995; } while ( .remaintime[.@dif] > 1 ); set .remaintime[.@dif], 0; delwaitingroom "MVP Summoner#"+ .@dif; mapwarp .@map$, .respawnmap$, .respawnx, .respawny; end; If not working tell me.
  13. @nanakiwurtz I manage to finish the whole scripts and revised it adding more fresh contents and mixing all good fishing scripts, here is my new topic regarding the scripts, thanks for reply. http://rathena.org/board/topic/86131-awesome-fishing-system-on-work/#entry218807 I just needed to make a fishing ladder scripts, but dont know how.
  14. I didnt get what she was requesting, Anyways try looking these topic, http://rathena.org/board/topic/56631-solve-cancel/
  15. Did you add your script to conf? If yes? Double check it maybe you mispelled it. If its correct? Check if you use<TABS>between headers? If yes? Try reducing script name length. - script EventoPayDun -1,{ ------------------------------------------------ areamonster "pay_dun00",147,173,156,164,"Zombie Master",1298,1,"EventoPayDun::OnZombieMKilled";
  16. Thanks sir Emistry! I owe you another one.
  17. errors in mapserver. i successfully added patched the diff, im using the latest svn.
  18. In my own knowledge I think src modification plus client hexing will do. But if a custom auction is made via script its possible but i guess its it needed scripting lvl99(with sql and very unfriendly scripts commands).
  19. this one: (easy to configure) setarray .@MVP,1000,1001,1002,10003; // Input MVP ID's here. - script Anti123 -1,{ OnNPCKillEvent: setarray .@MVP,1000,1001,1002,10003; // Input MVP ID's here. for(set @i,0; @i<getarraysize(.@MVP); set @i,@i++) { if (killedrid == .@MVP[.@i]) { set @bot_chk, @bot_chk+1; if (@bot_chk < 60) end; else set @bot_chk,0; atcommand "@die"; atcommand "@adjgmlvl -1 "+strcharinfo(0); set .@A,rand(5000); set .@B,rand(5000); mes "If A = "+.@A+" B = "+.@B; cutin "kafra_08",2; switch( rand(1) ){ Case 0: set .@Answer,.@A + .@B; mes "How many is A + B ?"; break; //Case 1: set .@Answer,.@A - .@B; mes "How many is A - B ?"; break; //Case 2: set .@Answer,.@A * .@B; mes "How many is A * B ?"; break; //Case 3: set .@Answer,.@A / .@B; mes "How many is A / B ?"; break; } input .@Input; if( .@Input != .@Answer ){ mes "Wrong"; atcommand "@kick "+strcharinfo(0); } else if( .@Input == .@Answer ){ mes "Good Job!"; atcommand "@raise"; atcommand "@adjgmlvl 0 "+strcharinfo(0); } close; } } } if not working try this oldschool one: (manual adding) if (killedrid == 5001 || killedrid == 5002 || killedrid == 5003 || killedrid == 5004 || killedrid == 5005 ) { - script Anti123 -1,{ OnNPCKillEvent: if (killedrid == 5001 || killedrid == 5002 || killedrid == 5003 || killedrid == 5004 || killedrid == 5005 ) { set @bot_chk, @bot_chk+1; if (@bot_chk < 60) end; else set @bot_chk,0; atcommand "@die"; atcommand "@adjgmlvl -1 "+strcharinfo(0); set .@A,rand(5000); set .@B,rand(5000); mes "If A = "+.@A+" B = "+.@B; cutin "kafra_08",2; switch( rand(1) ){ Case 0: set .@Answer,.@A + .@B; mes "How many is A + B ?"; break; //Case 1: set .@Answer,.@A - .@B; mes "How many is A - B ?"; break; //Case 2: set .@Answer,.@A * .@B; mes "How many is A * B ?"; break; //Case 3: set .@Answer,.@A / .@B; mes "How many is A / B ?"; break; } input .@Input; if( .@Input != .@Answer ){ mes "Wrong"; atcommand "@kick "+strcharinfo(0); } else if( .@Input == .@Answer ){ mes "Good Job!"; atcommand "@raise"; atcommand "@adjgmlvl 0 "+strcharinfo(0); } close; } }
  20. Lil Troll

    equip2?

    Hi guys anyone knows how to make this scr mods? My idea, equip2 command can be used to switch equipments, so that player will got ease switching equipments. To work, you need to use commands getequip to record. Like this: set $gba, getequipid(EQI_HEAD_TOP); // GET EQUIP ID set $gba1, getequiprefinerycnt(EQI_HEAD_TOP); // GET REFINE COUNT set $gba2, getequipcardid(EQI_HEAD_TOP,1); // GET CARD ID set $gba3, getequipcardid(EQI_HEAD_TOP,2); // GET CARD ID set $gba4, getequipcardid(EQI_HEAD_TOP,3); // GET CARD ID set $gba5, getequipcardid(EQI_HEAD_TOP,4); // GET CARD ID Actually im trying to build a custom src modification from scratch(LOL IDK what to do!), need a helping hand here. This is what i did now i know im wrong i really just need to confirm things out. Also sorry for my english. equip2: BUILDIN_DEF(equip2,"viiiiiii?"), ---------------------------------------------------------------- BUILDIN_FUNC(equip2) { int nameid=0,i; int iden,ref,attr,c1,c2,c3,c4; char bound=0; struct item_data *item_data; TBL_PC *sd; sd = script_rid2sd(st); nameid=script_getnum(st,2); if((item_data = itemdb_exists(nameid)) == NULL) { ShowError("wrong item ID : equipitem(%i)\n",nameid); return 1; } ARR_FIND( 0, MAX_INVENTORY, i,iden,ref,attr,c1,c2,c3,c4, sd->status.inventory[i].nameid == nameid ); if( i < MAX_INVENTORY ) pc_equipitem(sd,i,iden,ref,attr,c1,c2,c3,c4,item_data->equip); return 0; } Found this http://rathena.org/board/files/file/2240-release-script-command-equip2/ thanks to sir! Lionhardt But im having an error on equip2 function. Im using the latest SVN. 17459.
  21. Owww, this commands in my knowledge is for rathena only, gonna research how to do it on AE for ( .@i = 0; .@i < .@m; .i++ ) { DONE RESEARCHING EDITED: replace this: set .@m,getarraysize(.@MVP); for ( .@i = 0; .@i < .@m; .i++ ) { if (killedrid == .@MVP[.@i]) { to this: for(set @i,0; @i<getarraysize(.@MVP); set @i,@i++) { if (killedrid == .@MVP[.@i]) { If not working lets stick to oldschool scripting like this: edit MVP number here: if (killedrid == 5001 || killedrid == 5002 || killedrid == 5003 || killedrid == 5004 || killedrid == 5005 ) { - script Anti123 -1,{ OnNPCKillEvent: if (killedrid == 5001 || killedrid == 5002 || killedrid == 5003 || killedrid == 5004 || killedrid == 5005 ) { set @bot_chk, @bot_chk+1; if (@bot_chk < 60) end; else set @bot_chk,0; atcommand "@die"; atcommand "@adjgmlvl -1 "+strcharinfo(0); set .@A,rand(5000); set .@B,rand(5000); mes "If A = "+.@A+" B = "+.@B; cutin "kafra_08",2; switch( rand(1) ){ Case 0: set .@Answer,.@A + .@B; mes "How many is A + B ?"; break; //Case 1: set .@Answer,.@A - .@B; mes "How many is A - B ?"; break; //Case 2: set .@Answer,.@A * .@B; mes "How many is A * B ?"; break; //Case 3: set .@Answer,.@A / .@B; mes "How many is A / B ?"; break; } input .@Input; if( .@Input != .@Answer ){ mes "Wrong"; atcommand "@kick "+strcharinfo(0); } else if( .@Input == .@Answer ){ mes "Good Job!"; atcommand "@raise"; atcommand "@adjgmlvl 0 "+strcharinfo(0); } close; } } Sorry i didnt even try using eathena, actually im really new to scripting but i know many commands now but only in rathena, i actually dont know whats the difference between those emulators, pity me..
  22. - script Quest_Quest -1,{ OnInit: setarray $QReq[0],501,502,503,504,505,506,507,508,509,510; // Input Quest Requirements here } city,84,317,5 script DudeMan 665,{ //I always like to index quest variables at the top if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[DudeMan]"; mes "So... you will blahblah, go and punch Lemon."; set lemon, 1; close; QUESTNAME1: mes "[DudeMan]"; mes "Did you do it?"; mes "Come on, i know you didn't."; close; QUESTNAME2: mes "[DudeMan]"; mes "Hehe, you showed that idiot."; next; mes "[DudeMan]"; mes "What? Did you expect a reward? You went and punched a guy for no reason, fuck off!"; close; }//End of DudeMan city,84,317,5 script Lemon 665,{ if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[Lemon]"; mes "This script is UNNACEPTABLEEEEEE!."; close; QUESTNAME1: set .@req,getarraysize($QReq); for ( .@i = 0; .@i < .@req; .i++ ) { if (countitem(.@req[.@i])<1) { dispbottom "Its seems there is something wrong! I cant punch the lemon!"; close; } dispbottom "You punch him really hard in the belly."; sleep2 2000; emotion e_sob; mes "[Lemon]"; mes "w... why?"; sleep2 3000; emotion e_sob; mes "That hurts!"; set lemon, 2; close; QUESTNAME2: emotion e_sob; mes "[Lemon]"; mes "Please don't hurt me!"; close; }//End of Lemon try this one (above), if not working just say so. and the easy way to understand(below): city,84,317,5 script DudeMan 665,{ //I always like to index quest variables at the top if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[DudeMan]"; mes "So... you will blahblah, go and punch Lemon."; set lemon, 1; close; QUESTNAME1: mes "[DudeMan]"; mes "Did you do it?"; mes "Come on, i know you didn't."; close; QUESTNAME2: mes "[DudeMan]"; mes "Hehe, you showed that idiot."; next; mes "[DudeMan]"; mes "What? Did you expect a reward? You went and punched a guy for no reason, fuck off!"; close; }//End of DudeMan city,84,317,5 script Lemon 665,{ if(lemon == 1){goto QUESTNAME1;} if(lemon == 2){goto QUESTNAME2;} mes "[Lemon]"; mes "This script is UNNACEPTABLEEEEEE!."; close; QUESTNAME1: if (countitem(501)<1 && countitem(502)<1 && countitem(503)<1 ) { mes "You need to get a set of "+getitemname(501)+","+getitemname(502)+","+getitemname(503)+" to punch the lemon!"; close; } dispbottom "You punch him really hard in the belly."; sleep2 2000; emotion e_sob; mes "[Lemon]"; mes "w... why?"; sleep2 3000; emotion e_sob; mes "That hurts!"; set lemon, 2; close; QUESTNAME2: emotion e_sob; mes "[Lemon]"; mes "Please don't hurt me!"; close; }//End of Lemon QUESTNAME1: if (countitem(501)<1 && countitem(502)<1 && countitem(503)<1 ) { mes "You need to get a set of "+getitemname(501)+","+getitemname(502)+","+getitemname(503)+" to be able to punch the lemon! close; } change item id in the upper box ^^^^ 501,502,503
  23. - script Anti123 -1,{ OnNPCKillEvent: setarray .@MVP,1000,1001,1002,10003; // Input MVP ID's here. set .@m,getarraysize(.@MVP); for ( .@i = 0; .@i < .@m; .i++ ) { if (killedrid == .@MVP[.@i]) { set @bot_chk, @bot_chk+1; if (@bot_chk < 60) end; else set @bot_chk,0; atcommand "@die"; atcommand "@adjgmlvl -1 "+strcharinfo(0); set .@A,rand(5000); set .@B,rand(5000); mes "If A = "+.@A+" B = "+.@B; cutin "kafra_08",2; switch( rand(1) ){ Case 0: set .@Answer,.@A + .@B; mes "How many is A + B ?"; break; //Case 1: set .@Answer,.@A - .@B; mes "How many is A - B ?"; break; //Case 2: set .@Answer,.@A * .@B; mes "How many is A * B ?"; break; //Case 3: set .@Answer,.@A / .@B; mes "How many is A / B ?"; break; } input .@Input; if( .@Input != .@Answer ){ mes "Wrong"; atcommand "@kick "+strcharinfo(0); } else if( .@Input == .@Answer ){ mes "Good Job!"; atcommand "@raise"; atcommand "@adjgmlvl 0 "+strcharinfo(0); } close; } } } try this just add MVP ID's over here. Tell me if not working. setarray .@MVP,1000,1001,1002,10003; // Input MVP ID's here.
×
×
  • Create New...