KirieZ
-
Content Count
211 -
Joined
-
Last visited
-
Days Won
17
Posts posted by KirieZ
-
-
File Name: iRO Christmas 2016
File Submitter: KirieZ
File Submitted: 03 Jan 2017
File Category: Events & Games
Quite late, but here is iRO's Christmas Event of 2016. It was scripted while I played, so probably some things aren't perfect, like the monster and item data.
This file contains:
-
Santa Klaus giveaway (christmas_giveaway.txt): This NPC seems to be enabled every christmas on iRO. Santa Klaus is at the center of Prontera giving a gifts, players can choose between three gifts and allows warping to guild dungeons. The gifts are:
- Skill and Status reset
- Seal Status reset
- Gifts:
- 3x Enriched Elunium
- 3x Enriched Oridecon
- 5x Red Envelope
- 3x Yellow Butterfly Wing
- 30 minutes Job EXP bonus (Job Battle Manual effect)
- 3x Enriched Elunium
[*]Christmas Quest (christmas_2016.txt): This is the quest. It starts at Eden Group HQ, then you have to do some deliveries to get Sprig of Holly and then turn them into a Costume headgear. It contains a daily quest.
- Skill and Status reset
In the zip file you'll find both scripts and client/server changes.
One script doesn't depend on the other one, that's why they're in separate files.
Known Differences:
- The Santa's giveaway sets a quest in the client, but this ID is out of Hercules ID Range, so I changed it
- In Christmas Quest, the first NPC on the quest line shows a message over her head to the player only, I couldn't find a command to do this, so it shows to everybody.
- On iRO, the daily quest is reseted everyday at 4AM, but Hercules seems to not have a command to set time limit explicitly (instead we use quest_db) so I set it to 23h time limit.
If something is wrong, let me know and I'll try to fix as soon as possible.
Ridley and Prourhildr reacted to this -
Santa Klaus giveaway (christmas_giveaway.txt): This NPC seems to be enabled every christmas on iRO. Santa Klaus is at the center of Prontera giving a gifts, players can choose between three gifts and allows warping to guild dungeons. The gifts are:
-
As far as I remember you can't read player's timer, but can't you make a player variable that stores the time when player will be warped?
example, if player will be able to stay in the room for 2 hours, you can do something like:
warpTime = gettimetick(2) + 2 * 3600; // 3600 = 1 hour
Then, if you want to display how much time player still have:
dispbottom "You still have " + (warpTime - gettimetick(2)) + " seconds in this room";
I've not tested it, but I believe it can give you an idea of how to do it.
-
I don't know what could be happening in this case, maybe you can try to reset the root password: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
-
This problem is related to your MySQL installation and not hercules, have you used another password when installing MySQL?
-
Yes, that's right.
-
inter-server.conf is now inside conf/common folder. But you'll not find this Log settings here as it include global/sql_connections.
To make it easy, go to conf/import and open inter-server.conf, inside inter_configuration, add this:
log: { sql_connection: { // [INTER] You can specify the codepage to use in your mySQL tables here. // (Note that this feature requires MySQL 4.1+) //default_codepage: "" // [LOGIN] Is `userid` in account_db case sensitive? //case_sensitive: false // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1. // Under windows, you want to use 127.0.0.1. If you see a message like // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" // and you have localhost, switch it to 127.0.0.1 db_hostname: "127.0.0.1" db_port: 3306 db_username: "root" db_password: "ragnarok" db_database: "loginlog" //codepage:"" } }
This is the step 11 of your image.
-
Thanks for the quick response, were there any other changes that were made aside from changing @price to @totalprice? Because I would like to just replace the new lines into the existing one on my live server (edited a couple of stuff and didn't wanted to re-do it again xD).
@canditw : Thanks! I just uploaded a new version fixing this issue, it should be approved in some hours.
I'm not sure if by "total price" you meant all the lines, the changes were:
At Line 149:
@price *= .@refTimes;
To:
.@totalPrice = @price * .@refTimes;
At Line 154:
From:
mes "a service fee of " + @price + " Zeny.";
To:
mes "a service fee of " + .@totalPrice + " Zeny.";
And at line 164:
From:
else if((countitem(@item) < .@refTimes) || (Zeny < @price)) {
To:
else if((countitem(@item) < .@refTimes) || (Zeny < .@totalPrice)) {
-
@canditw : Thanks! I just uploaded a new version fixing this issue, it should be approved in some hours.
-
Não sei dizer com certeza, mas imagino que seja possível editando o arquivo db/re/level_penalty.txt
-
-
@@JoyRo : Maybe it wasn't approved when you tried to download. Just tried and it was ok. Please try again.
-
@@keripikotaku , @@JoyRo : I've just submited a new version with the 100% bug fixed. Sorry for the delay.
@@keripikotaku : This +7 safe ticket for refines over +7 was because I set it like that as a place-holder, in this new version I've changed them to nothing, you can change these items to wathever you want in the settings.
To everybody:
this new version includes a new config (BreakWarning) and a overhaul of how refine fail results works, please take a look on these settings, as fail results no more work like it did before.
-
Você está com o renewal ativado? O Renewal tem um sistema de EXP que muda a quantidade recebida pela diferença de níveis entre você e o monstro.
Para desabilitar vá em src/config/renewal.h e comente a linha: #define RENEWAL_EXP
Recompile o emulador e teste.
Espero ter ajudado
-
If by break you mean when its name becomes red, you can delete the item (using delitem2 or delequip for an equipped item) then use getitem2 to add the item again, note that you need to retrieve the information about the item to recreate it, to do this you can use getinventorylist.
On delitem2 you should use "attribute" parameter as 0 (not broken) and on getiem2 "attribute" should be 1 (broken item)
If by break you mean destroying the item (like when a refine fails) you can simply use delitem2 / delequip or failedrefitem.
(the links in the commands will point you to these commands doc)
Hope this helps
-
@@Vlync and everybody
Sorry I'm having lot of personal things (college tasks/exams) to do and not being able to check this, I'll update when possible.
-
hiya.. @@KirieZ
i just test ur script.
i found something strange..
1. with refine multiple times, i choose 10 times to refine 0 vanargand helm. and viola, i get +10 vanargand helm without fail
2. with safe item, when i go to +8 > +9, or +9 > +10, it say i can just using safe to 7 armor sertificate
maybe you can fix it? ><
its great script btw ^^
keep it up!
I'll check this as soon as possible, I believe on wednesday I'll have some time so I can do it. Thanks!
-
Thats too easy, if someone makes a replay(or packet capture), with just moving around the map, we can get to know exact monster count by checking unique GID
does the ragnarok replay files includes packets or GIDs? (Now I can think about the replay being a file with all packets received and that is "shown again")
Not sure if someone can do it, but I would suggest doing a list of what is missing so who wants to help can also get an idea of what he really have to replay to help, I know there's a post from kisuka with what changed in each episode, but I don't remember seeing a list of what is currently missing in herc.
-
@@xlaws27 about the debug, I'll check as soon as possible, do you know exactly when it appears? are you using hercules or rAthena?
I'll include the fail possibilities soon, I would like to add it and fix this debug before submiting a new version.
About the fail settings, it works this way:
Let's say:
--- Refine Success Chance: 60%
--- Fail Results: (they doesn't have to sum any specific value)
----- Stay as is : 40%
----- Go down 1 level : 30%
----- Go down to +0: 10%
By default, a chance is calculated by a random value between 0 and 100, if this value is smaller or equal to the sucess chance, it's a success if not, it is a fail. (this do make sense, as a chance of 60% is 60 numbers in a total of 100)
When fail results are set, it will be this way:
--- Try to refine (60%)
----- Success: Done
----- Fail:
-------- Calculates chance to stay as is
-------- Calculates chance to go down one level
-------- Calculates chance to go to +0
-------- Else: break item
Now I'm thinking if it would be better to make an array where you write fail possibilities
like: setarray .fails, 1, 1, 1, 2, 2, 3, 3, 3, 4; (total: 10 items)
so you would have 30% to break (1), 20% to stay as is (2), 30% to go down 1 level (3), 10% chance to go to +0 (4)
I'm accepting suggestions about this
I hope this makes these settings clear
-
As far as I know when you export it to a zip, you don't have it under version control anymore, so I believe the only way would be to do a new clone and overwrite files with your changes. When I have to backup my repo to use in another PC I zip the entire repo folder (as it contains .git folders which are used by git) by right clicking.
about mysql, I've never used workbench, but to migrate data exporting and reimporting should be enough, what is the error message?
Mikhail von Hohenheim reacted to this -
-
This debug didn't appear to me.
egg1.gat, 275, 178, 5 script Dressing Girl 1_F_MARIA,{ addtimer 1, strnpcinfo(0)+"::OnChangeBack"; mes "do you want to try out the look of some awesome headgear?"; next; .@headId = 0; switch(select("Upper:Middle:Lower")) { case 1: .@headId = select(.upperMenu$) - 1; .@headId = .upper[.@headId]; break; case 2: .@headId = select(.middleMenu$) - 1; .@headId = .middle[.@headId]; break; case 3: .@headId = select(.lowerMenu$) - 1; .@headId = .lower[.@headId]; break; } if ( getiteminfo( .@headId, 5 ) & 256 ) changelook LOOK_HEAD_TOP, getiteminfo( .@headId, 11 ); else if ( getiteminfo( .@headId, 5 ) & 512 ) changelook LOOK_HEAD_MID, getiteminfo( .@headId, 11 ); else if ( getiteminfo( .@headId, 5 ) & 1 ) changelook LOOK_HEAD_BOTTOM, getiteminfo( .@headId, 11 ); else { mes "this is not a headgear."; close; } mes "That's look nice on you"; close;OnChangeBack: .@top = getequipid(EQI_HEAD_TOP); changelook LOOK_HEAD_TOP, ( .@top == -1 )? 0 : getiteminfo( .@top, 11 ); .@mid = getequipid(EQI_HEAD_MID); changelook LOOK_HEAD_MID, ( .@mid == -1 )? 0 : getiteminfo( .@mid, 11 ); .@low = getequipid(EQI_HEAD_LOW); changelook LOOK_HEAD_BOTTOM, ( .@low == -1 )? 0 : getiteminfo( .@low, 11 ); end;OnInit: // Upper headgear setarray .upper[0], 29488; // middle headgear setarray .middle[0], 29489; // lower header setarray .lower[0], 29490; for ( .@i = 0; .@i < getarraysize(.upper); .@i++ ) .upperMenu$ = .upperMenu$ + getitemname(.upper[.@i]) +":"; for ( .@i = 0; .@i < getarraysize(.middle); .@i++ ) .middleMenu$ = .middleMenu$ + getitemname(.middle[.@i]) +":"; for ( .@i = 0; .@i < getarraysize(.lower); .@i++ ) .lowerMenu$ = .lowerMenu$ + getitemname(.lower[.@i]) +":"; end;}
-
@@JoyRo If I remember well you can run a query on account_data table and set base_exp to 2 for an account id, it will have double exp (maybe instead of 2 you may have to put the new rate)
So you've to add/set to a higher value when vip starts, and set back to 1 when vip ends
-
I've submited the new version, waiting for review.
-
For zeny you can set it at conf/char-server.conf, search for: start_zeny
For knife I think it's not possible to give a refined item through the config (unless you give a box) but you can do with script.
Something like:
OnPCLoginEvent: if (!firstLogin) { getitem2 1201,1,1,10,0,0,0,0,0; firstLogin = 1; }end;
I've not tested it but it should work without errors. This will give for a knife for each character on its first login, if you want one per account change firstLogin to #firstLogin
iRO Christmas 2016
in Event & Game Releases
Posted
well noted, I just got the last weight message (well, the missing of it) and will update the script soon, thanks!