Jump to content

Evelynn

Members
  • Posts

    93
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Evelynn

  1. Alright glad to hear that. Good luck with your server.
  2. I tested my script again just to ensure that it works. It worked for me; The script ran "Can't allow you to continue" when I had my turtle general card compounded on any equipment in my inventory. When I dropped the items, it ran "Thank you Evenlynn :)". Can you send me what you did to your script so I can take a look at what you did?
  3. Can you show us what you did to your skilltreeview.lua? ( Both of them ). skillinfoz folder and skillinfo folder.
  4. Whatever renewal feature you would like to keep, you would have to go to the location of it and remove the if RENEWAL that is connected to it. You will most likely have to edit the pre-re source out though so it doesn't interrupt each other.
  5. Your theory will work as well. I do not see an issue with that. That is most likely the easiest and simplest way.
  6. Ah thank you for showing me where it could be done. I don't scroll through the script command.txt since it's quite a documentation. I'm glad I was able to word out what was needed to be done though. Thanks again (:
  7. A theory that I was thinking of is using the card value each individual player has when the item is signed. I don't know how the number is determined nor do I know how it links to the character itself... However i've produced 3 items on the same character and they produced the same card ID. If we can somehow link this value with the character's ID then check if the ID matches with the current character that has the item then do whatever script.
  8. I do not know if bindatcmd will overwrite the original @afk or not. You should probably test it and see If that doesnt work then, heres something that may pull it off. the AFK command is based off of the Autotrade command. You can add a new script function to check if player is on autotrade mode Using if Player's Session Data state = sd->state.autotrade return 1; NOTE: This is my theory on how it could be achieved. It may not be 100% guaranteed.
  9. You increase the homunculus level by adding new lines inside the hom_exp.txt Each individual line = # of levels. The numbers is how much experience needed to level up.
  10. Of course there are downsides on increasing the numbers. The higher the number, the more memory slots you are creating and storing. Don't let this stop you from achieving what you want though.
  11. You can, but I think you would have to add your own session data variable then attach it to a item script. Similar how Intravision works, if you can make it read in the source as it does for intravision, you can achieve what you are looking for via checking the session data variable inside the area stated above. intravision session data sd->special_state.intravision NOTE: This is my hypothesis on how you would do it so I can't guarantee you that my method would work. Im sure it can be achieved though.
  12. Uhm the only thing I can think of for that is to add a condition inside the source where the freeze duration is calculated. src/map/status.c#L6378 case SC_FREEZE: sc_def = status->mdef*100; sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10; tick_def2 = status_src->luk*-10; //Caster can increase final duration with luk break; Have it check if the item is equipped then change accordingly. I am unsure if there is a script command for this....
  13. 1738,Constant@NPC_SELFDESTRUCTION,attack,173,1,10000,1000,0,no,self,always,0,,,,,,, The red area is where you edit the cast time. 173 is Self Destruct 1 is Skill Level 10000 = 100% 1000 = 1 Second
  14. Um it could be that it's trying to connect to your MySQL Server ( if you are using SQL... ) but your MySQL server is not recognizing it. You may also want to add them into your firewal exception / anti-virus. map-server_sql.exe char-server_sql.exe login-server_sql.exe When I launched those programs at first, it prompted me if I wanted to allow or deny the programs.
  15. If you wanted to be able to connect to different servers upon service select. This is how your clientinfo.xml would look like. <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <servicetype>korea</servicetype> <servertype>sakray</servertype> <connection> <display>Ragnarok Server 1</display> <desc>1x/1x/1x</desc> <address>127.0.0.1</address> <port>6900</port> <version>20</version> <langtype>1</langtype> <registrationweb></registrationweb> <loading> </loading> <aid> <admin>2000000</admin> </aid> </connection> <servicetype>korea</servicetype> <servertype>sakray</servertype> <connection> <display>Ragnarok Server 2</display> <desc>2x/2x/2x</desc> <address>127.0.0.1</address> <port>6900</port> <version>20</version> <langtype>1</langtype> <registrationweb></registrationweb> <loading> </loading> <aid> <admin>2000000</admin> </aid> </connection> </clientinfo>
  16. Did you place your humonculus.txt in the correct area? ( db/re or db/pre-re ). Also, you've exceeded the maximum limit for number of mercenaries. To increase the maximum value... src/common/mmo.h#L159 #define MAX_MERCENARY_CLASS 61
  17. Evelynn

    MATK Limit

    I am not sure if I am correct but it's worth a shot... src/map/status#L3987 if (bl->type&BL_PC && sd->matk_rate != 100) { status->matk_max = status->matk_max * sd->matk_rate/100; status->matk_min = status->matk_min * sd->matk_rate/100; } status->matk_max = status_calc_matk(bl, sc, status->matk_max); if ((bl->type&BL_HOM && battle_config.hom_setting&0x20) //Hom Min Matk is always the same as Max Matk || (sc && sc->data[SC_RECOGNIZEDSPELL])) status->matk_min = status->matk_max; else status->matk_min = status_calc_matk(bl, sc, status->matk_min); Perhaps you can add a conditional statement there to check if matk exceeds n value it'll equal to fixed x amount. The area I stated may be wrong area btw, just a heads up. For other limits, I'd guess you'd have to search for each individual one inside the source. ---------------------------------------------- I tested with if (bl->type&BL_PC && sd->matk_rate != 100) { if ( status->matk_min >= 20000 && status->matk_max >= 20000 ){ status->matk_min = 20000; status->matk_max = 20000; } else { status->matk_max = status->matk_max * sd->matk_rate/100; status->matk_min = status->matk_min * sd->matk_rate/100; } } Sadly, it didn't work. I am not sure if it is the correct area or not or if im not reading the code correct, but I tried X:. There may another area that I don't know about... Oh well.
  18. You are looking at the mercenary_skill_db and not mercenary_db This is what you need mercenary_db.txt homunculus_db.txt ( Renewal ) homunculus_db.txt ( Pre Renewal ) Your quest database is located at db/quest_db.txt You exceeded the maximum limit of quests you are able to have inside your quest database. To increase the maximum amount, you have to change it in the source. src/common/mmo.h#L103 #define MAX_QUEST_DB 2700 //Max quests that the server will load
  19. 1. You are missing the homunculus.txt file inside your db folder. 2. Your mercenary_db is not up to date. You are missing Mercenary IDs I suggest you replace your current mercenary_db.txt with a newer one. 3. You have too many quests inside your quest_db. You can define the maximum amount of quests available inside the code Let me search for the area. ----------------------------- src/common/mmo.h#L103 #define MAX_QUEST_DB 2700 //Max quests that the server will load
  20. You can add walls to a particular area of the map. However, if you have random spawn points, the monsters may spawn inside the wall. I do not know if there is a check for monster position. *setwall "<map name>",<x>,<y>,<size>,<dir>,<shootable>,"<name>"; *delwall "<name>"; Creates an invisible wall, an array of "setcell" starting from x,y and doing a line of the given size in the given direction. The difference with setcell is this one update client part too to avoid the glitch problem. Directions are the same as NPC sprite facing directions: 0=north, 1=northwest, 2=west, etc.
  21. Since no one else is providing support x:... Try re-diffing your client ( Remaking your executable ) using basic diffs just to see if it'll run then change around after it works. If you have another RO folder, you can try launching from there as well.
  22. It seems like your service provider somehow deleted some of your files. Basicly the error is saying that you do NOT have those files inside the folder npc/re/guild. Did you try downloading them both and placing them inside your npc/re/guild folder? -EDIT Looks like it was resolved (:
  23. Ah right, sorry I forgot about the rewards after 100 points. When you want it to delete points the command you would want to use is if (RANDOMPOINTS == 100 ) { // Checks if condition is met ( Value is 100 as you asked for ). getitem 501,1; // Red Potion set RANDOMPOINTS,RANDOMPOINTS - 100; } The complete script would look like this: prontera,160,180,4 script NPCNAME1 999,{ setarray .@reward[0],501,1; // Set this to what you want your prize item to be and the amount. set .@price,100; // Set this to whatever value you wish your players to pay. set .@rand,rand(1,10); // Set this to what point reward you want to range from. 1-10 set .@remove,100; // Set this value to how ever points you want to be removed when condition is met. mes "You have "+RANDOMPOINTS+" points"; mes " "; mes "Would you like to donate "+.@price+"z?"; switch(select("Yes:No" )) { case 1: if(Zeny < .@price){ // Checks if Player has enough Zeny. mes "You do not have enough Zeny..."; close; } mes "You have donated "+.@price+"z."; mes " "; mes "You have gained "+.@rand+" points"; set RANDOMPOINTS,RANDOMPOINTS + .@rand; // Adds Points based on .@rand amount set Zeny,Zeny - .@price; // Removes Zeny if (RANDOMPOINTS >= .@remove ) { // Checks if player has enough points for reward next; mes "You have "+RANDOMPOINTS+" Points!"; mes "Here is a reward for your generosity"; getitem .@reward[0],.@reward[1]; // Reward is given here set RANDOMPOINTS,RANDOMPOINTS - .@remove; // Points are removed here. } close; case 2: mes "Come again another time!"; close; } }
  24. inheritence is how third classes receive their first job / second job skills. Third job inherits from 2nd job which also inherits from 1st job. You can try making the archer class inherit from Ranger class. I am not sure if this'll work but it was worth the try.
  25. I stated for you to try restarting your server since you said you didn't before . I found another mapflag folder inside your NPC folder... npc/mapflag/gvg.txt This is where the gvg_castle mapflag is located for each individual castle. Try to check and see if the map 'pay_gcas02' has the mapflag in that text document. Hopefully this is the problem. Good luck!
×
×
  • Create New...