-
Content Count
403 -
Joined
-
Last visited
-
Days Won
10
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by Winterfox
-
I would recommend to search for another teleport script since the one you use seems kind of outdated and hard to read. If you wan't to use it and want help i would recommend to atleast align it properly so that it is readable and try to put a little more effort in explaining what exactly you want. It is hard to understand what you want, i mean i could guess but in the end it could be simply wrong.
-
It looks kind of bad for you since the only thing that would protect you from that scam is the ebay seller protection. This isn't eligible for seller protection since it falls under digital content and service. As stated on https://www.paypal.com/webapps/mpp/ua/useragreement-full?country.x=US&locale.x=en_US#11: I would try it anyway, but i wouldn't hold my hopes up high and would keep that in mind for the future.
-
I can't see any error that 4144 didn't mention before, but is it intended to use a temporary character variable? Since anyone could reset the @dead_pts variable just by returning to char select and log back in.
-
@@mrlongshen Well, i just don't know if the bindatcmd works on disabled @commands, in case it doesn't, i provided the other script, that implements it as a own command. I am looking forward to hear how it is working out.
-
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.
-
@@mrlongshen Didn't you see my last post? In http://pastebin.com/BU4kry6p this error shouldn't be there.
-
@@Dastgir I see thanks for the info. I thought it would work like that since the server didn't output a message if i directly tried to cast it like that and put it as array key afterwards. May i ask you something else too? I use the IDs of the mobs as array keys to have not have to loop trough the whole list when i want to find out if a certain mob is part of it. But i noticed that hercules seems to create as much elements as the biggest key i use, so i was wondering if it is a good idea to do it like that or if it is just better to use loops instead or if there is a way to prevent hercules from creating all this overhead elements. Nevermind, i didn't read the doc properly that getarraysize returns the biggest index and not the real count of items.
-
I still had a typo in this one. Check this version out: http://pastebin.com/BU4kry6p It automatically adds the MVPs now. .@mobIdListStr$ can be used to add custom monsters etc. .@mobFilterListStr$ can be used to exclude monsters. The syntax for both is like this.@mobIdListStr$ = "ID, ID, ID". Make sure to insert the space after every comma or it won't work properly. The other two variables stayed the same.
-
http://pastebin.com/j2LfhEwV You have to change the .@mobIds array to the ids of the mobs you want to give rewards for, in your case the MVPs. I am sorry for this inconvinience but i couldn't find a solution that can tell if a certain mob id is a mvp. :/ To adjust the amounts of cash points the player gets you can use .mobRewardPoints and pvpRewardPoints, just change it to your needs. The MVP one will announce it on all maps, the pvp on only on the according map.
-
Well... http://pastebin.com/p9V5sYf4 just replace the content of the file /npc/merchants/refine.txt with that paste. I am not sure if there is a specific Shadow Blacksmith, but i couldn't find one.
-
To transform you can use atcommand "@disguise monstername" if you want to use that with an item, you have to put that on the onequip script part. And to undo you can put atcommad "@undisguise" in the unequip part of the item. Additional stats are also part of the itemscript. You can find about how they work here: https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt What you want is the *bonus function. NVM, zhao has the better answer, i didn't know there was a disguise command.
-
Well, the check for the equipped items just checks the slots till the lower headgear which is number 10. The EQ you want to check for (the costumes) range from 11-14. If you want to make them refinable you will have to extend your blacksmith accordingly. For a list of which slots you can access you can go here: https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt and search for *getequipid(<equipment slot>). To add costumes you need to modify your refiner like this: setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3", "Costume Head Low", "Costume Head Mid", "Costume Head Top", "Costume Garment";.@menu$ = "";for(.@i = 1; .@i <= 14; ++.@i) { if(getequipisequiped(.@i)) { .@menu$ += .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; .@equipped = 1; } .@menu$ += ":";} You can find this refiner at: /npc/merchants/refine.txt If you also want to be able to refine shadow gear, you just have to extend the .@positions$ array by each equip slot and add it to the runs of the for loop which is currently 14 on line 616. But if you are lazy and want it quick just copy and replace the content of the refiner starting at line 614 with: setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3", "Costume Head Low", "Costume Head Mid", "Costume Head Top", "Costume Head Garment", "Shadow Armor", "Shadow Weapon", "Shadow Shield", "Shadow Shoes", "Shadow Accessory Right", "Shadow Accessory Left";.@menu$ = "";for(.@i = 1; .@i <= getarraysize(.@position$); ++.@i) { if(getequipisequiped(.@i)) { .@menu$ += .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; .@equipped = 1; } .@menu$ += ":";}
-
Isn't thast just a normal refiner that gives you a second chance if the upgrade fails? Atleast i didn't see anything about shadow gear.
-
Here is how i would do it, but be aware i didn't test it. So possibly have to fix slight mistakes. But you should be able to abstract what you need from it. prontera,150,150,5 script Sample 89,{ // if the random card id was never set or the timer exceeds 5 minutes, create a new random card id and reinit the timer. if(.randCID == 0 || ((getnpctimer(0) / 1000) / 60) >= 5) { .randCID = rand(1,494); initnpctimer; } npctalk "I'm missing a " + .allCNames$[.randCID] + ". I can offer " + .allCPoints[.randCID] + " premium points in return."; end; // Setup a internal database of all the cards. OnInit: .@[member=start] = 0; .@end = 128; // Fetch all cards from the database with workaround for the 128 entry limit. for(.@i = 1; .@i <= 4; .@i++) { if(.@i > 1) { .@[member=start] = (.@i - 1) * 128; .@end = .@i * 128; } .@cardQuery = query_sql("SELECT `cards`,`card_name`,`points`,`id` FROM `cards`",.@ccards,.@cnames$,.@cpoints,.@cids) + " LIMIT " + .@[member=start] + "," + .@end); for(.@y = 0; .@y < getarraysize(.@ccards); .@y++) { .allCards[.@cids[.@y]] = .@ccards[.@y]; .allCNames$[.@cids[.@y]] = .@cnames$[.@y]; .allCPoints[.@cids[.@y]] = .@cpoints[.@y]; } } end;}
-
You could checkout the script documentation first before you ask since it is well documented. You can find it here: https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt The answer you are searching for is:
-
Hi everyone, is there a way to dynamically influence mob stats either on spawn or afterwards? The only way i can think of would be to create copies of the monster with different stats and put a switch in front of the spawn command to get the most fitting one. But thats not a road i'd like to take so i am searching for a different alternative. I tried to check how the guardians in WoE do it, since their stats should be raisable based on guild investment, but i couldn't figure out if and where they are influenced. Any suggestions are welcome and thanks in advance.