Jump to content

mrlongshen

Members
  • Content Count

    1126
  • Joined

  • Last visited

  • Days Won

    3

Reputation Activity

  1. Upvote
    mrlongshen reacted to Litro in One click mining constant   
    try this, the part I added: while (1) from checking tools until the last proccess of mining and disable_items; in after the npc header
    /*=========================================================Variant Miningby Glitch [Via]===========================================================Request: http://herc.ws/board/topic/1886-simple-mining/===========================================================Description:A simple mining system; allows for interacting players toexcavate minerals by "mining" them with special equipmentand tools.Configuration is done in arrays so that settings may bechanged with no modifications to the script. Keep in mindthat each array value is respective to their commented set.Duplicate in additional locations as needed.=========================================================*/pay_dun00,54,147,0 script Variant Mineral#1::mining 1907,{ disable_items; // Check equipment for (.@i = 0; .@i < getarraysize(.equip); .@i++) { if (!isequipped(.equip[.@i])) { message strcharinfo(0), "You need to have '"+ getitemname(.equip[.@i]) +"' equipped to mine!"; .@unequipped++; } } // Show count of equipment not worn if (.@unequipped) { message strcharinfo(0), .@unequipped +" of "+ getarraysize(.equip) +" equipment has not been worn."; end; } while(1) { // Check tools for (.@i = 0; .@i < getarraysize(.tool); .@i++) { if (countitem(.tool[.@i]) < .inventory[.@i]) { message strcharinfo(0), "You need to bring "+ .inventory[.@i] +" "+ getitemname(.tool[.@i]) +" to mine!"; .@gearless++; } } // Show count of tools not in inventory if (.@gearless) { if (getarraysize(.tool) > 1) .@grammar$ = "tools were"; else .@grammar$ = "tool was"; message strcharinfo(0), .@gearless +" of "+ getarraysize(.tool) +" "+ .@grammar$ +" not brought."; end; } // Progress message strcharinfo(0), "Mining in progress..."; progressbar "green", .progress; // Delete tools for (.@i = 0; .@i < getarraysize(.tool); .@i++) delitem .tool[.@i], .inventory[.@i]; // Audio/visual effects soundeffect .sound$, 0; specialeffect .effect; // Drop random debris getmapxy(.@m$, .@x, .@y, 0); makeitem .debris, .scatter, .@m$, .@x + rand(2), .@y + rand(1,2); // Randomize target mineral to mine .@target = rand(getarraysize(.mineral)); // Max range of success .@range = .success[.@target * 2 + 1]; // Check if failed if(rand(1, .@range) != .success[.@target * 2]) { message strcharinfo(0), "Nothing valuable was excavated..."; end; } // Get mineral(s) getitem .mineral[.@target], .amount[.@target]; message strcharinfo(0), "You have successfully mined "+ .amount[.@target] +" "+ getitemname(.mineral[.@target]) +"!"; } end; OnWhisperGlobal: // Whisper anything to initialize settings message strcharinfo(0), strnpcinfo(1) +" : 'OnInit' label has been intialized."; OnInit: // Minerals setarray .mineral[0], 985, 984, 6224, 6223; // Jejelopy, Elunium, Oridecon, Bradium, Cranium setarray .amount[0], 1, 1, 1, 1; // Amount to mine // Success rate: (x / y)% chance setarray .success[0], 1, 2, // 50% for Elunium 1, 2, // 50% for Oridecon 1, 4, // 25% Bradium 1, 4; // 25% Cranium //Example of calculation //1, 5, // 1/5 (20%) //1, 2, // 1/2 (50%) //4, 5, // 4/5 (80%) //1, 50; // 1/50 (2%) // Equipment setarray .equip[0], 5009, 2218; // Safety Helmet, Flu Mask // Tools setarray .tool[0], 7318, 7327; // Old Pick, Flashlight setarray .inventory[0], 1, 1; // Amount per tool // Mining time (in seconds) .progress = 1; // Audio/visual effects .sound$ = "chepet_attack.wav"; .effect = 4; // Debris .debris = 7049; // Stone .scatter = 5; // Debris amount end; }// Duplicatespay_dun00,55,147,0 duplicate(mining) Variant Mineral#2 1907pay_dun00,53,146,0 duplicate(mining) Variant Mineral#3 1907pay_dun00,53,145,0 duplicate(mining) Variant Mineral#4 1907pay_dun00,69,148,0 duplicate(mining) Variant Mineral#5 1907pay_dun00,70,147,0 duplicate(mining) Variant Mineral#6 1907pay_dun00,70,146,0 duplicate(mining) Variant Mineral#7 1907
  2. Upvote
    mrlongshen reacted to Dastgir in extended vending system plugin   
    Update 2:
    Added Extended Vending System
    https://github.com/dastgir/HPM-plugins
     
    (Please Take a Look and +1 at my Plugin Collection Topic: http://herc.ws/board/topic/8202-plugin-collections/page-1)
  3. Upvote
    mrlongshen reacted to Winterfox in Pet Intimacy   
    @@mrlongshen
     
    .@friendliness = getpetinfo( 3 );if( .@friendliness < 1000 ) { atcommand "@petfriendly " + ( .@friendliness + 10 ); dispbottom "Intimacy raised by 10.";} else { dispbottom "Intimacy is allready at maximum.";}
  4. Upvote
    mrlongshen got a reaction from hannah in MVP and PVP point collection   
    hi,
    can someone make a simple npc displayed up top 10 user ranking cash point? maybe kiled mob and pvp ? there will 2 selection, mvp or pvp. here the script i'm using
     
    - script mvp_rewards -1,{ OnInit: .mobRewardPoints = 1; //MOB CASH POINT .rewardMobIds[1649] = 1; //High Priest Magaleta / High Priest Margaretha .rewardMobIds[1651] = 1; //High Wizard Katrinn / High Wizard Kathryne .rewardMobIds[1646] = 1; //Lord Knight Seyren .rewardMobIds[1650] = 1; //Sniper Shecil / Sniper Cecil .rewardMobIds[1648] = 1; // Whitesmith Harword .rewardMobIds[1647] = 1; // Assassin Cross Eremes .rewardMobIds[1917] = 1; //Wounded Morroc .rewardMobIds[1871] = 1; // Fallen Bishop .rewardMobIds[1768] = 1; // Gloom Under Night .rewardMobIds[1086] = 1; // Golden Thief Bug .rewardMobIds[1832] = 1; // Ifrit .rewardMobIds[1734] = 1; // Kiel D-01 .rewardMobIds[1251] = 1; // Knight of Windstorm .rewardMobIds[1646] = 1; // Lord Knight Seyren .rewardMobIds[1147] = 1; // Maya .rewardMobIds[1650] = 1; // Sniper Shecil .rewardMobIds[1583] = 1; // Tao Gunka .rewardMobIds[1708] = 1; // Thanatos .rewardMobIds[1312] = 1; // Turtle General .rewardMobIds[1751] = 1; // Valkyrie Randgris .rewardMobIds[1685] = 1; // Vesper .rewardMobIds[1511] = 1; // Amon Ra .rewardMobIds[1630] = 1; // Bacsojin .rewardMobIds[1039] = 1; // Baphomet .rewardMobIds[1115] = 1; // Eddga .rewardMobIds[1252] = 1; // Garm .rewardMobIds[1492] = 1; // Incantation Samurai .rewardMobIds[1190] = 1; // Orc Lord .rewardMobIds[1159] = 1; // Phreeoni .rewardMobIds[1658] = 1; // Ygnizem .rewardMobIds[1785] = 1; // Atroce .rewardMobIds[1096] = 1; // Angeling .rewardMobIds[1388] = 1; // Archangeling .rewardMobIds[1795] = 1; // Bloody Knight .rewardMobIds[1874] = 1; // Beelzebub .rewardMobIds[1272] = 1; // Dark Lord .rewardMobIds[1719] = 1; // Datale .rewardMobIds[1389] = 1; // Dracula .rewardMobIds[1112] = 1; // Drake .rewardMobIds[1046] = 1; // Doppelgangger .rewardMobIds[1418] = 1; // Evil Snake Lord .rewardMobIds[1120] = 1; // Ghostring .rewardMobIds[1688] = 1; // Lady Tanee .rewardMobIds[1373] = 1; // Lord of Death .rewardMobIds[1289] = 1; // Maya Purple .rewardMobIds[1150] = 1; // Moonlight Flower .rewardMobIds[1087] = 1; // Orc Hero .rewardMobIds[1038] = 1; // Osiris .rewardMobIds[1157] = 1; // Pharaoh .rewardMobIds[1582] = 1; // Deviling .rewardMobIds[1623] = 1; // RSX 0806 .pvpRewardPoints = 1; end; OnNPCKillEvent: if(.rewardMobIds[killedrid] > 0) { #CASHPOINTS += .mobRewardPoints; dispbottom "You now have " + #CASHPOINTS + " Cash Point" + ((#CASHPOINTS > 1)? "s":"") + "."; announce strcharinfo(PC_NAME) + " killed " + strmobinfo(1, killedrid) + " and earned "+ .mobRewardPoints +" Cash Point" + ((.mobRewardPoints > 1)? "s":"") + ".", bc_all; } end; OnPCKillEvent: #CASHPOINTS += .pvpRewardPoints; dispbottom "You now have " + #CASHPOINTS + " Cash Point" + ((#CASHPOINTS > 1)? "s":"") + "."; mapannounce strcharinfo(PC_MAP), strcharinfo(PC_NAME) + " killed " + rid2name(killedrid) + " and earned " + .pvpRewardPoints +" Cash Point" + ((.pvpRewardPoints > 1)? "s" : "") + ".",bc_map; end;}  
  5. Upvote
    mrlongshen reacted to Emistry in A clickable item to zeny and some command   
    no need.
  6. Upvote
    mrlongshen reacted to Emistry in A clickable item to zeny and some command   
    { Id: 674 AegisName: "Mithril_Coin" Name: "Mithril Coin" Type: 0 Buy: 5000 Weight: 40 Script: <" Zeny += 10000000; ">},
  7. Upvote
    mrlongshen reacted to Winterfox in A clickable item to zeny and some command   
    @@mrlongshen
     
    Add this NPC:
    - script ZENY_TO_MITHRIL_COIN -1,{ OnInit: bindatcmd("convert", "ZENY_TO_MITHRIL_COIN::OnConvert"); end; OnConvert: if( Zeny < 10000000 ) { dispbottom "You need atleast 10.000.000z to get Mithril Coins."; end; } .@coinCount = Zeny / 10000000; Zeny -= .@coinCount * 10000000; getitem Mithril_Coin, .@coinCount;}function  script  convert  {  .@coinCount = countitem(Mithril_Coin);  if( !.@coinCount ) {    dispbottom "You need atleast 1 Mithril Coin to get 10.000.000z.";    end;  }      delitem Mithril_Coin, .@coinCount;  Zeny += .@coinCount * 10000000;} afterwards make Mithril Coin usable and use this as item script:
    callfunc("convert");
  8. Upvote
    mrlongshen reacted to Winterfox in All monster drops specific item with blacklist mobs   
    @@mrlongshen
     
    - script GLOBAL_LOOT -1,{ OnInit: // Config // // ItemID, Rate ( [1:10000], Example: 1000 = 0,1%, 100 = 1%... ) setarray .drops, Poring_Coin, 100 , TCG_Card, 100; .blacklist$ = "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235," + "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299," + "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313," + "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974," + "1975,1976,1977,1978,1979"; .dropCount = getarraysize(.@drops); // Main Code while( sleep( 500 ) ) { .@rc = query_sql("SELECT ID FROM `mob_db` WHERE ID NOT IN( " + .blacklist$ + " ) LIMIT " + .@currentOffset + ", 128", .@MobIds ); for( .@i = 0; .@i < .@rc; .@i++ ) { for( .@y = 0; .@y < .dropCount; .@y += 2 ) addmonsterdrop( .@MobIds[.@i], .drops[.@y], .drops[(.@y + 1)] ); } if( .@rc < 128 ) break; .@currentOffset += .@rc; } end;}
  9. Upvote
    mrlongshen reacted to Winterfox in REQ >On max level   
    @@mrlongshen
     
    You also can use the according number. EQI_HEAD_TOP is a constant that is replaced with the according number anyway.
  10. Upvote
    mrlongshen reacted to Winterfox in REQ >On max level   
    @@mrlongshen
    if( BaseLevel == 255 && JobLevel == 120 ) unequip <equipment slot>; <equipment slot> has to be the slot where the equipment is applied.
     
    Possible slots are:
    EQI_HEAD_TOP (1) - Upper head gearEQI_ARMOR (2) - Armor (Where you keep your Jackets and Robes)EQI_HAND_L (3) - What is in your Left hand.EQI_HAND_R (4) - What is in your Right hand.EQI_GARMENT (5) - The garment slot (Mufflers, Hoods, Manteaus)EQI_SHOES (6) - What foot gear the player has on.EQI_ACC_L (7) - Accessory 1.EQI_ACC_R (8) - Accessory 2.EQI_HEAD_MID (9) - Middle Headgear (masks and glasses)EQI_HEAD_LOW (10) - Lower Headgear (beards, some masks)EQI_COSTUME_HEAD_LOW (11) - Lower Costume HeadgearEQI_COSTUME_HEAD_MID (12) - Middle Costume HeadgearEQI_COSTUME_HEAD_TOP (13) - Upper Costume HeadgearEQI_COSTUME_GARMENT (14) - Costume GarmentEQI_SHADOW_ARMOR (15) - Shadow ArmorEQI_SHADOW_WEAPON (16) - Shadow WeaponEQI_SHADOW_SHIELD (17) - Shadow ShieldEQI_SHADOW_SHOES (18) - Shadow ShoesEQI_SHADOW_ACC_R (19) - Shadow Accessory 2EQI_SHADOW_ACC_L (20) - Shadow Accessory 1
  11. Upvote
    mrlongshen reacted to Winterfox in Disguise for hercules   
    @@mrlongshen I updated the whole script to current Hercules syntax. http://upaste.me/7c7f2108246c597cb
  12. Upvote
    mrlongshen reacted to Oxxy in Disguise for hercules   
    Hope this will help you
  13. Upvote
    mrlongshen got a reaction from Akaneharuka in Beginner Cap   
    @@Akaneharuka
    can you please update a picture ? I cant see it. 
    nvm.
    I provide external picture. hehe.

  14. Upvote
    mrlongshen reacted to Winterfox in Restrict gm below 60   
    - script mobspawn_restriction -1,{ OnInit: bindatcmd("monster", strnpcinfo(3) + "::OnMonster", 1); bindatcmd("monstersmall", strnpcinfo(3) + "::OnMonsterSmall", 1); bindatcmd("monsterbig", strnpcinfo(3) + "::OnMonsterBig", 1); .maxMobsPerSpawn = 5; end; OnMonster: .@cmdType$ = "monster"; OnMonsterSmall: if(.@cmdType$ == "") .@cmdType$ = "monstersmall"; OnMonsterBig: if(.@cmdType$ == "") .@cmdType$ = "monsterbig"; if(getgmlevel() >= 60) end; .@mobCount = (.@atcmd_parameters$[1] == "") ? 1 : atoi(.@atcmd_parameters$[1]); if(.@mobCount > .maxMobsPerSpawn) { dispbottom("You can't spawn more than " + .@mobCount + " mobs at a time."); end; } atcommand("@" + .@cmdType$ + " " + .@atcmd_parameters$[0] + " " + .@mobCount); end;}
  15. Upvote
    mrlongshen reacted to Kuya Jeo in Kill specific mobs, drop item   
    @@mrlongshen
     
    here you go
    work only for accessory cards when equipped
     
     
    put some monster array and item array just incase  
     
    http://pastebin.com/29UAR58t
  16. Upvote
    mrlongshen reacted to Kuya Jeo in Costume change to other job appearance   
    @@mrlongshen
     
    try this
    { Id: 25000 AegisName: "Change_Job_Suit" Name: "Change Job Suit" Type: 5 Buy: 20 Weight: 10 Loc: 136 Refine: false Script: <" changebase JOBID;"> OnUnequipScript: <" changebase Class; ">},  
  17. Upvote
    mrlongshen reacted to evilpuncker in Find the baphomet Clean for hercules   
    try it
  18. Upvote
    mrlongshen reacted to Dogpatch in MVP Card annoucement   
    Yeah mine was just a quick fix and never really had the time to edit it. Thanks for optimizing it. I'll use the version you made. 
  19. Upvote
    mrlongshen reacted to Winterfox in MVP Card annoucement   
    @@mrlongshen Yes, i copied the script you posted and it worked exactly as intended. I killed a Eddga and got his card directly into my inventory and the announcement got made.
  20. Upvote
    mrlongshen reacted to Winterfox in MVP Card annoucement   
    @@mrlongshen I named a variable wrong, thats why it didn't get executed. Also the cards will go directly into the inventory since the card drop is disabled by script and given to the player by the rate you can configure in the script.
    Check it out here: http://upaste.me/36f421015cab9f3e5
     
    Also i am no sir. :/
  21. Upvote
    mrlongshen reacted to Dogpatch in MVP Card annoucement   
    But that controls all drops. There are items that are useless that drop at a 0.01% chance so it will be included in the announcement.
     
    I use this for MVP cards.
    http://pastebin.com/QqwPbean
  22. Upvote
    mrlongshen reacted to fxfreitas in Adding hairstyles found around   
    Rediff your client, enable 64k hairstyle. Try too read data folder first, or add the hair pack in yourdata.grf
  23. Upvote
    mrlongshen reacted to Winterfox in Restrict gm below 60   
    I dont know if that works, but maybe you can disable it via groups.conf for GMs below 60 and use that script:
    - script mobspawn_restriction -1,{ OnInit: bindatcmd("monster", strnpcinfo(3) + "::OnAtcommand"); .maxMobsPerSpawn = 5; end; OnAtcommand: if(getgmlevel() >= 60 || getgmlevel() == 0) end; .@mobCount = (.@atcmd_parameters$[1] == "") ? 1 : atoi(.@atcmd_parameters$[1]); if(.@mobCount > .maxMobsPerSpawn) { dispbottom("You can't spawn more than " + .@mobCount + " mobs at a time."); end; } atcommand("@monster " + .@atcmd_parameters$[0] + " " + .@mobCount); end;} I don't know if this doesn't fail when the @monster command is restricted but how it should work is, it blocks the original monster command, hooks it and starts the atcommand via script and restricts the monster spawn. If a user with a gm level below 1 or above 60 uses @monster, the script just ends itself instead of doing anything since users below gm level 1 shouldn't be able to use it and users above 60 aren't restricted so the original should work.
     
    If that approach fails or you don't mind having a second monster command you also could use this:
    - script mobspawn_restriction -1,{ OnInit: bindatcmd("monster2", strnpcinfo(3) + "::OnAtcommand"); .maxMobsPerSpawn = 5; end; OnAtcommand: if(getgmlevel() == 0) end; .@mobCount = (.@atcmd_parameters$[1] == "") ? 1 : atoi(.@atcmd_parameters$[1]); if(.@mobCount > .maxMobsPerSpawn) { dispbottom("You can't spawn more than " + .@mobCount + " mobs at a time."); end; } atcommand("@monster " + .@atcmd_parameters$[0] + " " + .@mobCount); end;} Can be used like @monster you just have to use @monster2 it ignores everything below gm level 1. If used by any gm it works like a restricted @monster. All you have to do is to restrict the original @monster command for gms below 60 in the groups.conf.
  24. Upvote
    mrlongshen reacted to Kuya Jeo in What is this prontera name ?   
    @@mrlongshen i saw this prontera somewhere in ratemyserver by olrox i think, or just search it on RMS and rAthena downloads
  25. Upvote
    mrlongshen reacted to Mystery in What is this prontera name ?   
    I have it uploaded on MC http://www.board.midgard-community.com/files/file/79-peaceful-prontera/ - Peaceful Prontera
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.