-
Posts
737 -
Joined
-
Last visited
-
Days Won
9
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Lighta
-
well aguyaguy you could increase rate each hours so it'll have more chance to open like OnMinute: if( rand(100) < 50 + .ratei){ announce "Monster Hunt Event is open.",0; monster "pvp_n_1-3.gat",0,0,"RAIDEVENT",1751,1,"Monster Hunt::OnMobKilled"; set .monsterhunt,1; set .ratei,0; //reset rateincrease on opening } else { //lets increase rate for next hour set .ratei,ratei+10; } end;
-
Hmm I'll look if I found my list of file to change for new item again, but check if you edit those one : (non identified item) num2itemdesctable.txt num2itemdisplaynametable.txt num2itemresnametable.txt
-
declare your new item on db/item.db2 then take a look at db/item_avail, this will give the new item the same sprite, desc etc.. then the assigned one. hope that what you're looking for. Otherwise you'll need to create the file for client, idnum2itemresnametable.txt, idnum2itemdesctable.txt, idnum2itemdisplaynametable.txt etc...
-
Ok so it's some sources to do some statisques on players, mainly devellop for woe. They probably need optimisation and improvement but are working and it's what matter. I release it so people seeking how to do some could found an easy exemple. I changed topic description. About diff I'll think about it, but when you patching you don't learn much which wasn't my goal and I really don't want to have lot of support question (still I'm available on IRC if you do have some). Second issue with diff it's that after a while it doesn't work anymore. (I'll do one when I have some time (try tomorrow)
-
Oh it's not exactly how it is/was configured; but just to anwser simply yes you did spwan monster in maze with this : "monster .garden$,0,0,"Treasure of the Secret Garden",.spawn,10,"Ancient Hero of the Garden::L_MDeath";" For what I get reading you script : Garden Entrance : anonce that the maze is open and warp you there if you have the key. Actually seing your announce you may not want it like that exactly (since every player will spawn announce...) If you have the item 7759 (I guess the key) then you warped in maze if there enough place. Ancient Hero of the Garden: Once warped we waiting there 15 player in then spawn 10 monster. automatic spawn here. (I prevent respawn but you may change it) Finally once all those 10 monster are dead the player who killed the last one get a reward. This is what more or less was coded, I least what I understand, anyway I think you understand what I meant now, good luck =)
-
Ok wait I'll do a pastebin with the changes so you'll see what I mean. I didn't try the script myself and it may contains other errors I didn't saw but here you are : http://pastebin.com/MC9mZpr2 I try to comment as much as possible, and rewrite it a bit. (ps, I put it public on pastebin so ask me if you want to remove it)
-
You didn't use the while patch if you have those error. âAUTOLOOTITEM_SIZEâ undeclared -> define is in pc.h subscripted value is neither array nor pointer -> I guess it cry because autolootid ain't an array yet. also setup in pc.h
-
Na, he meant if you already had setup variable you might use it instead hardcoding name. (so if you want to change map for exemple you just need to change this variable and not the rest of the script). About the line it should be : monster .@garden$,0,0,"Treasure of the Secret Garden",.@spawn,10,"Ancient Hero of the Garden::L_MDeath"; .@0 mean you want mob to be spawn at location x and y contained in variable .@0 (even if I don't know if you can store a variable with number for reference). Anyway if it's the case .@0 may also since since because you didn't do a set .@0 before it will return 0 so we're good. To continue on variable correct me if i'm wrong here but .@var scope stop at the end of function, wich mean after end; value contained will be erased (0), so here you setup temp variable in OnInit: end; -> you did nothing. I'd consider change them for .var Last I don't see how you npc will work, how will we trigger "if(getmapusers(maze) == 15) { ", or "if(gettime(4)==6) && (gettime(3)==12) {", since you have no label before those only way I see to trigger those condition will be to click on npc. Unfortunatly if you do so you'll only trigger OnInit and end. Thus you won't reach here neither. Conider moving OnInit function on npc end, so you can click on them or juging by context you could add : OnMinute00: //checking each hours if(gettime(4)==6) && (gettime(3)==12) Or directly OnSat1200 wich trigger it each saturday at noon And for the other one : OnPCLoadMapEvent://trigger at each map entrance if(getmapusers("maze") == 15) Hope you'll understand and that I'm wrong for mistakes I pointed but I would be surprised.
-
hi not the exact solution here since aspd isn't modified directly. Here a change for 10/100 loss : Index: status.c ============================================ --- Base (BASE) +++ Locally Modified (Based On LOCAL) @@ -302,7 +302,7 @@ set_sc( PA_GOSPEL , SC_GOSPEL , SI_BLANK , SCB_SPEED|SCB_ASPD ); add_sc( PA_GOSPEL , SC_SCRESIST ); add_sc( CH_TIGERFIST , SC_STOP ); - set_sc( ASC_EDP , SC_EDP , SI_EDP , SCB_NONE ); + set_sc( ASC_EDP , SC_EDP , SI_EDP , SCB_ASPD ); set_sc( SN_SIGHT , SC_TRUESIGHT , SI_TRUESIGHT , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK|SCB_CRI|SCB_HIT ); set_sc( SN_WINDWALK , SC_WINDWALK , SI_WINDWALK , SCB_FLEE|SCB_SPEED ); set_sc( WS_MELTDOWN , SC_MELTDOWN , SI_MELTDOWN , SCB_NONE ); @@ -4604,6 +4604,8 @@ aspd_rate -= aspd_rate * sc->data[sC_BOOST500]->val1/100; if(sc->data[sC_EXTRACT_SALAMINE_JUICE]) aspd_rate -= aspd_rate * sc->data[sC_EXTRACT_SALAMINE_JUICE]->val1/100; + if(sc->data[sC_EDP]) + aspd_rate += aspd_rate * 10/100; return (short)cap_value(aspd_rate,0,SHRT_MAX); } you can still try to modify it directly with altering status->amotion
-
Oh wow this project look awesome. crossplateform is really important for me too. A bit sad about the closed part but it's ok with all you planned, just hoping setting up all those hooks won't prevent you focus on the main stuff.
-
you really didn't read the function did you. here a quick exemple : case SC_FREEZE: tick -= status->luk *1000; //minus -1s each luk point break; Even so you'll still have the small luk reduction from the if I stated before. tick_def, will reduce the duration in %
-
Can not carry More Than 30,000 of one kind item
Lighta replied to johnmark's question in Source Requests
You may create some box, that the easiest workarround I'm seing. (like quiver) Or you could probably trigger similar item creation once you reach 30k but that quite more complicated. (Like once you have 30K of condensed white pot (cwp) in inventory, instead trying to add new amount, you create cwp2 with same effect... What are the item concerne with this overflow johnmark ? -
[Help] password is encrypted and cant login
Lighta replied to unwingedvivi's question in Client-side Support
Hi, you can disable md on conf/login_athena.conf Or you can copy your receive past and updaate your passeword in login table. -
iSkiddo; you probably have other value affecting sc_def for instance : if (sc_def < battle_config.pc_max_sc_def) sc_def += (battle_config.pc_max_sc_def - sc_def)* status->luk/battle_config.pc_luk_sc_def; I didn't get exactly what kind of reduction you wanted; still read closely status_get_sc_def() and you should be able to put your status reduction. (nb tick duration are in ms)
-
I think better documented shouldn't be an option. If someone didn't get it while reading the doc then it's not explicite enough. Either change it here or explain it on wiki. Now from his title I think he just want documentation as well and about changing it I'd say no since it'd change some server configuration. (It'd like breaking backward compatibility). If we want something that strickly add +10% exp per personne on party (without share afterward) lets just insert a new battle.conf
-
Try with a different map port since this kind of errors it's common when socket already in use. netstat -na
-
Now he mean athena-start is not an executable file. Did you do : "sudo chmod +x ./athena-start" before attemping to run it ? I assumpe compilation was fine this time if you tryed to launch it. Either this or you executing the cmd in the bad repertory; you can verify you are in the good one by running "ls | grep athena-start". Filename should show up if it's here.
-
Seem like your Cmake or Makefile ain't good, did you customize something ?
-
-bash: ./athena-start: Permission denied
Lighta replied to Dolphin86's question in Installation Support
Verify your user have execution right with : ls -la Then if not run : sudo chmod +x ./athena-start Then it should be fine. -
I guess she could display an emblem using cutin function and put it in the good location and format. Take a look at (*cutin) on doc/script_command.txt. KeyWorld query is a good exemple to learn, (even if "as" may be trouble), but first you need to knoww what you wanna get from that query and what do you already have. It's like searching in a big array you need an index to found what u want. If I get it right you wanted an sql query to load the emblem from a specified guild right ? Dunno if it's possible like that but take a look at cutin as I said. Last from your and Keyworld actual query, you could have all those value via npc already.
-
Ah yeah look sweet, if I found other long switch case enumeration I'll tell you as a suggestion for new flag. (cleareance quite as long as dispel for exemple). I presume require colum are for skill. I really think it's better that way instead an extra row on skill. One last thing, for cancels there 2 differents things, one status can cure something but can also immune, and those 2 ain't always the same, I don't have exemple in mind yet but I'll edit to complete it. I guess cancels was for cure option.
-
It.s not a 1-n relation so usually you should have a new table for that, anyway I think putting these association in status table will be best. I mean I found skill_db quite crowdy already so could be balance out. Plus you'll keep skill_db compatibility for old systeme. Oh and I'd like to see a line of this new database if that possible.
-
Well did you tryed to connect to your db without ? can you do it ?, just with phpmyadmin or via command line
-
well 1st line it's the same as your with just a little check on sd. (iro formula) 2nd is kro supposed formula (from gdocs) 3rd is kro implementation (rendering in code), so either wich formula you want you comment or uncomment 1st or 3rd one. I can,t help more then that, if you need moreI think it's more a release then.
-
hope no mob can use this skill on your server otherwise you may get a segmentation fault. better to check sd before atempting to use it on pc_checkskill. Here quick security fix and also the kro formula if you want [/font] md.damage = sstatus->int_ * 4 * skill_lv * (10 / (10 - (sd?pc_checkskill(sd,AM_CANNIBALIZE):5)); //[{( Hell Plant Skill Level x Caster?s Base Level ) x 10 } + {( Caster?s INT x 7 ) / 2 } x { 18 + ( Caster?s Job Level / 4 )] x ( 5 / ( 10 - Summon Flora Skill Level ) //md.damage = (sd?pc_checkskill(sd,GN_HELLS_PLANT):5) * s_level * 10 + sstatus->int_ * 7/2 * (18 + (sd?sd->status.job_level:s_level)/4)) * 5/(10-(sd?pc_checkskill(sd,AM_CANNIBALIZE):5)); //kro formula [lighta]