Jump to content

KirieZ

Core Developers
  • Content Count

    211
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by KirieZ


  1. File Name: Configurable Refiner

    File Submitter: KirieZ

    File Submitted: 02 Aug 2015

    File Category: Utility

     

    This is a configurable refiner that I made after reading the request from this topic.

     

    It contains the following options (all of them configurable):

    • Normal refine
    • Refine N times at once (It's possible to allow this for a different group)
    • Set different zeny and item requirements based on item's WeaponLv field
    • Display information about the refine like: the safe refine and the chance of the next level.
    • Allow the usage of items that increase the success chance
    • Allow the usage of items that avoids the item from being destroyed when the refine fails
    • (2.0) Ask if want to use items to protect / increase refine chance
    • (2.0) Define custom effects when refine fails: stay as is, decrease one level or go back to +0

    Everything is configurable at the end of the script.

     

    I made some tests and it seems to be working correctly, if you run into any bug or wants to suggest a new feature, please let me know and I'll see what I can do.

     

    Click here to download this file


  2. You can use something like that:

     

    -	script	WoePrize	-1,{	OnAgitEnd:	OnAgit2End:		.@castleMap$ = "prtg_cas01";				.@guildId = getcastledata(.@castleMap$, 1);		.@guildMasterId = getguildmasterid(.@guildId);				query_sql("SELECT `account_id` FROM `char` WHERE `char_id` = " + .@guildMasterId, .@guildMasterAccId);				getitem Apple, 1, .@guildMasterAccId;	end;}

    But it will give the item to any character logged in the guild master account (not necessarily the guild master), and if the guild master is not online in any of his characters, this will not work, you'll have to store it somewhere and give it when he logs in.

    Maybe with attachrid you can get some better results by checking if the player is online as the guild master and if not do something different.

     

    Hope it helps


  3. Hello everyone,

    I would like to know if it's possible to get all the players who "helped" killing a monster, instead of only the one who killed it.

    Like OnNPCKillEvent, but instead of running on one player, to run on all of them.

     

    Does it needs changes in the source? Can you give me some tips from where to start?

     

    Thanks in advance.


  4. Hello everyone,

     

    I'm wondering about how much can I increase the number of characters per account and storage size until I reach the client or server limit?

    I did some search but could only find old topics from rA / eA and as far as I saw hercules did some upgrades in this part.

     

    Thanks in advance.


  5. Hello everybody,

    today I was writting a script and noticed that monster command has an AI parameter:

    script_commands.txt

     

    But I couldn't manage to understand what it does, I tried spawning a Poring with AI = 1, expecting that it would be aggressive but nothing different happened, can someone explain what this parameter really does?

     

    Thanks in advance.

     


  6. I'm not completely sure, but I think that these specific labels from Endless Tower doesn't give you the killedrid, so you'll have to change the labels called when MVPs inside it are killed and do your own handling.

     

    Something like:

    areamonster .@map$,352,9,362,45,"Baphomet",1039,1,.@label$+"MVP";

    and:

    OnMyMobDeadMVP:	[ Do your MVP things here ]	.@map$ = instance_mapname("1@tower");	.@mob_dead_num = mobcount(.@map$,instance_npcname("#1F Controller")+"::OnMyMobDead");	if (.@mob_dead_num < 1) {		initnpctimer;		//SetItemPartyInMap in_102floor 1	} else		mapannounce .@map$, "Remaining Monsters on the 1st Level - "+.@mob_dead_num,bc_map,"0x00ff99";	end;

    Make sure to check every labels, because there are more than one.


  7.  

    Really good!

     

    Not sure if it's only here but I can't open the .pot file in POEdit, it shows more than a hundred errors due to unescaped " in NPC messages, when strings get exported they are not being saved with before quotes.

     

    @edit:

    I'm doing the following:

    Open POEdit -> Create new Translation -> Selected generated_translations.pot

     

    you don't need to create a new translation, just assign .po files to be opened with poedit and open the generated po file

    Thanks, it works although when I save it says that there are 20 errors (I can't find the red lines, too big file :P)


  8. Really good!

     

    Not sure if it's only here but I can't open the .pot file in POEdit, it shows more than a hundred errors due to unescaped " in NPC messages, when strings get exported they are not being saved with before quotes.

     

    @edit:

    I'm doing the following:

    Open POEdit -> Create new Translation -> Selected generated_translations.pot


  9.  

    This might help you solve with your problem -> http://herc.ws/board/topic/325-resolved-is-hercules-support-pre-renewal/

    Sir thank you but I already know how to disable the renewal mechanics. I'm asking on how to disable new maps.

    I've not tested but it probably works:

    Go to your db folder and open map_index.txt, comment the maps you don't want to have in your server, then go to conf/maps.conf and comment them too.

    (Maybe you'll have to remake your makecache)

     

    For cities on @go you'll have to edit the source:

     

    Open src/map/atcommand.c and find this:

    ACMD(go)

    Comment the lines with cities that you don't want and recompile, probably this will change the @go number of maps that came after the commented lines.

     

    If the map that you want is from places that have portal to, you have to disable these portals in their scripts.

     

    I hope it helps


  10. If I remember well, @mount2 was used to mount/unmount cash mounts, if this is the case, the new(?) command is @cashmount.

    @edit

    About the black squares I'm not sure, but is this a official or a custom map? If it's the latter, check if it doesn't use custom texture that has these black squares, its texture must be somewhere in your data/texture folder.


  11. Hello everybody,

    I'm moving my server to a Host, but whenever I run it, it displays lots of Warning about setsocketopts, this is one of them:

    [Warning]: setsocketopts: Unable to set SO_REUSEPORT mode for connection #6![Warning]: setsocketopts: Unable to set TCP_THIN_LINEAR_TIMEOUTS mode for connection #6![Warning]: setsocketopts: Unable to set TCP_THIN_DUPACK mode for connection #6!

    I can connect and everything, but letting these warnings doesn't feel right.

    What can I do? Thanks in advance


  12. Hello everybody,

    I'm trying to write some plugins to learn how it works but I got the following problem:

    I've used addBattleConf to make some confs, they work perfectly through the code, but I can't show them at a NPC (using getbattleflag command), is there a way to do it or it needs a new script command?

     

    Thanks in advance. (not sure if I've posted in right section)


  13. I found a "workaround", (I hope I'm not breaking any rule for double posting in less than 24h)

     

    It seems that it is not possible to just duplicate the shop, so I made a function that all of these shops call when they init.

     

    Code:

     

     

    function	script	SetupShop	{	.@i = 400 + rand(0,10);	sellitem Red_Potion, .@i;	waitingroom "id: " + strnpcinfo(2) + " ; " + .@i, 0;	return;}prontera,164,170,4	trader	MyNpc#1	101,{OnInit:	callfunc("SetupShop");end;}prontera,164,168,4	trader	MyNpc#2	101,{OnInit:	callfunc("SetupShop");end;}prontera,164,166,4	trader	MyNpc#3	101,{OnInit:	callfunc("SetupShop");end;}prontera,164,164,4	trader	MyNpc#4	101,{OnInit:	callfunc("SetupShop");end;}prontera,164,162,4	trader	MyNpc#5	101,{OnInit:	callfunc("SetupShop");end;}

     

     


  14. Hello,

     

    I was wondering if this was possible to do, cuz if it is, it would be really awesome.

    If

    you have ever played Trickster Online, the quest setup was like this:

    When you're in a party and you do monster hunting quests and if all the

    members in your party are doing the same quest as you, the kill count

    will apply to all the members.

     

    So for example: Player A

    is doing a quest to kill 100 porings, Player B joins in the party and

    they are able to help each other out by killing porings together. When

    Player A kills a poring, not only A but B also gets the kill count.

     

    Is this something that has to be done through src? If so please move this topic to the proper section.

    I only want to do this for monster hunting quests.

     

    I hope this is possible to do >.<

    Thank you in advance!

     

     

    If you are using the quest system (db_quest) it automatically share with others from the party who were in the same map.

    (Example: npc/pre-re/quests/collection/quest_fabre.txt - must be around level 10 to talk to npc at gef_fild07 321, 193)


  15. Hello everybody,

    While doing some tests with the trader npc,  I noticed that when I duplicate my trader, if I change the item list of one, all of them are affected.

     

    For example:

    -    trader    MyNpc#id    -1,{OnInit:    .@i = 400 + rand(0,10);    sellitem Red_Potion, .@i;    waitingroom "id: " + strnpcinfo(2) + " ; " + .@i, 0;end;}prontera,164,170,4    duplicate(MyNpc#id)    MyNpc#1    101prontera,164,168,4    duplicate(MyNpc#id)    MyNpc#2    101prontera,164,166,4    duplicate(MyNpc#id)    MyNpc#3    101prontera,164,164,4    duplicate(MyNpc#id)    MyNpc#4    101prontera,164,162,4    duplicate(MyNpc#id)    MyNpc#5    101

    This was a test to get 5 shops that sells the same thing but with different prices, but when testing, all of them have the same sell value (but the chat room is different).

     

    Is there a way to make each duplicate have a different item list? Thanks in advance.

     


  16. I might be wrong, but I think autobonus only triggers when attacking or being attacked:

     

    From docs/script_commands.txt:

    *autobonus <bonus script>,<rate>,<duration>{,<flag>,{<other script>}};*autobonus2 <bonus script>,<rate>,<duration>{,<flag>,{<other script>}};*autobonus3 <bonus script>,<rate>,<duration>,<skill id>,{<other script>};*autobonus3 <bonus script>,<rate>,<duration>,"<skill name>",{<other script>};What these commands do is 'attach' a script to the player which will getexecuted on attack (or when attacked in the case of autobonus2). 

    If you want to have it being triggered when attacking, maybe you are not getting it triggered because the chance is very small (0,10% I think)?

     

    And your bonus heals 1 point of HP, maybe you are not noticing it

     

    From docs/item_bonus.txt

    bonus2 bHPRegenRate,n,x;		  Gain n HP every x milliseconds

    If you want to try a higher chance, I edited your script to test here: (It heals 1000 of HP, though I'm not sure about the rate, but is more frequent)

    autobonus "{ bonus2 bHPRegenRate,1000,10000; }",5000,10000,BF_MAGIC,"{ specialeffect2 EF_HEAL; }";

    Sorry, but I can't help more than this because I've never used these commands


  17. Hello everybody,

    I would like to know if there is a way to make new constants for scripts, I tried to add some values to db/const.txt and they worked, but I'm not sure if it's good to do this haha.

    I thought about having a script that sets global variables ($@name and $@name$) inside a OnInit label too, but I'm not sure about the performance as the number of variables increases.

     

    So, is there any other way, or a better option between these two? Thanks in advance and sorry for english errors.

×
×
  • Create New...

Important Information

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