Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Everything posted by AnnieRuru

  1. no, it should be in script.c practically I suggest add another variable like $@partymemberonline = return how many players online in the party since getpartymember has to be use in any kind of party script anyway and what emistry means is this http://www.eathena.ws/board/index.php?s=&showtopic=156045&view=findpost&p=860205
  2. @Jezu you mean this ? http://rathena.org/b...round-conquest/ yes its possible, just need to find the right person and a right time to do it lol @mightyryan this request is not even as 1/2 as interesting as this http://rathena.org/b...rounds-into-ro/ which my goal is to finish that one the only reason I pick this one up is to refresh what I've done on that script because right now I've totally forgotten how I made that @biohazard0134 I'm still writing this .... I know I'm behind schedule a bit, because today got a lot interesting topic pops up ... (especially just learn about *freeloop) and this request is not one of my goal ... I just take this as a stepping stone to wow topic I mention earlier I'm still studying that script and make both of this 2 scripts look similar so I can pick that one up immediately after I've done with this one bg_emp.txt feel lazy to add those announcement and dialog, so the script is unfinished so we start from here ... 1. the npc prize giver idea is abit too weird, this map is large, so where u want the npc be ? please at least try this in your test server before you next post ( dual client )
  3. I cannot reproduce your error the name in red, I can't kill it try do some debugging instead if ( s_bl->type == BL_PC && t_bl->type == BL_MOB ) { char debug[255]; struct map_session_data *sd = BL_CAST(BL_PC, s_bl); sprintf ( debug, "[Debug] mob ID: %d | map name: %s | guild ID: %d | $KOEGUILD: %d", ((TBL_MOB*)target)->class_, mapindex_id2name(sd->mapindex), sd->status.guild_id, mapreg_readreg( add_str("$KOEGUILD") ) ); clif_displaymessage( sd->fd, debug ); if ( ( ((TBL_MOB*)target)->class_ == 1288 && !strcmp( mapindex_id2name(sd->mapindex), "guild_vs1" ) ) && ( sd->status.guild_id == mapreg_readreg( add_str("$KOEGUILD") ) || battle_getcurrentskill(src) > 0 ) ) { clif_displaymessage( sd->fd, "cannot hit emperium" ); return 0; } }
  4. you didn't show your patch and we never know how to help you... past examples that I familiar with http://www.eathena.w...dpost&p=1502640 http://www.eathena.w...dpost&p=1503295 http://www.eathena.w...dpost&p=1517513
  5. have to quote this change donpcevent "Invasion NPC::OnTimer1805000"; into donpcevent "Goblin Invasion::OnTimer1805000"; but I guessed you guys already fixed this [Error]: script_rid2sd: fatal error ! player not attached! [Debug]: Function: strcharinfo (1 parameter): [Debug]: Data: number value=0 [Debug]: Source (NPC): Goblin Invasion at prontera (151,189) problem from here donpcevent "Invasion NPC::OnTimer1805000"; ..... OnTimer1805000: // 30 minutes later, kills all the mobs. killmonster .Map$,"Goblin Invasion::OnMyMobDead"; set .mobs_left, 0; OnStop://When the event is stopped by a GM, or all monsters dead. killmonster .Map$,"Goblin Invasion::OnMyMobDead"; killmonster .Map$,"Goblin Invasion::OnSpecialMobDead"; announce "It seems that "+strcharinfo(0)+" has ended the Invasion!",bc_all; end; if gm wants to stop the event the script execute donpcevent , and this doesn't bring the RID and where is initnpctimer ? EDIT: seems like I repeated the same thing as Keyworld said =x EDIT2: the reason it can go into -1/250 because there's no initnpctimer to execute the OnTimerxxx label so if previous map has left over mobs, it will never trigger OnTimerxxxx label to execute killmonster command example: if previous round in geffen it doesn't clean up completely ( this script doesn't has initnpctimer ) when a new event start in izlude, set .mob, 250; geffen still has 100 mobs, and izlude has the new 250 mobs it can deduct into -100 if players kill mobs from geffen and izlude ( 250 -250-100 )
  6. WOOOOOOT !! http://trac.rathena.org/changeset/15340/rathena keyworld owns the world again still I don't think there's urgent need to use that ... yet... lol but yeah that's really great to add to my next update ( dunno when ) rather , since I've calculated that it shouldn't be over 4000 gotocount, I like to know which specific part is actually causing it
  7. how to reproduce the problem ? I see this script still works great there's at least 3 places I can remember that is challenging eathena gotocount limitation 1. when player login -> loading all player side variables 2. when player talk to the npc -> loop through all avaiable mission has deleted or timeout on that board/npc ID (which is 40) 3. when party member kill monster -> loop through 12 party members * 4 quests * 40 missions in each npc all these particular situation I've counted them many many times and made sure it wont go beyond 4,000 gotocount ... in the 1st place, have you set check_gotocount to 20480 ? if 20480 still hits, try 204800 ?
  8. yeah ... currently except that getmapmaps issue the rest seems to work fine there's no urgent need to update this script so just tolerate with 8 maps max for now
  9. http://www.eathena.ws/board/index.php?showtopic=273270
  10. cannot map\pc.c switch (src->type) { case BL_MOB: ........ break; case BL_PET: //Pass on to master... src = &((TBL_PET*)src)->msd->bl; break; case BL_HOM: src = &((TBL_HOM*)src)->master->bl; break; case BL_MER: src = &((TBL_MER*)src)->master->bl; break; } if (src && src->type == BL_PC) { struct map_session_data *ssd = (struct map_session_data *)src; pc_setparam(ssd, SP_KILLEDRID, sd->bl.id); npc_script_event(ssd, NPCE_KILLPC); all the killedrid and killerrid GID is passed to the master, namely BL_MOB: by *clone or *summon BL_PET: pet that can kill like mini-baphomet BL_HOM: homunculus BL_MER: mercenary if you want to work that you have to define another variable like killerrid2 and change a few files here and there in the source ...
  11. to add more maps you need to effectively change entire script because I did a cheap trick on the map name getmapusers("06guild_0"+ .@room) the 06guild_0x is hardcoded and need some tweaking change all those into a list of arrays ... like I said, I rather think its much better to just use instancing ...
  12. I no longer support that script lol rather than just increase to use 8 maps I always plan to rewrite this one to use instance .... theoretically infinite room ... curious, what kind of server message you get from installing that int__ function ? [info]: npc_parse_function: Overwriting user function [int__] (npc/aaa.txt:1548) seem like the same to me
  13. impossible ... prontera,151,187,5 script kjsfhskhfj 722,{ monster "this",-1,-1, "--ja--", 1002,1, strnpcinfo(3)+"::Ona"; end; Ona: flagemblem getcharid(2); end; } can you try this script and make simple test remember you need to @refresh to actually see your emblem shown on it btw that patch is ... 14826 ... lol better use new one koe_patch_ppl49.patch EDIT: I swear when I upload this, it only has .patch extension ... how come it becomes .patch.txt ....
  14. omg have you read my mind or what I'm currently try to dig more battleground script request and you made this topic xD but right now I need go to sleep 1st I can guarantee you I'll get this done at least 90% in 24 hours the reason I said 90% is because there are a lot of missing points that you didn't specify like how the wall looks like ( divide from center or create a rectangle wall around respawn point ) coordinate of player respawn point .. coordinate of emperium ... etc but doesn't matter since I've made at least 6 battleground script I can just take one of my past script and put some random data in
  15. might as well take some other old topic to exercise on before rewrite that wow battleground .... {attachment deleted} I have to call this a joke http://www.eathena.w...dpost&p=1518168 I just edit here and there and call this a new script lol ok now onto that wow bg script .... edit: or maybe I think I try dig 1 more battleground script request .... clean up some stuff custom_bg.txt
  16. although I can read your script, I can tell your script able to let castle owner spam announcement msg but without a proper screenshot I knew I can't convince you enough sry for late reply, I took my own sweet time setting up my test server with latest kro 20120605 and rathena 16817 so now I can proof that your script doesn't work I don't think I misunderstand you apply for scripting mod position ... I heard that directly from admin in fact, I kinda think you are suitable for the job well that's off-topic I know you can make script for free, I wont doubt that it just ... I still think you assumed it is working because you had confused which script has used *guildmonster command I just like you to recheck your King_Of_Emperium_Hill.txt again in your test server as I also having the same problem as Razor X having now though, I also pointed out how to solve it already with the patch I provided =x
  17. I also getting this problem ....... [status]: Done reading '82' entries in 'db/homun_skill_tree.txt'. [status]: Done reading '44' entries in 'db/mercenary_db.txt'. [status]: Done reading '118' entries in 'db/mercenary_skill_db.txt'. [status]: Done reading '12' elementals in 'db/elemental_db.txt'. [status]: Done reading '36' entries in 'db/elemental_skill_db.txt'. [status]: Done reading '1953' entries in 'quest_db.txt'. [info]: Done loading '23' NPCs: -'0' Warps -'0' Shops -'23' Scripts -'0' Spawn sets -'0' Mobs Cached -'0' Mobs Not Cached [status]: Event 'OnInit' executed with '15' NPCs. [status]: Server is 'ready' and listening on port '5121'. [status]: Attempting to connect to Char Server. Please wait. [status]: Connecting to 127.0.0.1:6121 [status]: Logging in to char server... [status]: Successfully logged on to Char Server (Connection: '2'). [status]: Sending maps to char server... [status]: Event 'OnInterIfInit' executed with '0' NPCs. [status]: Event 'OnInterIfInitOnce' executed with '1' NPCs. [status]: Requested '34' guild castles from char-server... [status]: Map Server is now online. [info]: Received Fame List of '0' characters. [status]: Received '34' guild castles from char-server. [info]: 'Ennyruru' logged in. (AID/CID: '2000001/150001', Packet Ver: '25', IP: '127.0.0.1', Group '99'). [Error]: Memory manager: freed-data is changed. (freed in d:\eathena\rathena sql 168xx\src\common\db.c line 1072) [info]: Done loading '23' NPCs: -'0' Warps -'0' Shops -'23' Scripts -'0' Spawn sets -'0' Mobs Cached -'0' Mobs Not Cached [status]: Event 'OnInit' executed with '15' NPCs. [status]: Event 'OnInterIfInit' executed with '0' NPCs. [status]: Event 'OnInterIfInitOnce' executed with '1' NPCs. it seems to happens every time I do a @reloadscript guess has something to do with recent SQL database .... ? cause I enabled use_sql_db though I think this should be in bug tracker...
  18. cannot script error on npc/zzz.txt line xxxx parse_syntax: 'case' label not integer and correct way to do this .... switch..case not even needed whenever the script parse *select, *prompt or *menu and the player selected the option will return @menu variable ... can read further on *menu inside script_commands.txt select "start from beginning ... ", ( condition 1 )? " <statement 1 >" : "" , ( condition 2 )? " <statement 2 >" : "" , ( condition 3 )? " <statement 3 >" : "" , set @lives, @lives - lifecost[ @menu ]; .... warp "hellfire", .hellwarpx[ @menu ], .hellwarpy[ @menu ]; ... select "1", "", "3"; will show up only 2 options , but select the "3" will still return @menu = 3 leaving the option as "" will not show up in the selection, but the variable still retains the counter of options correctly
  19. the problem is you put closing curly bracket wrongly and the reason behind is because you TAB wrongly OnPCDieEvent: // Restamos los puntos al matar a alguien if (.RestarPuntos) { if (.MapaActivado) { for (set .@c, 0; .@c < getarraysize(.mapas_pvp$); set .@c, .@c + 1) { // PROBLEM : this line TAB twice if (.mapas_pvp$[.@c] == strcharinfo(3)) { if (.PuntosNegativos) set #PuntosPvp,#PuntosPvp - 1; else { if (#PuntosPvp <= 0) end; else set #PuntosPvp,#PuntosPvp - 1; } // End if } // End if } // End loop } // End if /* } */ else { // you have 1 extra curly bracket if (.PuntosNegativos) set #PuntosPvp,#PuntosPvp - 1; else { if (#PuntosPvp <= 0) end; else set #PuntosPvp,#PuntosPvp - 1; } // End if } // End if dispbottom "Has perdido un punto PvP , ahora tienes " + #PuntosPvp + "."; end; } } // and that closing curly bracket should belongs here that's why TABBING with each closing curly bracket is important and a tips is if you are using Notepad++, on the top menu there File | Edit | Search TextFX -> TextFx Edit -> Reindent C++ code
  20. try do these script, you can make all these in entirely different npcs / files 1. submit 1 ticket, and the script checks, and delete it 2. the 1st time player click on the npc, npc generate a random number, but from 2nd click on that npc onwards, it will repeat say that generated number forever if you can pass this stage you should able to make the 1st 20~30 lines of this script ... ( *mes command or dialog isn't count in those lines )
  21. ah sry that I missed out some of your point, and I opologies that I didn't read the entire topic correctly so if I understand correctly your script is supposedly free, but can't work with player hitting their own emperium stuff http://rathena.org/b...l__guildmonster but in order for comply with @razor_x suggestion, need to pay $10 to purchase the *guildmonster script command in other words, razor_x need to buy the *guildmonster script command from that topic and you'll supply with your script that has *guildmonster command in it for free in PM ... hmm well guess I was inactive too long and there're changes with current community about paid service I'll try to adapt this changes btw about script request rules about paid service http://rathena.org/b...-request-rules/ I think it should be remove a lot of rathena moderators offering paid services .... in fact too many script request is the only section dooesn't accept paid service while all other places in this forum is offering paid service this is absurb if this is a partial paid service script, then maybe I don't belong in this topic my motto that "I only make script for free" doesn't change ... though
  22. @peopleperson49 http://www.eathena.w...dpost&p=1318612 - post#9 just look at the screenshot, I can always kill the emperium repeatedly and spam the announcement, makes it an eyesore to other players who isn't participating in this event EDIT: oh wow ... you really spend your time to use castle mod and make time configurable ... http://www.eathena.w...dpost&p=1491458 - post#99 has a patch that shows you how to prevent killing the emp over and over that patch can be use in this script and using something like this doesn't need castle-like script commands rofl ...why need to "purchase" when you can fix this by simply adding 2~3 lines in the source.... and kudos to you write it from scratch I always like to see more member able to make more event script EDIT2: issit just me or I didn't see you use any *setcastledata script command ?
  23. its better to make those monster not spawn more than 100 at any time monster "pay_fild04",127,158,"Dark Priest",1198,100 - mobcount("pay_fild04", strnpcinfo(3)+"::Onaa"), strnpcinfo(3)+"::Onaa";
  24. even by use OnEquip and OnUnEquip with *statusup2 script command still need to save a temporal player variable to keep track of original base str of the player has ... isn't it ? without saving a temporal player variable, player might exploit this system by not spending on str stats, get this item equipped, gaining free str stats EDIT: oh your edit, you meant { statusup2 .... }, { set @temp, readparam(bstr); },{ statusup2 ... str value back into @temp } read carefullly, it is ~readparam(bStr) +51 there is a -> ~ <- symbol to invert numbers between positive and negative prontera,157,175,5 script ksdjfhdksf 100,{ input .@a, -2000000000, 2000000000; dispbottom ( ~.@a + .@a )+""; // always shows -1 dispbottom ( ~.@a + 1 )+""; // turns positive into negative numbers, or the opposite dispbottom ( ~.@a + .@a + 50 + 1 )+""; // always show 50 } ~ is a number inverter when add up by itself, always return -1 since the topic wants 50, I did ( 50 + 1 ), which is 51
  25. @Emistry wtf ... the topic asked for temporary stat change into 50 str regardless of their base str high or low the hell you modify the player's stat permanently ? @darristan I remember I put up a database FAQ about OnEquip something on post#2 http://www.eathena.ws/board/index.php?s=&showtopic=168545&view=findpost&p=1007915 something like this should work bonus bstr, ~readparam(bstr) + 51; however note that other items that give str bonus cannot be track currently need a custom script command http://www.eathena.ws/board/index.php?showtopic=271354
×
×
  • Create New...