Jump to content

Winterfox

Members
  • Content Count

    403
  • Joined

  • Last visited

  • Days Won

    10

Reputation Activity

  1. Upvote
    Winterfox got a reaction from Begin in How to add New Map for Hercules Sever   
    Hi,
    1. You need to add your maps in these files: conf/map/maps.conf and db/map_index.txt.
    2. Add your grf(s) or data folder to conf/grf-files.txt.
    3. Build the mapcache plugin in the plugins folder. On linux you can use make plugin.mapcache and for windows you can follow this guide: http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC#New_Method
    4. To rebuild the cache as configured in the files above you can use map-server --load-plugin mapcache --rebuild-mapcache. To just add the maps separately you can use map-server --load-plugin mapcache --map <name>
     
  2. Upvote
    Winterfox got a reaction from Begin in Agit Denfed Ranking   
    I worked out a solution for the bugged agit_main_se.txt it can be found here: https://pastebin.com/kkuQfuwY
  3. Upvote
    Winterfox got a reaction from luizragna in How to make a link on quest ?   
    I can just point you to a tip since  i can not find the information how to do it, but it has possibly to do something with that system:
    If you're using a client from 2011-10-10aRagexe.exe onwards, you can also use automatic navigation and open URLs in browser by using some HTML-likelabels. For example: mes "go to <NAVI>[Hat Maker]<INFO>izlude,131,148,</INFO></NAVI> to make hats";Will make the [Hat Maker] text clickable in the client and start a navigation to that point. mes "You can <URL>Google<INFO>http://www.google.com/</INFO></URL> anything";Clicking Google will open the browser and point to Google website.
  4. Upvote
    Winterfox got a reaction from Tsuuu in How to delete all cashpoints?   
    You could make that a bit better like that:
    - script CashReset -1,{ OnPCLoginEvent: if( #CashReset ) end; #CASHPOINTS = 0; #CashReset = 1;} The table you are searching for is acc_reg_num_db where account_id is the account of the user of course, key is #CASHPOINTS and value is the current amount of cashpoints the user has. If there is no entry for a specific user that means he has 0.
     
    The same applies to kafra points you just have to switch the key to #KAFRAPOINTS.
     
    Instead of a script you also could use this sql query to delete all cashpoints:
    DELETE FROM acc_reg_num_db WHERE key = "#CASHPOINTS"
  5. Upvote
    Winterfox got a reaction from Kaminitsu in [REQ] New Donation System   
    @@rector
     
    prontera,166,207,4 script Flux Point Shop 4_M_YOUNGKNIGHT,{ openshop; end; OnInit: setarray .@itemIds,501, 502, 503; setarray .@itemPrices, 1, 1, 1; tradertype( NST_CUSTOM ); for( .@i = 0; .@i < getarraysize( .@itemIds ); .@i++ ) sellitem .@itemIds[ .@i ], .@itemPrices[ .@i ]; end; OnCountFunds: query_sql "SELECT balance FROM cp_credits WHERE account_id = " + getcharid( 3 ), .@balance; setcurrency( .@balance ); end; OnPayFunds: query_sql "SELECT balance FROM cp_credits WHERE account_id = " + getcharid( 3 ), .@balance; if( .@balance < @price ) end; query_sql "UPDATE cp_credits SET balance = balance - " + @price + " WHERE account_id = " + getcharid( 3 ); purchaseok(); end;}
  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 Aeromesi in What do you think? about Map Designer   
    I think it isn't fair to use that post as example for someone that is a famewhore.
     
    There is a difference between someone that is all about fame and someone that is so insecure that he falls in a hole just because he feels like he is not recognized at all and seeks a explanetion. I remember that conversation and i would say it was more about a insecure person that felt like he has nothing to give and felt sad because that what he gave didn't get recognized at all. Not because he didn't get enough fame.
    But your definition looks pretty right to me, except there are also mixes. People that have a passion for a thing but are also about making money etc. It is not that all black and white, there are a lot of shades in between.
     
    I guess it depends on the person you have a deal with, it is quiet tempting to get your development costs paid and afterwards you sell it to the masses or release it for free for free promotion in the community.
     
    This real face and proof thing is nonsense by the way, it is simple to fake and what will you do with it at all? Proof that someone is a scammer? He could allways claim it's faked. If that doesn't work out, he just would change his name and start all over if shit hits the fan. I doubt you will try to sue him, it would cost more then what most people pay for by far and given the country barrier it would be far worse, so having that data is worth nothing.
     
    I think the only way to be sure is to check the reputation of that person on boards like herc.ws, where people comment on services etc. It might not be 100% secure, but it is the only way that makes sense. 
  8. Upvote
    Winterfox got a reaction from minx123 in [REQ] New Donation System   
    @@rector
     
    prontera,166,207,4 script Flux Point Shop 4_M_YOUNGKNIGHT,{ openshop; end; OnInit: setarray .@itemIds,501, 502, 503; setarray .@itemPrices, 1, 1, 1; tradertype( NST_CUSTOM ); for( .@i = 0; .@i < getarraysize( .@itemIds ); .@i++ ) sellitem .@itemIds[ .@i ], .@itemPrices[ .@i ]; end; OnCountFunds: query_sql "SELECT balance FROM cp_credits WHERE account_id = " + getcharid( 3 ), .@balance; setcurrency( .@balance ); end; OnPayFunds: query_sql "SELECT balance FROM cp_credits WHERE account_id = " + getcharid( 3 ), .@balance; if( .@balance < @price ) end; query_sql "UPDATE cp_credits SET balance = balance - " + @price + " WHERE account_id = " + getcharid( 3 ); purchaseok(); end;}
  9. Upvote
    Winterfox got a reaction from minx123 in random box with announce get item   
    @@minx123
    Checkout /db/re/item_packages.conf, that should be what you are searching for.
  10. Upvote
    Winterfox got a reaction from mrlongshen in PVP rest time   
    @@mrlongshen
    prontera,165,177,3 script PVP Warper 1_M_MOC_LORD,{ if ( !agitcheck() || !agitcheck2() ) { if( gettimetick( 2 ) < PVPCD ) { dispbottom "You need to rest for 5 minutes."; end; } if ( select( "Yes!", "No thanks.") == 2 ) close; warp "guild_vs5",0,0; announce strcharinfo(0) + " has entered the PVP Room.",0; announce "There are ["+getmapusers("guild_vs5")+"/30] players inside.",0; } end; OnPCKillEvent: if ( strcharinfo( PC_MAP ) != "guild_vs5" ) end; if( PVPKilltarget == killedrid ) { PVPTargetKillCount++; } else { PVPKilltarget = killedrid; PVPTargetKillCount = 1; } if( PVPTargetKillCount == 5 ) { PVPCD = gettimetick( 2 ) + 300; PVPKilltarget = 0; PVPTargetKillCount = 0; warp "prontera",0,0; }}
  11. Upvote
    Winterfox got a reaction from AnnieRuru in How to delete all cashpoints?   
    You could make that a bit better like that:
    - script CashReset -1,{ OnPCLoginEvent: if( #CashReset ) end; #CASHPOINTS = 0; #CashReset = 1;} The table you are searching for is acc_reg_num_db where account_id is the account of the user of course, key is #CASHPOINTS and value is the current amount of cashpoints the user has. If there is no entry for a specific user that means he has 0.
     
    The same applies to kafra points you just have to switch the key to #KAFRAPOINTS.
     
    Instead of a script you also could use this sql query to delete all cashpoints:
    DELETE FROM acc_reg_num_db WHERE key = "#CASHPOINTS"
  12. Upvote
    Winterfox got a reaction from mrlongshen in How to delete all cashpoints?   
    You could make that a bit better like that:
    - script CashReset -1,{ OnPCLoginEvent: if( #CashReset ) end; #CASHPOINTS = 0; #CashReset = 1;} The table you are searching for is acc_reg_num_db where account_id is the account of the user of course, key is #CASHPOINTS and value is the current amount of cashpoints the user has. If there is no entry for a specific user that means he has 0.
     
    The same applies to kafra points you just have to switch the key to #KAFRAPOINTS.
     
    Instead of a script you also could use this sql query to delete all cashpoints:
    DELETE FROM acc_reg_num_db WHERE key = "#CASHPOINTS"
  13. Upvote
    Winterfox got a reaction from mrlongshen in How to delete all cashpoints?   
    @@mrlongshen
    #CASHPOINTS = 0;
  14. Upvote
    Winterfox reacted to Anisotropic Defixation in *setmobdata & *getmobdata   
    Didn't rA have this already?
     
    http://herc.ws/board/topic/8974-script-command-setmobdata-getmobdata/
     
    https://github.com/rathena/rathena/commit/2cee5b6
     
    Seems more complete and people wanted it merged. I also dislike plugins myself.
  15. Upvote
    Winterfox got a reaction from minx123 in custom warper help me fix   
    @@minx123
     
    You should read the scripting guide more thoroughly things like that are plain wrong:
    shop: warp "sky_quest" ,45,52; If you want any meaningfull help on your script you should describe what your custom warper shall do exactly. There is something going on about 2 waiting rooms and a warp, but it is pretty ambiguous what the purpose of all this is.
  16. Upvote
    Winterfox got a reaction from AnnieRuru in Instance limits?   
    @@Aeromesi
     
    When you switch back to original values you should set the realXXX to 0 so that they get destroyed while they are not used.
    Also i would recommend to load / save the sao variables manually via mysql up on entering / leaving the vr, since having too many char variables can tax the performance, atleast if you have many players and many of them play in your vr.
     
    The only hard part i guess will be how to handle a crash of your server or instance for whatever reason, regardless of method you use to save the values.
  17. Upvote
    Winterfox got a reaction from Fou-lu in So to save password Hash   
    @@Pedroooo
     
    It is used to change a password in a another word noone knows to save it in your database so that in case someone retrieves your database doesn't know the passwords of your users. Hashes are a one way encryption so you can't revert it to the original password.
     
    The problem is that hashing alone doesn't do that good anymore, the widely used md5 for exampl isn't that safe anymore and there exist big rainbow tables for it that hackes can run against your hashes to get the actual passwords.
     
    The recommended way is to salt the hashes. That means to add a unique random string to the password while hashing it and store that random string with the hash. Adding the salt to the hash ensures that every hash is unique even if the same password is used and rainbow tables will be useless since rainbow tables would need to have hashes that are generated with the same salt and password. Given that people are required to use decent passwords in combination with the mentioned salting it will take pretty long to even get even one password not to say all passwords there are in a stolen database.
  18. Upvote
    Winterfox got a reaction from keough in [R] Make this script compatible to Hercules   
    @@keough
     
    This should be a representation of your script in Hercules. Please be aware that i didn't test it though, so you should thoroughly test it. If you find any issues you can report them of course.
     
    prt_in,285,167,3 script "Dinorah Lacostt" 4_F_LGTGIRL,{ mes "[Stylist Dinorah Lacostt]"; mes "Heeeeeello~wooooooooo. I am"; mes "a stylist who can change your"; mes "clothes to match your"; mes "unique style~ uh-huh!"; next; mes "[Stylist Dinorah Lacostt]"; mes "If you give me a"; mes "^FF0000New Clothing Dye Coupon^000000,"; mes "I'll change the color"; mes "of your clothes~"; next; mes "[Stylist Dinorah Lacostt]"; mes "And if you give me an"; mes "^FF0000Original Clothing Dye Coupon^000000,"; mes "I'll change the color"; mes "of your clothes..."; mes "back to the original!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Ah, you should be advised that"; mes "^FF0000if you change your job^000000"; mes "^FF0000after you've dyed your clothes,^000000"; mes "^FF0000the original color will be shown^000000"; mes "^FF0000on the screen. But if you relog,^000000"; mes "^FF0000you can see the dyed color again.^000000"; next; mes "[Stylist Dinorah Lacostt]"; mes "^FF0000And one more thing!!^000000"; mes "^FF0000We have only one color for^000000"; mes "^FF0000each job class. So, if you^000000"; mes "^FF0000dye twice, the color will be^000000"; mes "^FF0000the same. It would be useless.^000000"; next; mes "[Stylist Dinorah Lacostt]"; mes "Uh-huh~ Now, I told"; mes "you everything."; mes "Tell me what you want~"; next; switch( select( "Dye clothes.:Restore original color.:Stop talking." ) ) { case 1: if( countitem( Clothing_Dye_Coupon ) > 0 ) { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon, 1; setlook LOOK_CLOTHES_COLOR, 2; close; } else { mes "[Stylist Dinorah Lacostt]"; mes "No-ou~ You don't have"; mes "a ^FF0000New Clothing Dye Coupon^000000~"; mes "Please visit me again"; mes "after you get one~"; close; } break; case 2: if( countitem( Clothing_Dye_Coupon2 ) > 0 ) { if( ( Class == EAJ_NOVICE ) || ( Class == EAJ_SWORDMAN ) || ( Class == EAJ_THIEF ) || ( Class == EAJ_MAGE ) || ( Class == EAJ_MERCHANT ) || ( Class == EAJ_ARCHER ) || ( Class == EAJ_ACOLYTE ) ) { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon2, 1; setlook LOOK_CLOTHES_COLOR, 0; close; } else if( ( Class == EAJ_KNIGHT ) || ( Class == EAJ_CRUSADER ) || ( Class == EAJ_ASSASSIN ) || ( Class == EAJ_ROGUE ) || ( Class == EAJ_PRIEST ) || ( Class == EAJ_MONK ) || ( Class == EAJ_HUNTER ) || ( Class == EAJ_BARD ) || ( Class == EAJ_DANCER ) || ( Class == EAJ_WIZARD ) || ( Class == EAJ_SAGE ) || ( Class == EAJ_BLACKSMITH ) || ( Class == EAJ_ALCHEMIST ) ) { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon2, 1; setlook LOOK_CLOTHES_COLOR, 0; close; } else { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon2, 1; setlook LOOK_CLOTHES_COLOR, 0; close; } } else { mes "[Stylist Dinorah Lacostt]"; mes "No-ou~ You don't have an"; mes "^FF0000Original Clothing Dye Coupon^000000~"; mes "Please visit me again"; mes "after you get one~"; close; } break; case 3: mes "[Stylist Dinorah Lacostt]"; mes "Visit me again if"; mes "you change your mind~~"; close; break; }}
  19. Upvote
    Winterfox got a reaction from chryxt in another problem related making server-side   
    @@chryxt
     
    As the error said it can't find conf/maps.conf or conf/import/map_conf.txt.
    Without one of those it doesn't know what to do so of course it errors. You have to make sure that one of those files exists and is in the right directory.
  20. Upvote
    Winterfox got a reaction from mrlongshen 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.";}
  21. Upvote
    Winterfox got a reaction from Alexandria in NPC - Random item   
    @@Alexandria
     
    How about something like this:
     
    .@chance = rand( 1,100 );if( .@chance <= 60 ) { .@reward = 0;} else if( .@chance <= 90 ) { .@reward = 2;} else { .@reward = 4;}.@reward = .rewardIds[ ( .@reward + rand( 2 ) ) ];getitem .@reward, 1; announce strcharinfo( PC_NAME ) + " has been rewarded with " + getitemname( .@reward ) + "!", bc_all; end; OnInit:.rewardIds = 5474, 5137, 5766, 5786, 5074, 5132;
  22. Upvote
    Winterfox got a reaction from Alexandria in NPC - Random item   
    @@Alexandria
     
    Sure, just a stupid mistake i made
    .@chance = rand( 1,100 ); if( .@chance <= 60 ) { .@reward = 0; } else if( .@chance <= 90 ) { .@reward = 2; } else { .@reward = 4; } .@reward = .rewardIds[ ( .@reward + rand( 2 ) ) ]; getitem .@reward, 1; announce strcharinfo( PC_NAME ) + " has been rewarded with " + getitemname( .@reward ) + "!", bc_all; end; OnInit: setarray .rewardIds, 5474, 5137, 5766, 5786, 5074, 5132;  
    .
  23. Upvote
    Winterfox reacted to Garr in All monster drops specific item with blacklist mobs   
    Yup, sleep2 returns a bool if the player is still attached. The problem is, in this case as there would be no player attached it'll return 0 and it won't even run the cycle.
  24. Upvote
    Winterfox got a reaction from minx123 in Not detect MVP Revive or dead   
    @@minx123
     
    Keep in mind when using mobcount():
     
    This is no bugfix but a slight update for better readability and a conversion to hercules syntax:
    http://pastebin.com/pVdpp50y
  25. Upvote
    Winterfox got a reaction from minx123 in item 12622 not funtion   
    Don't you mean setcashmount; instead of setmounting()? There is no setmounting command on hercules.
×
×
  • Create New...

Important Information

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