Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    246

Everything posted by AnnieRuru

  1. not yet, there is no hooking point for npc_chat.c yet https://github.com/HerculesWS/Hercules/blob/master/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc I didn't see npc_chat-> or libpcre-> here, maybe the hercules bot didn't include npc_chat.c yet I guess Haru will fix it soon because I also found this line https://github.com/HerculesWS/Hercules/blob/master/src/map/npc.h#L360
  2. Problem if your server having some custom plugin that crash your server, the error look something like this [Info]: Hercules 32-bit for Windows[Info]: Git revision (src): '1e2f24a2fcb13b8a2fe06f4cc829670303760929'[Info]: Git revision (scripts): '1e2f24a2fcb13b8a2fe06f4cc829670303760929'[Info]: OS version: 'Windows 7 Ultimate Service Pack 1 (build 7601) [x86]'[Info]: CPU: 'x86 CPU, Family 6, Model 23, Stepping 10 [2]'[Info]: Compiled with Microsoft Visual C++ 2010 (v1600)[Info]: Compile Flags: N/A[Info]: Server supports up to '4096' concurrent connections.[Status]: HPM: Loaded plugin 'HPMHooking' (0.2).[Warning]: HPMDataCheck:movespeed: 'npc_chat_interface' size mismatch 1 != 36[Fatal Error]: HPM:plugin_load: 'plugins/movespeed.dll' failed DataCheck, out of sync from the core (recompile plugin)!Map-Server has terminated abnormally.Restarting in 15 seconds, press Ctrl+C to cancelthere is a 'npc_chat_interface' size mismatch 1 != 36 error on it. . Why it happen this will happens to all plugins that has map/npc.h on it #include "map/npc.h"any plugin that has this line, will throw the above error this is because @Haru just recently added PCRE_SUPPORT on this commit https://github.com/HerculesWS/Hercules/issues/909#issuecomment-161577329 ..How to solve Windows Compiler kindly follow the step 17 for windows compiler http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC#Step_17 Under Configuration Properties - click C/C++ -- open Preprocessor --- change 'Preprocessor Definitions' to _WINDLL;PCRE_SUPPORT;%(PreprocessorDefinitions) yes, all plugins from now on has to compile with PCRE_SUPPORT; to prevent this error now, someone has to post up the solution on non-windows platform
  3. have you try dancer ? that job is much more messed up bard skill went to misc tab ? this is seriously an issue but when I test it, it work correctly o.o I also confuse by the bug itself already
  4. @@Zhao Chow no idea what you are doing, but I test it with my own healer script @@Dark8008 on rathena everything works perfectly fine but on hercules, dancer and clown doesn't give certain skill when using @allskill and ... seems to affect my own when I did "please don't forget me" if you are using rathena then you shouldn't have any problem with that script
  5. no idea, since I have been scripting since 9 years ago, I found eathena script language is normal to me you need to code a SC_xxx constantduring the effect, if kill the monster, will add Str this can only done through source code, not npc script hmm ... interesting idea, SC_ADDSTATKILLMOB add this in my to-do list sc_start4 SC_ADDSTATKILLMOB, 10000, PORING, 100, 1, bStr;start a status, in 10 seconds,kill a poring, 100% chance to gain 1 str stat
  6. yes, I suddenly want to give you a rep for saying it although the idea on the topic title might not be very interesting, but if there is a plugin to allow to login an offline character, this can do a lot of interesting stuffs for example, everyday at 8PM login a [GM] character and say 'Hello' to the surrounding area without players knowing it is a bot which was actually done by a plugin or just login some offline characters in the pvp room through atcommand to test what happens when there are a lot players ... etc etc . . I don't think its that hardif Ind's patch can login autotrade players when server start up, then this shouldn't be a much problem but Ind's one can login the player until the real player login, but mine only login for about 0.1 sec and it immediately logout there is some check that I missed ...
  7. https://github.com/HerculesWS/Hercules/blob/master/conf/battle/monster.conf#L199 depends on the setting, the patch will be different its already inside your server and you still didn't tell what will happen like I said before oh, post in wrong section, no wonder you misunderstand what I'm saying move to source request EDIT for below, nvm, I think he don't understand what 'patch' means anyway
  8. what is the value of your server and what happens if 3 playersplayer A deal most damage player B deal a lot of critical, but less damage from player A and player C just last hit kill the mob ?
  9. poring catcher event, in that script all monster has event labelsso OnNPCKillEvent shouldn't trigger with them . . but it still trigger OnNPCKillEvent label non-the-lessas long as the server do something like triggering an event label, any script command will return as a function in the source code . . yes
  10. there are 3 different kinds of scripters 1 that just write for fun and knowledge <- like me, but this kind of member going to extinct someday 1 that just write for money 1 that just write for fame yes if you meet those write for money or write for knowledge, then you won't run into this kind of problem but seems your problem is, you met the one who write for fame those who write for fame, they want to get credits from the community -> like this topic they will feel they want to get recognize from the community because they feel all the hard work they put in, nobody recognize their ability that's why they want to release them to public to show they are capable of doing this and that well, from a customer side its quite hard to understand this .... yes its very unfair to customer, customer will feel like their idea got stolen I guess the same things happen with scripting or map designing
  11. OnNPCKillEvent runs whenever a player kill any monster(that doesn't have an event label), and this trigger globally even if the player is not doing quest, just kill monster for fun or gm summons tons of monsters, it still trigger OnNPCKillEvent label and if you have 10 different npc with OnNPCKillEvent, a wizard doing a storm gust killing 50 porings will trigger OnNPCKillEvent 500 times its better to use questprogress for this operation, questprogress automatically detect only which monster ID you kill, and update internally without trigger any script operation I wrote a sample questlog script -> http://herc.ws/board/topic/7218-sample-questlog-script/
  12. I tested the whitesmith got Full Adrenaline Rush but dancer and clown ... really not working if this is really hercules bug then has to post it up because I tested on rathena it works, but hercules don't
  13. AnnieRuru

    Event 1x1...

    don't tell me you have edited the main npc 'bg_pvp#control'
  14. autotraders can login itself when server starts, so this should be possible too https://github.com/HerculesWS/Hercules/commit/b79a9d7efa9213e3c791ec356bf21b712878d1aa however I'm unable to reproduce it, dunno what's the problem btw please stop the word about 'paid request' stuff ... if they want to pay they would have post in job available area
  15. AnnieRuru

    Event 1x1...

    of course nothing happens, you should join the waitingroom to start the event when both sides join the waitingroom, and when the waitingroom is full, it will automatically start and seriously you never play battleground before ? ... or maybe the battleground that you played are all custom made
  16. like I said, make it a quest for example, when the player reach level 100, then they go to this npc player can select which stat to improve from the npc, so let's say bStr the npc will ask the player go hunt a set of monster <== you can even use *questprogress script command for it after player hunt all the monster, the npc reward player 1 extra stat and the quest can be repeat until player reach max stat doing like this will be more practical, rather than using OnNPCKillEvent to trigger the label globally EDIT: or ... when player is bored, and is still below level 50, go to this npc, take the quest to improve bStr the npc give a quest to kill 1000 porings, and after complete it, reward 1 bStr
  17. seems like you are able to follow the process just didn't recompile with the plugin you need this plugin http://herc.ws/board/topic/11296-onpcuseskillevent/ and this patch from the pull request -> Haru already put code:ready tag but haven't merge yet ... http://upaste.me/45d422146a7e9357b
  18. honestly I think this should be done in the source codemaybe pc->setreg( ..EXTRA_STATUS_POINTS..) in the plugin hook pc->setparam and pc->resetstate then there is no hassle about forgetting to add EXTRA_STATUS_POINTS variable every time in every single script ok also add this in my to do list
  19. yup tested the above post works I thought has to use OnPCUseSkillEvent and unitskilluseid ... I guess no need note that some skill has to fill out dataluafiles514lua filesskillinfozskillinfolist.lub for client not throw error
  20. ok its time to show the almighty OnPCUseSkillEvent @@classy5 although the topic title has the word 'Simple', but this isn't simple at all because have to create a new skill and create a new item hmm ... since have to move back the target of the monster to original position, have to use getmapxy with mobs https://github.com/HerculesWS/Hercules/pull/871 so ... confimportOnPCUseSkillEvent.txt warp_target,"warp_target::Onwarp".dbreskill_db.txt 1305,15,0,1,0,0,0,9,0,no,0,0x0,0,none,0, warp_target,warp_target.dbreskill_require_db.txt 1305,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.dbreskill_cast_db.txt 1305,0,0,0,0,0,100,0.dbitem_db2.conf { Id: 32499 AegisName: "item_warp_target" Name: "warp_target" Type: 11 Weight: 1 Script: <" itemskill warp_target,1; ">},.clientSystemitemInfo.lub [32499] = { unidentifiedDisplayName = "Warp Target", unidentifiedResourceName = "파리의날개", unidentifiedDescriptionName = { "Warp the target into guild_vs2 and warp back in 10 seconds", }, identifiedDisplayName = "Warp Target", identifiedResourceName = "파리의날개", identifiedDescriptionName = { "Warp the target into guild_vs2 and warp back in 10 seconds", }, slotCount = 0, ClassNum = 0 },.dataluafiles514lua filesskillinfozskillid.lub warp_target = 1305,.dataluafiles514lua filesskillinfozskillinfolist.lub [SKID.warp_target] = { "warp_target"; SkillName = "Warp Target Unit", MaxLv = 1, Type = "Quest", SpAmount = { 0 }, bSeperateLv = true, AttackRange = { 15 }, },.and finally the npc script - script warp_target FAKE_NPC,{Onwarp: .@gid = @useskilltarget; getmapxy .@map$, .@x, .@y, UNITTYPE_PC; getmapxy .@map$, .@x2, .@y2, UNITTYPE_MOB, .@gid; unitwarp .@gid, "guild_vs2", 50,50; warp "guild_vs2", 50,50; .@origin = getcharid(3); sleep 10000; // 10 seconds if ( attachrid(.@origin) ) warp .@map$, .@x, .@y; if ( !getmapxy( .@dummy$, .@dummy, .@dummy, UNITTYPE_MOB, .@gid ) ) { // announce "still alive !", bc_all; unitwarp .@gid, .@map$, .@x2, .@y2; } end;}.Have Fun figure this out! EDIT: seems skill name and item name must not the same, so rename into "item_warp_target"
  21. that would be interestingadd this in my to do list
  22. I think this kind of stuff should be given as a quest ... so it wont trigger globally for example, if the player taken a quest, and the player complete it, then give 20 status points this method is more practical
  23. AnnieRuru

    Event 1x1...

    https://github.com/rathena/rathena/blob/master/npc/custom/battleground/bg_pvp.txt use the one that is maintained by rathena
  24. hell yeah this can be done with scripts alone move back to script request prontera,155,185,5 script fsdfdskj 100,{ if ( countitem(1201) ) { .@brokencount = getbrokencount() +1; if ( .@brokencount ) { .@i = 1; while ( getbrokenid(.@i) != 1201 && .@i < .@brokencount ) .@i++; if ( .@i < .@brokencount ) { mes "wanna use that crappy knife again ?"; next; if ( select( "Yes", "No" ) == 2 ) close; repair .@i; knife_start_break = gettimetick(2); addtimer 10000, strnpcinfo(0)+"::Onaaa"; close; } // fall through } mes "you already have that crappy knife"; close; } mes "do you want an item that can break in 10 seconds ?"; next; if ( select( "Yes", "No" ) == 2 ) close; getitembound 1201, 1, 4; knife_start_break = gettimetick(2); addtimer 10000, strnpcinfo(0)+"::Onaaa"; close;Onaaa: getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; ++.@i ) if ( @inventorylist_id[.@i] == 1201 ) break; delitem 1201, 1; getitembound2 1201,1,1, @inventorylist_refine[.@i], 1, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i], 4; knife_start_break = 0; end;OnPCLoginEvent: if ( !countitem(1201) ) end; if ( knife_start_break + 10 < gettimetick(2) ) addtimer 1, strnpcinfo(0)+"::Onaaa"; // sometimes doevent doesn't work else addtimer ( knife_start_break + 10 - gettimetick(2) )*1000, strnpcinfo(0)+"::Onaaa"; end;}
  25. better I write out the script to prove which method usable just do the talking doesn't go everywhere prontera,155,185,5 script kjsdfsjdf 1_F_MARIA,{.@nb = query_sql( "select name, killcount from pvpladder order by killcount desc limit 3", .@name$, .@kill );for ( .@i = 0; .@i < .@nb; ++.@i )mes ( .@i +1 )+". "+ .@name$[.@i] +" -> "+ .@kill[.@i];close;OnPCKillEvent:query_sql "insert into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql( strcharinfo(0) ) +"', "+ getcharid(3) +", 1 ) on duplicate key update killcount = killcount +1";query_sql "select name, aid, cid from pvpladder order by killcount desc", .@name$, .@aid, .@cid;if ( $pvptopcid == .@cid ) end;announce .@name$ +" is top 1", bc_all;if ( isloggedin( $pvptopaid, $pvptopcid ) ) {.@origin = getcharid(3);attachrid $pvptopaid;if ( .@count = countitem(1201) )delitem 1201, .@count;attachrid .@origin;}elsequery_sql "delete from inventory where nameid = 1201 and char_id = "+ $pvptopcid;$pvptopaid = .@aid;$pvptopcid = .@cid;if ( checkweight(1201,1) )getitembound 1201, 1, 4;end;}prontera mapflag pvp if use an item, if the player failed the checkweight, and didn't use the checkweight script command the item may drop on the floor but hmm ... we can't attack at 90% weight anyway so I think this shouldn't be a problem . . prontera,155,185,5 script kjsdfsjdf 1_F_MARIA,{.@nb = query_sql( "select name, killcount from pvpladder order by killcount desc limit 3", .@name$, .@kill );for ( .@i = 0; .@i < .@nb; ++.@i )mes ( .@i +1 )+". "+ .@name$[.@i] +" -> "+ .@kill[.@i];close;OnPCKillEvent:query_sql "insert into pvpladder values ( "+ getcharid(0) +", '"+ escape_sql( strcharinfo(0) ) +"', "+ getcharid(3) +", 1 ) on duplicate key update killcount = killcount +1";query_sql "select name, aid, cid from pvpladder order by killcount desc", .@name$, .@aid, .@cid;if ( $pvptopcid == .@cid ) end;announce .@name$ +" is top 1", bc_all;$pvptopcid = .@cid;end;OnPCStatCalcEvent:if ( $pvptopcid == getcharid(0) )bonus bStr, 100;end;}prontera mapflag pvp hmm ... now I wish the stat_recalc command works because the stats doesn't update on killing other player unequip command might work but hercules still doesn't have equip2 script command EDIT: hell yeah the codebox broken again
×
×
  • Create New...

Important Information

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