-
Posts
92 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by _Okuz_
-
Danz, Could you please give us information about the errors that you got? Thanks.
-
Maybe you just need to change some sets in your player.conf. // Prevent logout of players after being hit for how long (in ms, 0 disables)? prevent_logout: 10000 // When teleporting, or spawning to a map, how long before a monster sees you if you don't move? (time is in milliseconds) // That is, when you go to a map and don't move, how long before the monsters will notice you. // If you attack a monster, it will attack you back regardless of this setting. player_invincible_time: 5000 I hope it works! Att, _Okuz_.
-
I don't think you got how it works bro. Take a look at the description: This means that this event will only be triggered OnLogin if your stats are recalculated. If your stats are never recalculated then this event will never be triggered. Well, if you need something to happen only on player's login then you should use OnPCLoginEvent instead of OnPCStatCalcEvent. Att, _Okuz_.
-
Hi, PAY ATTENTION... YOU JUST NEED TO PUT NEW LINES IN THE END OF THE ONINIT... DONT TOUCH ANY OTHER PARTS OR YOU GONNA SCREW UP EVERYTHING. Take a look at my second post, I gave you an example by enabling rewards for Skoegul... please follow that example if you want to put more rewards for more castles... If they got 2 castles then they will receive the rewards according to your configurations found in the CALLSUBS(); PS: Still missing the point of how many times those GL are able to receive their reward... The way it is now they will get as many rewards as they want just by clicking the NPC... If you want them to receive only one reward per WoE or something like this I have to adjust some things. Att, _Okuz_
-
You are always welcome! Take a look at this point: Let's say we want to put a reward for Skoegul, then the OnInit: will be looking like this: OnInit: // Line format: // callsub(S_setCastleSalary, "<castle_map>", "<item_id>", "<amount>"); callsub(S_setCastleSalary, "prtg_cas01", "501", "10"); // Kriemhild callsub(S_setCastleSalary, "prtg_cas02", "501", "10"); // Swanhild callsub(S_setCastleSalary, "prtg_cas03", "501", "10"); // Fadhgridh callsub(S_setCastleSalary, "prtg_cas04", "501", "10"); // Skoegul (new line) } EDIT-- Mmm can you tell me when and how do you wish to reward your GL!?
-
Hello dnkip2, how are you buddy!? It seems that your script is giving you points on 15 minutes, 30 minutes and 45 minutes you have played. Can you please confirm this information!? Besides that, you can remove some checks in order to make it work as you expect. if (.@Minutes >= 30 && .@time_left == 0) dispbottom "You spend a total of [" + .@Time$ + "] playing."; Now I think your players will be noticed if they play 30 minutes or more. Thanks!
-
Hello Brahms, how are you buddy? I don't know what you meant by saying Facts... Maybe something like this: prontera,150,150,5 script Talking Facts NPC 690,{ end; OnTalk: freeloop(1); while (1) { npctalk "This is a fact..."; sleep 3000; npctalk "This is another fact..."; sleep 3000; } freeloop(0); end; OnInit: donpcevent strnpcinfo(3) + "::OnTalk"; } Every 3 seconds "3000" it will say "This is a fact..." and "This is another fact...", you can add more messages or change its time according to your needs. I hope it works! Att, _Okuz_.
-
Hello buddy, how are you!? Here is what you want, please test and tell me if it fits your needs. prontera,150,150,5 script Guild Salary Manager 109,{ if (!getcharid(2) || getguildmasterid(getcharid(2)) != getcharid(0)) { mes "[Manager]"; mes "Only Guild Masters are allowed to use my services."; close; } mes "[Manager]"; mes "I need to check if you are the owner of any active castle in order to proceed with your payment..."; next; set .@count, getarraysize(.castle_salary$); for (set .@i, 0; .@i < .@count; set .@i, .@i + 3) { if (getcastledata(.castle_salary$[.@i],1) == getcharid(2)) { getitem atoi(.castle_salary$[.@i + 1]), atoi(.castle_salary$[.@i + 2]); set .@received, 1; } } mes "[Manager]"; mes (.@received ? "Congratulations, you have a Castle and deserve a reward!" : "Unfortunately you need at least one Castle to earn a reward."); close; // Arg(0): castle_map // Arg(1): item_id // Arg(2): amount S_setCastleSalary: set .castle_salary$[getarraysize(.castle_salary$)], getarg(0); set .castle_salary$[getarraysize(.castle_salary$)], getarg(1); set .castle_salary$[getarraysize(.castle_salary$)], getarg(2); return; OnInit: callsub(S_setCastleSalary, "prtg_cas01", "501", "10"); callsub(S_setCastleSalary, "prtg_cas02", "501", "10"); callsub(S_setCastleSalary, "prtg_cas03", "501", "10"); } To put the rewards do this: callsub(S_setCastleSalary, "<castle_map>", "<item_id>", "<amount>"); PS: You can put more than one reward per castle, it's up to you. Att, _Okuz_.
-
I am unable to change humunuculos base lvl help me pls.
_Okuz_ replied to aswzin's question in General Support
It took me about 30 seconds to use the search tool and find someone that asked the same thing. I highly recommend you to always use the search tool before posting Btw, here is what you need: https://rathena.org/board/topic/80057-homunculus-max-level/ -
If you need someone who can help, please give more informations about what you want / need... You didn't even answered about What you want to do when the char is above its weight limit... And regarding the source mod found in that video, I doubt someone is going to post it here because its a paid source mod from https://rathena.org/board/user/477-goddameit/. Ask him to help you or feel free to wait as long as you want =]
-
@Kinkkynipps Can you post your entire script? So I can debug and fix that for you... It's pretty easy as Anacondaqq just said. All you need is to do is to check the OnPCKillEvent event and change it to not call the wav command OR you can just put the wav in your data/wav folder so you'll be able to hear the sound effect every 3 kills you have done.
-
@freide Não poste tópicos aqui se o conteúdo não estiver em inglês, ou algum moderador global vai te dar warning e mover seu tópico pro local correto. @topic Você precisa verificar as configurações de packet do seu servidor, aparentemente estão erradas. Use a ferramenta de busca do forum e procure por problemas iguais ao seu relacionados a packet que provavelmente você irá encontrar a solução. PS: Você postou uns acordes de alguma música, fiquei curioso... Atenciosamente, _Okuz_
-
Hello cmsm94, how you doing buddy? Yes it is. But let's say that you are above your weight limit (90%), then... Where do you want to put all those items? On the floor, maybe? It is a paid source mod I believe, but you can ask him if he wants to sell or trade... PS: Your request is not that hard to do, but unfortunately I don't have time to work on it now... I hope I have helped you in any way.
-
@jehadmalek Hello buddy, how are you? It's such an easy script to do, I'll be releasing it for you this evening, ok? C ya!
-
@Midas Hello buddy, how are you? This is a paid custom feature that was coded by Zephyr, you can buy it for 10$ dollars or you could learn by yourself how to build your own instance by reading the script documentation that you'll gonna find in the script_commands.txt file located on your doc/ folder. Take a look at the instance scripts, they can also help you to understand some details. Best regards, _Okuz_.
-
Have you already tried to find that quest on the script release section? (Looks like you already tried the search tool. haha) I'm able to do this but we need more info like screenshots, videos and others... Unfortunately this quest isn't enabled in 'bRO server' (Brazil RO). That's why I'm not able to debug its content by myself... I need to talk to Kurofly and other good scripters to check if they want to do this request along with me. Thanks!
-
@y0h4ne5 Hello buddy, how are you!? Kurofly did such a wonderful job, as he always do. However, I read that you want to raise the exp rate of both job and base. If so, you need to put an extra line to fix the exp job rate. Put this: sc_start SC_JEXPBOOST,24*60*60*1000,5; Above/bellow this: sc_start SC_EXPBOOST,24*60*60*1000,5; And don't forget to change the bonus value... Now it gives 400% exp rate instead of the 5% you want. Best regards, _Okuz_.
-
@Kakaroto Take a look at this: https://rathena.org/board/topic/106561-how-to-check-if-player-is-transformed/ If you're telling me that your script didn't work as expected then I need to ask you which rAthena revision are you using because Hagane no Bushi and Kurofly are telling us that this solution worked for both of them. According to the getstatus command description found in doc/script_commands.txt: According to SC_MONSTER_TRANSFORM status description found in doc/status_change.txt: val1 is related to the Monster Id of the transformation and getstatus(<status>,1) retrieves the val1 of the given status. Best regards, _Okuz_.
-
@Ben Bucks The damage is applied only to demons and undead because the element of PR_MAGNUS's attack is holy. If you want to hit all monsters inside the area of the skill then you need to change its behavior to use the neutral element, or whatever that fits your needs. I recommend that you read all the documentation of the skill_db.txt to be able to change its content accordingly. https://raw.githubusercontent.com/rathena/rathena/master/db/re/skill_db.txt PS: Maybe, that's more related to source modification support or database modification support. Best regards, _Okuz_.
-
@Mad Walker Here is what you have requested. - script itemdescs -1,{ OnAtcommand: mes "^3355FF[ Item Description Search ]^000000"; mes "Input item name:"; next; input .@item$; set .@result, searchitem(.@matches[0],.@item$); mes "^3355FF[ Item Description Search ]^000000"; mes "I found "+.@result+" items:"; next; for (set .@i, 0; .@i < .@result; set .@i, .@i + 1) { mes "<ITEMLINK>"+getitemname(.@matches[.@i])+"<INFO>"+.@matches[.@i]+"</INFO></ITEMLINK>"; mes "Click on the name of the item above."; } close; OnInit: bindatcmd "ii2",strnpcinfo(3)+"::OnAtcommand"; bindatcmd "itemdesc",strnpcinfo(3)+"::OnAtcommand"; } Changes I've made:
-
@myieee That's because this script behaves in a different way of what you have requested before. Did you find any problem with my script!? If so, please tell me because I gotta fix it asap to be used by another users. Best regards, _Okuz_.
-
@Oraios Done! C ya!
-
You're actually the first one to tell me something like this, even I don't think this way The only reason I script in such a heavy and eyes bleeding way is that having everything in the shortest space makes me able not to forget things. I know very well people would have a hard time reading it but if I did otherwise I would definetely forget things ^^ Really nice script, I like the way it's done, I've actually never read the kafra script but it seems it's very well done! Just a few notes: F_checkRequirements(6,... ... // Arg(0): flag (bit field) // 1 - Ensure that the class wanting to rent a pushcart is a class listed in the second arg ... if (getarg(0) & 1) { if (!.size) { explode(.class_id, getarg(1), ":"); set .size, getarraysize(.class_id); } for (set .@i, 0; .@i < .size; set .@i, .@i + 1) { if (Class == .class_id[.@i]) { set .@checked, 1; break; } } if (!.@checked) { mes "[Sophia]"; mes "I'm sorry, but the Pushcart rental service is not available for your class."; return 0; } } What's the point if you don't put the 1 bitmask? xD Also you can't set an integer array using the explode command cause it will return strings, I checked it just in case and your '.class_id' array is always empty if (getarg(0) & 4) { if (!getskilllv("MC_PUSHCART")) { mes "[Kafra Employee]"; mes "You can only rent a cart after learning the \"Push Cart\" skill."; return 0; } } She will always tell you that you don't have the skill, you don't give it ^^ @Kurofly Ops, my mistake.. explode is intended to be used with string arrays [FIXED] Regarding the bit field, well, let's say I have an equipment or item that gives me the skill, that way I don't need to check player's class. There are several ways to get the skill and I don't know how this would be done, then I'll leave as a bit field to be able to adjust when needed.@DutchDuck Can you tell us how do you intend to give your players the MC_PUSHCART skill? C ya!
-
Hello again AngelaKiss! =] Let's move to the next challenge: restrict in towns. We need an extra validation to check if the player's map have or not the mf_town mapflag, this mapflag tells to the -map-server that the flagged map is a town. Change this: if (checkhomcall() == 0 && (checkidle() / 60 >= .vaporize)) { To this: if (checkhomcall() == 0 && (checkidle() / 60 >= .vaporize) && !getmapflag(strcharinfo(3),mf_town)) { The final script must be like this: - script AFK_Vaporizer -1,{ OnPCLoginEvent: initnpctimer getcharid(3); end; OnTimer60000: if (checkhomcall() == 0 && (checkidle() / 60 >= .vaporize) && !getmapflag(strcharinfo(3),mf_town)) { atcommand "@useskill 244 1 "+strcharinfo(0); dispbottom "You are not allowed to farm with Homun while AFK."; } initnpctimer getcharid(3); end; OnInit: set .vaporize, 2; // How many minutes to use vaporize. } Thanks, C ya!
-
Hello Oraios, how are you buddy!? I can do it for you. I'll be back soon with your script. C ya! EDIT-- Here is your request: prontera,150,150,5 script Nemir Faiax 726,{ mes "[Nemir Faiax]"; mes "Hello young "+(Sex ? "man" : "lady")+"!"; mes "I'm able to refine ^FF0000all of your equipments^000000 to +5 without any price!"; mes "Plus, from +6 to +10 there's a chance of ^FF000025% of success^000000."; mes "What do you think!?"; next; if (select("Go ahead babe!")) { for (set .@i, 2; .@i < 10; set .@i, .@i + 1) { if (getequipid(.@i) > -1 /* && getequipisenableref(.@i) */) { if (getequiprefinerycnt(.@i) > 4 && getequiprefinerycnt(.@i) < 11) { if (rand(100) > 74) { successrefitem .@i; } else { failedrefitem .@i; } } else if (getequiprefinerycnt(.@i) < 5) { successrefitem .@i, 5; } } } } mes "[Nemir Faiax]"; mes "My job here is done."; mes "Bye!"; close2; emotion e_kis; end; } If you want to enable the refinable flag, change this: if (getequipid(.@i) > -1 /* && getequipisenableref(.@i) */) { To this: if (getequipid(.@i) > -1 && getequipisenableref(.@i)) { C ya!