Jump to content

Winterfox

Members
  • Content Count

    403
  • Joined

  • Last visited

  • Days Won

    10

Reputation Activity

  1. Upvote
    Winterfox got a reaction from REKT in Create restrictions to equip cards   
    @@Host32
     
    If the type thing is only for weapons you could check if the equip is a weapon with getiteminfo( .@equipmentId, 2 ), if its 4 its a weapon and to get the weapon type you can use getiteminfo( .@equipmentId, 14 ) that will return the view id of the item, but for weapons it determines what type they are. You can read that up here: http://herc.ws/wiki/Custom_Items
     
    Formatting here messes to much with that script, take a look here: http://pastebin.com/QR88u3Ss
  2. Upvote
    Winterfox got a reaction from rector in Refiner we all need??   
    @@rector
     
    http://herc.ws/board/topic/10308-configurable-refiner/
  3. Upvote
    Winterfox got a reaction from Andre Klose in Item changes Base Job   
    @@Andre Klose
     
    Wa-pa-pa-pa-pa-pa-pow!
  4. Upvote
    Winterfox got a reaction from universalserialbus in Card Gambler Girl   
    Hey guys,
     
    i once again want to share a little script i did.
     
    It's a card gambler that works like this:
     
    You pick how many rounds you want to play and which card you want.
    The Card Gambler Girl picks 5 random cards and puts the card you want at the bottom of the pile.
    If you don't like her random picked cards you can get her to pick new ones for a little extra free as long as you can afford it.
     
    Afterwards she throws 3 dice and if atleast 2 share the same number, you get the according card on the pile.
    She does that till you run out of paid rounds or won one card.
     
    You can find the source here: https://github.com/Reilaen/NPC-Releases/blob/master/card_gambler_girl.txt
     
    NOTES: Since i get ridiculously accused of "get rich quick schemes" by Emistry for using a linbucks link to get a little bit of money for each click so you the community and i have both something of this free release, please consider donating me a small amount if you really like this npc.   I will only will fix bugs that are issued on github. Custom changes are only done for pay based on my service conditions that are described here.
  5. Upvote
    Winterfox got a reaction from Andre Klose in Item changes Base Job   
    @@Andre Klose
    OnEquipScript: <" changebase Job_Novice; ">OnUnequipScript: <" changebase Class; ">
  6. Upvote
    Winterfox got a reaction from LucyCelles in Daily Beach Clean Quest   
    Hi everyone,
     
    i want to share a script with you that i made some days ago.
    It is  a daily quest that involves around gathering items to make a broom and clean dirt from a beach for a reward.
     
    For a broom you need the following items:
    120 Tough Vines
    4 Aloe Leaflet
    4 Soft Blade of Grass
     
    It gives following rewards upon completing the quest:
    10% - Beach Manteau and 250,000 Experience 10% - Beach Sandals and 150,000 Experience 20% - Fruit Mix and 250,000 Experience 30% - Fruit Mix and 150,000 Experience 30% - Fruit Mix and 50,000 Experience   You can find the source here: https://github.com/Reilaen/NPC-Releases/blob/master/beach_clean_quest.txt   NOTES: Since i get ridiculously accused of "get rich quick schemes" by Emistry for using a linbucks link to get a little bit of money for each click so you the community and i have both something of this free release, please consider donating me a small amount if you really like this npc.   I will only will fix bugs that are issued on github. Custom changes are only done for pay based on my service conditions that are described here.
  7. Upvote
    Winterfox got a reaction from Nagad in Exp values bugged??   
    There is no reason to doubt what Garr said. 
  8. Upvote
    Winterfox got a reaction from Nagad in Little problem with Interface buttons positioning   
    Did you check if you accidently put a transparent gap in the button while editing it?
  9. Upvote
    Winterfox got a reaction from rans in REQUEST- Comodo event/quest script   
    @@Ranz
     
    I decided to release some scripts i did for free. You can get the Daily Beach Clean Quest here: https://github.com/Reilaen/NPC-Releases/blob/master/beach_clean_quest.txt
  10. Upvote
    Winterfox got a reaction from REKT in Daily Beach Clean Quest   
    Hi everyone,
     
    i want to share a script with you that i made some days ago.
    It is  a daily quest that involves around gathering items to make a broom and clean dirt from a beach for a reward.
     
    For a broom you need the following items:
    120 Tough Vines
    4 Aloe Leaflet
    4 Soft Blade of Grass
     
    It gives following rewards upon completing the quest:
    10% - Beach Manteau and 250,000 Experience 10% - Beach Sandals and 150,000 Experience 20% - Fruit Mix and 250,000 Experience 30% - Fruit Mix and 150,000 Experience 30% - Fruit Mix and 50,000 Experience   You can find the source here: https://github.com/Reilaen/NPC-Releases/blob/master/beach_clean_quest.txt   NOTES: Since i get ridiculously accused of "get rich quick schemes" by Emistry for using a linbucks link to get a little bit of money for each click so you the community and i have both something of this free release, please consider donating me a small amount if you really like this npc.   I will only will fix bugs that are issued on github. Custom changes are only done for pay based on my service conditions that are described here.
  11. Upvote
    Winterfox got a reaction from Keru in Invalid menu selection on npc (after warp)   
    The issue is the reload of the npc after a warp, a possible workaround is this:
    FishPond, 63, 46, 6 script WarpTest 555,{ mes "I Will warp you!"; close2; charTeleported = 1; warp "FishPond", 64, 42; end; OnPCLoadMapEvent: if( !charTeleported ) end; charTeleported = 0; mes "So what happens here?"; switch(select("Something:Something else")) { case 1: mes "And now?"; close; break; case 2: mes "Menu option 2"; close; break; } end; OnInit: setmapflag "FishPond", mf_loadevent; end;}
  12. Upvote
    Winterfox got a reaction from JulioCF in [solved]Erro ao compilar emulador do Git   
    Try chmod +x sysinfogen.sh.
  13. Upvote
    Winterfox got a reaction from minx123 in koe give reward to all player when click exit npc   
    @@minx123
     
    I checked it and the only error i got was that the labels in the goto were named different than the actual labels.
    That seems to have slipped because it seems when i checked if the script still compiles, i copied a wrong one..
    It is weird you didn't get that before since i didn't even touch the labels before.
     
    Here is the fix i made, maybe it helps you to solve your error also.
     
    //===== eAthena Script ============================================//= King of Emperium Hill//===== By: =======================================================//= AnnieRuru//===== Current Version: ==========================================//= 1.0//===== Compatible With: ==========================================//= hercules 2014-02-18//===== Description: ==============================================//= defends the emperium in the middle of the map until times up//===== Topic =====================================================//= http://herc.ws/board/topic/4495-gvg-king-of-emperium-hill///===== Additional Comments: ======================================//= Finally there is a topic for this !//=================================================================- script KoE -1,{ OnInit: disablenpc "The King#KoE"; disablenpc "Exit#KoE"; bindatcmd "koe", strnpcinfo(0)+"::OnCommand", 99,100; end; OnCommand: if ( compare( .@atcmd_parameters$, "on" ) ) goto L_Start; else if ( compare( .@atcmd_parameters$, "off" ) ) goto L_End; else { dispbottom "type - '@koe on' to start the event"; dispbottom "type - '@koe off' to end the event"; } end; OnClock2200: // everyday 10pm starts L_Start: if ( .start ) end; gvgon "guild_vs1"; announce "The King of Emperium Hill has begun!", bc_all; .start = 1; enablenpc "The King#KoE"; disablenpc "Exit#KoE"; $koegid = 0; donpcevent "::OnRevKoE"; maprespawnguildid "guild_vs1", $koegid, 7; monster "guild_vs1",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead"; end; OnClock2300: // everyday 11.00pm ends L_End: gvgoff "guild_vs1"; announce "The King of Emperium Hill is over!", bc_all; .start = 0; enablenpc "Exit#KoE"; disablenpc "The King#KoE"; killmonsterall "guild_vs1"; // maprespawnguildid "guild_vs1", $koegid, 6; // uncomment this line to kick non-owner off the map when event ends end; OnEmpDead: $koegid = getcharid(2); announce "The current King of Emperium Hill is the ["+ strcharinfo(2) +"] guild.", bc_all; donpcevent "::OnRevKoE"; maprespawnguildid "guild_vs1", $koegid, 6; sleep 500; if ( .start ) monster "guild_vs1",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead"; end;}// KoE Entranceinvek,157,161,4 script The King#KoE 58,{ mes "[The King]"; if ( !getcharid(2) ) { mes "You must have a guild to participate in the ^FF0000King of Emperium Hill Tournament^000000."; close; } mes "Hello."; mes "Would you like to participate in the ^FF0000King of Emperium Hill Tournament^000000?"; if ( select ( "Yes", "No" ) == 2 ) close; switch( rand(1,4) ){ case 1: warp "guild_vs1", 50, 88; end; case 2: warp "guild_vs1", 88, 50; end; case 3: warp "guild_vs1", 50, 11; end; case 4: warp "guild_vs1", 11, 50; end; }}// KoE Exitguild_vs1,49,56,5 script Exit#KoE 51,{ mes "[Exit]"; mes "See ya."; close2; warp "Save",0,0; if ( $koegid && getcharid(2) == $koegid ) getitem 7227, 10; // configure prize here getitem 12903,1; getitem 12905,1; getitem 12904,1; getitem 12907,1; getitem 12906,1; getitem 12186,1; getitem 30225,3; end;}// Flagsguild_vs1,49,38,4 script King of Emperium Hill#1::koe_flag 722,{ if ( !$koegid ) end; mes "[King of Emperium Hill]"; mes "The Current King of Emperium Hill is the ["+ getguildname($koegid) +"] guild."; close;//OnInit: // Uncomment this line to make the emblem stay after @reloadscriptOnRevKoE: flagemblem $koegid; end;}guild_vs1,61,49,6 duplicate(koe_flag) King of Emperium Hill#2 722guild_vs1,38,49,2 duplicate(koe_flag) King of Emperium Hill#3 722guild_vs1,49,61,0 duplicate(koe_flag) King of Emperium Hill#4 722invek,160,156,3 duplicate(koe_flag) King of Emperium Hill#5 722guild_vs1 mapflag nobranchguild_vs1 mapflag nomemoguild_vs1 mapflag nopenaltyguild_vs1 mapflag noreturnguild_vs1 mapflag nosave SavePointguild_vs1 mapflag noteleportguild_vs1 mapflag gvg_nopartyguild_vs1 mapflag nowarpguild_vs1 mapflag nowarptoguild_vs1 mapflag guildlock
  14. Upvote
    Winterfox got a reaction from Nagad in @whosell   
    @@Nagad
     
    I tested it with the latest hercules and a client from 13.05.2015 and it seemed to work perfectly fine.
     
    Are you getting any errormessages?
  15. Upvote
    Winterfox got a reaction from Akaneharuka in RoBrowser play Ragnarok in the browser is it real ?   
    Yes, but as far as i know it doesn't support every feature there currently is, but it should be stable unless, just some features are not there.
  16. Upvote
    Winterfox got a reaction from Neferpitou in Shadow Blacksmith   
    @Neferpitou http://upaste.me/85c4210420a39acb8
  17. Upvote
    Winterfox got a reaction from mrlongshen in Disguise for hercules   
    @@mrlongshen I updated the whole script to current Hercules syntax. http://upaste.me/7c7f2108246c597cb
  18. Upvote
    Winterfox got a reaction from Nagad in Modify exp rates for specific class only   
    @@Nagad I made a update since i thought the checks could be done a little better. I noticed that i forgot to check if the boost is allready given. That means the script you currently use will allways apply the boost if the class is right even though its infinite anyway. The new version pre checks if it needs to change something and just exits if it doesn't. If it does it will either enable or disable the boost according to the class.
    - script FloatingClassRates -1,{ OnRefresh: OnPCLoginEvent: addtimer( 10000, strnpcinfo(3) + "::OnRefresh" ); .@boostActive = getstatus( SC_CASH_PLUSEXP, 0 ); .@classBonusApplies = ( Class == 10 || Class == 12 || Class == 16 || Class == 4046 || Class == 4047 || Class == 4048 || Class == 4049 || Class == 23 || Class == 24 || Class == 25 ); if( .@classBonusApplies && .@boostActive ) end; if( .@classBonusApplies ) sc_start( SC_CASH_PLUSEXP, -1, 100 ); else if( .@boostActive ) sc_end( SC_CASH_PLUSEXP );}
  19. Upvote
    Winterfox got a reaction from Nagad in Modify exp rates for specific class only   
    - script FloatingClassRates -1,{ OnRefresh: OnPCLoginEvent: if( Class == 10 || Class == 12 || Class == 16 || Class == 4046 || Class == 4047 || Class == 4048 || Class == 4049 || Class == 23 || Class == 24 || Class == 25 ) { sc_start( SC_CASH_PLUSEXP, -1, 100 ); } else if( getstatus( SC_CASH_PLUSEXP, 0 ) ) { sc_end( SC_CASH_PLUSEXP ); } addtimer( 60000, strnpcinfo(3) + "::OnRefresh" );} This way it will apply the boost if your class is right. If its wrong it will check if you have a active boost and disable it. In both cases will it add the timer. The purpose of this is that if a person changes his class to a fitting class or a non fitting class, it will be able to enable or disable the boost  in both directions.  
  20. Upvote
    Winterfox got a reaction from Nagad in Modify exp rates for specific class only   
    @@Nagad
    I am not sure if you can make the SC_CASH_PLUSEXP effect infinite by setting the tick to -1. I don't get why you set the exp bonus to zero though. But your class part is correct. 
     
    If you want it truly permanent and setting the tick to -1 and that 0 exp bonus work as intended everything should be allright.
     
    Be aware though: If someone changes his class to a class that isn't on the list he will have the bonus anyway.
     
    I would recommend to add check if a player has the status effect allready. This prevents the effect from beeing refreshed if it doesn't need to.
    - script FloatingClassRates -1,{ OnPCLoginEvent: if( !getstatus( SC_CASH_PLUSEXP, 0 ) && ( Class == 10 || Class == 12 || Class == 16 || Class == 4046 || Class == 4047 || Class == 4048 || Class == 4049 || Class == 23 || Class == 24 || Class == 25 ) ) sc_start( SC_CASH_PLUSEXP, -1, 0);}  
    If it doesn't work with tick set to -1 or you don't want a player to have the bonus when he changes his class to another that doesn't belong to the chosen ones i would go for:
     
    - script FloatingClassRates -1,{ OnRefresh: OnPCLoginEvent: // if player has the right class. if( Class == 10 || Class == 12 || Class == 16 || Class == 4046 || Class == 4047 || Class == 4048 || Class == 4049 || Class == 23 || Class == 24 || Class == 25 ) { // add a 1 minute 100% exp bonus sc_start( SC_CASH_PLUSEXP, 60000, 200 ); // set a timer 1 minute timer to refresh the bonus addtimer( 60000, strnpcinfo(3) + "::OnRefresh" ); }}
  21. Upvote
    Winterfox got a reaction from Nagad in Modify exp rates for specific class only   
    - script FloatingClassRates -1,{ // labels of times to enable floating rates. OnFri0000: .floatingClassRates = 1; end; // labels of times to end the floating rates. OnMon0000: .floatingClassRates = 0; end; OnRefresh: OnPCLoginEvent: // ignore it if the player allready has a exp bonus or the floating exp event is disabled. if( getstatus( SC_CASH_PLUSEXP, 0 ) || !.floatingClassRates ) end; // if player has the right class. if( .classes[ Class ] ) { // add a 1 minute 100% exp bonus sc_start( SC_CASH_PLUSEXP, 60000, 200 ); // set a timer 1 minute timer to refresh the bonus addtimer( 60000, strnpcinfo(3) + "::OnRefresh" ); } end; OnInit: // switch if the script is enabled at the server start .floatingClassRates = 0; // list of class ids setarray( .@classIds, 1, 2, 3, 4, 5 ); for( .@i = 0; .@i < getarraysize( .classIds ); .@i++ ) .classes[ .classIds[ .@i ] ] = 1; end;} This snippet will apply a exp bonus of 100% to a class given in the .@classids array on login that lasts 1 minute and refreshes every minute as long as the player doesn't allready have a running exp boost, a fitting class and the floating rates are enabled.
     
    I didn't test it so it might have a typo here and there. I cant say if it is a good idea to use the expoboost state from the cash shop items when you have also cash items. Neither do i know how hard the hit on performance will be when so many timers run every minute to check the class of a player etc. but i didn't find a better way to do it.
     
    At the end you should experiment with it and see if the results work for you.
  22. Upvote
    Winterfox got a reaction from mrlongshen 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;}
  23. Upvote
    Winterfox got a reaction from Akaneharuka in Are there anyway to import and make this item ?   
    @@Zhao Chow @@Akaneharuka
     
     [衣装] ビギナー帽 translates to [Costume] Beginner Cap. So i think that would be a bit better:
    ACCESSORY_Beginner_Hood = 2500,[ACCESSORY_IDs.ACCESSORY_Beginner_Hood] = "_ ºñ±â³Ê¸¶Å©", AegisName: "Beginner_Hood"Name: "Beginner Hood" unidentifiedDisplayName = "Beginner Hood",identifiedDisplayName = "Beginner Hood",
  24. Upvote
    Winterfox got a reaction from Akaneharuka in Are there anyway to import and make this item ?   
    { // =================== Mandatory fields =============================== Id: 50000 AegisName: "Beginner Item" Name: "Beginner Item" // =================== Optional fields ================================ Type: Item Type (int, defaults to 3 = etc item) Buy: Buy Price (int, defaults to Sell * 2) Sell: Sell Price (int, defaults to Buy / 2) Weight: Item Weight (int, defaults to 0) Atk: Attack (int, defaults to 0) Matk: Magical Attack (int, defaults to 0, ignored in pre-re) Def: Defense (int, defaults to 0) Range: Attack Range (int, defaults to 0) Slots: Slots (int, defaults to 0) Job: Job mask (int, defaults to all jobs = 0xFFFFFFFF) Upper: Upper mask (int, defaults to any = 0x3f) Gender: Gender (int, defaults to both = 2) Loc: Equip location (int, required value for equipment) WeaponLv: Weapon Level (int, defaults to 0) EquipLv: Equip required level (int, defaults to 0) EquipLv: [min, max] (alternative syntax with min / max level) Refine: Refineable (boolean, defaults to true) View: View ID (int, defaults to 0) BindOnEquip: true/false (boolean, defaults to false) ForceSerial: true/false (boolean, defaults to false) BuyingStore: true/false (boolean, defaults to false) Delay: Delay to use item (int, defaults to 0) KeepAfterUse: true/false (boolean, defaults to false) Trade: { (defaults to no restrictions) override: GroupID (int, defaults to 100) nodrop: true/false (boolean, defaults to false) notrade: true/false (boolean, defaults to false) partneroverride: true/false (boolean, defaults to false) noselltonpc: true/false (boolean, defaults to false) nocart: true/false (boolean, defaults to false) nostorage: true/false (boolean, defaults to false) nogstorage: true/false (boolean, defaults to false) nomail: true/false (boolean, defaults to false) noauction: true/false (boolean, defaults to false) } Nouse: { (defaults to no restrictions) override: GroupID (int, defaults to 100) sitting: true/false (boolean, defaults to false) } Stack: [amount, type] (int, defaults to 0) Sprite: SpriteID (int, defaults to 0){ Script: <"bonus bHit, 30; bonus bMaxHP, 1000; bonus bMaxSP, 200; skill 28, 1; skill 70, 1; skill 231, 1; skill 2051, 1; skill 2043, 1;"> OnEquipScript: <" OnEquip Script (can also be multi-line) "> OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">}}, It is important to give that item a high enough id so it doesn't collide with normal items. the important part for what you want is this:
    Script: <"bonus bHit, 30; bonus bMaxHP, 1000; bonus bMaxSP, 200; skill 28, 1; skill 70, 1; skill 231, 1; skill 2051, 1; skill 2043, 1;">
     
    bonus bHit, x; gives x additional hit.
    bonus bMaxHP, x; gives x additional hp.
    bonus bMaxSP, 200; gives x additional hp.
    skill x, y; gives skill x with level y.
     
    28 is heal, 70 is sanctuay, 231 is potion pitcher, 2051 is highness heal and 2043 is culoceo heal.
  25. Upvote
    Winterfox got a reaction from mrlongshen 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.
×
×
  • Create New...

Important Information

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