Jump to content

Winterfox

Members
  • Content Count

    403
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Winterfox

  1. @@aznguy212 Since these limits are hard coded in the client if there is no diff patch that automatizes the process, the only other way would be to hexedit it yourself manually.
  2. @@latheesan Did you change your mmo.h to the right packet version? You can find it here: https://github.com/HerculesWS/Hercules/blob/master/src/common/mmo.h Change: #ifndef PACKETVER #define PACKETVER 20141022#endif // PACKETVER to: #ifndef PACKETVER #define PACKETVER 20130814#endif // PACKETVER
  3. @@aznguy212 I think you will need to enable that via a diff patch, that modifies the value treshould that disables the clients exp bar.
  4. @@Andre Klose Wa-pa-pa-pa-pa-pa-pow!
  5. I think you will have to remove them by hand. I don't think there is a option to simply disable them via config. If you want to make a legacy server why don't you just use eAthena? They didn't implement any of the new features at all.
  6. @@Andre Klose OnEquipScript: <" changebase Job_Novice; ">OnUnequipScript: <" changebase Class; ">
  7. @@vijay There are only 2 possible reasons for this, either the monster is on the restricted list or the login you use doesn't have a gm level above 90.
  8. - script Strict -1,{ OnInit: setarray .mob_restriction$, 1646, 1647, 1648, 1649, 1650, 1651, 1751, 1708; bindatcmd "monster", strnpcinfo( 3 ) + "::OnExe", 0, 99; end; OnExe: if ( compare( implode( .mob_restriction$, ":" ), .@atcmd_parameters$[0] ) || getgmlevel() < 90 ) { dispbottom "You cannot summon this monster"; end; } set .@monster_id, atoi( .@atcmd_parameters$[0] ); if ( getmonsterinfo( .@monster_id, MOB_NAME ) != "null" ) { set .@amount, atoi( .@atcmd_parameters$[1] ); atcommand "@monster " +.@monster_id + " " + ( !.@amount ? 1 : .@amount ); } end;}
  9. Seems like 3CeAm doesn't have the bindatcmd. You will have to search for a source mod to add it.
  10. @@vijay Try this: - script Strict -1,{ OnInit: setarray .mob_restriction$, 1646, 1647, 1648, 1649, 1650, 1651, 1751, 1708; set .size, getarraysize( .mob_restriction$ ); bindatcmd "monster", strnpcinfo( 3 ) + "::OnExe", 0, 99; end; OnExe: if ( compare( implode( .@mob_restriction$, ":" ), .@atcmd_parameters$[0] ) || getgmlevel() < 90 ) { dispbottom "You cannot summon this monster"; end; } set .@monster_id, atoi( .@atcmd_parameters$[0] ); if ( getmonsterinfo( .@monster_id, MOB_NAME ) != "null" ) { set .@amount, atoi( .@atcmd_parameters$[1] ); atcommand "@monster " +.monster_id + " " + ( !.@amount ? 1 : .@amount ); } end;} It might be possible there is still something hercules exclusive, so if you get errors just report back.
  11. Well you don't need it, it adds the script you are currently running to the instance. I don't see a point in doing so. instance_attach <instance id>;Attaches the current script to the instance given by <instance id>.
  12. The mistake you made was this: instance_attachmap("payon", .@instance, 1, "payon2");if( instance_attachmap("payon2", .@instance) == "" ) Needs to be: if( instance_attachmap("payon", .@instance, 1, "payon2") == "" ) The reason why you have to attach the map like this is the following: Before you start, you have to choose the map, that you want to have instanced. Various restrictions are put on the map names on client-side. If you ignore them, the client usually crashes upon entering the instanced map.Only maps, that begin with a number and @ (e. g. 1@tower) are recognized as instance map by the client. If you want to use a map, that does not match this naming scheme, just must attach it with emulation (parameter <use basename> in command instance_attachmap), which makes the client think, that it is on the actual map, instead of an instance.Map name length limitations:For emulated instance maps you cannot use maps, whose names are longer than 7 characters, because the instance map name is composed of 3 digits, followed by # and the original map name.For client-recognized instance maps, the map name limit is 8 characters, because the instance map name is composed of 3 digits and the original map name. The 1 sets the emulation to 1 and the second parameter sets the name for the instance map, since it would confuse the server if you would use a real existing map.
  13. @@Aeromesi Wait, ill check it on my server to see what happens there.
  14. @@Aeromesi Did you try it with emulation like this? instance_attachmap("payon", .@instance, 1, "payon2") if that works you need to change the warp like this: warp "payon2", 150, 150;
  15. I wouldn't recommed to remove parts of scripts that you don't understand. Even if they give you errors, it could lead to even more errors and mostly won't really solve anything even though you don't get errors. What this line does is, since OnPCLogoutEvent is started on every logout regardless of the map, it checks if you are on a pvp map and reverts the characters level. It might not be important, since when you relog you will end on the same map anyway, but i added it to prevent possible vulnerabilities there might be, that i didn't think of. I also found the mistake, it was a variable i named wrong. - script PVP_LEVEL_UP -1,{ OnInit: setarray .maps$, "pvp1", "pvp2", "pvp3"; setarray .minLevel, 99; for( .@i = 0; .@i < getarraysize( .maps$ ); .@i++ ) setmapflag .maps$[ .@i ], mf_loadevent; end; OnPCLoadMapEvent: getmapxy( .@map$, .@x, .@y, 0 ); if( !compare( implode( .maps$, ":" ), .@map$ ) ) end; if( BaseLevel < .minLevel ) { PVPLP_TRUE_LEVEL = BaseLevel; atcommand "@blvl " + .minLevel - BaseLevel; } end; OnPCLogoutEvent: callfunc( "PVPLP_revertLevel" ); end;} function script PVPLP_revertLevel { getmapxy( .@map$, .@x, .@y, 0 ); if( !compare( implode( .@maps$, ":" ), .@map$ ) ) end; atcommand "@blvl " + PVPLP_TRUE_LEVEL - BaseLevel;}
  16. @@Garr I didn't really test it thorougly so it that might be possible. Even though i believe @blevel manages those points on level down or doesn't it? It is more of a example and less of a usable solution.
  17. What skills do you mean? I can't find either "Paint Trap" or "Frensesi Trap", even if i google those. It seems to be a bug if you really can use them outside of pvp/gvg against other players.
  18. Something i quickly hacked together, not sure if it works 100%: - script PVP_LEVEL_UP -1,{ OnInit: setarray .maps$, "pvp1", "pvp2", "pvp3"; setarray .minLevel, 99; for( .@i = 0; .@i < getarraysize( .maps$ ); .@i++ ) setmapflag .maps$[ .@i ], mf_loadevent; end; OnPCLoadMapEvent: getmapxy( .@map$, .@x, .@y, 0 ); if( !compare( implode( .@maps$, ":" ), .@map$ ) ) end; if( BaseLevel < .minLevel ) { PVPLP_TRUE_LEVEL = BaseLevel; atcommand "@blvl " + .minLevel - BaseLevel; } end; OnPCLogoutEvent: callfunc( "PVPLP_revertLevel" ); end;}function script PVPLP_revertLevel { getmapxy( .@map$, .@x, .@y, 0 ); if( !compare( implode( .@maps$, ":" ), .@map$ ) ) end; atcommand "@blvl " + PVPLP_TRUE_LEVEL - BaseLevel;} You need to call this function before any part of your pvp script where the player leaves your pvp map to revert his level: callfunc( "PVPLP_revertLevel" );
  19. 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.
  20. I couldn't atleast find a easy way. I think a other way takes quiet some custom work.
  21. You need to change the item script. You can modify the damage of a skill like this: bonus2 bSkillAtk,sk,n; Increase damage of skill sk by n% It doesn't change the cap itself but well raises the damage of a skill based on the item you wear. You can look up the effects you can use in a item script here: https://github.com/HerculesWS/Hercules/blob/master/doc/item_bonus.txt
  22. I cant see how that is not on topic, since it does what you want. If you want it in another way, you will have to search for a diff that can patch the client accordingly.
  23. @@Vlync It is possible yes, the suggestion only works in combination with the first. Since you can't hide npc's for just a single player but for everyone. So hiding a dirt npc is only possible if it get's reset once someone starts the quest.
  24. Just put the server you want pre selected on the first position?
×
×
  • Create New...

Important Information

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