Jump to content

Timokha

Members
  • Content Count

    32
  • Joined

  • Last visited

About Timokha

  • Rank
    Advanced Member

Recent Profile Visitors

593 profile views
  1. Hello All, I have Charge Arrow Scroll, which calls skill "Charge Arrow". It costs 12 SP to use this scroll. The questions is: Is there any way to consume SP only after successfully use of this scroll? Currently it consumes SP immediately after using the scroll, even if the skill was not used or failed. Highly appreciate your help.
  2. Hello IndieRO, Thanks for your reply, but I am now creating PVP zones, where monsters (including mini-mvp) also spawns. I am trying to do so, if the player kills the mob, another player (if nearby) can pick up the drops without any delay, BUT it must not be applied to all the server maps, but only for my special PVP maps, where I use "Loadevent" mapflag, as example. Yes, thank you again, I think, it will also work, but it will consume many hours to make these script drops for more than 100+ mobs. BTW, if I use "makeitem" with OnMyMobDead label, how can I find the coordinates of dead mob? Previosly i've tried it, the item was created near the player, not the monster.
  3. Hello All, I'm wondering, if anyone has a solution, how to disable (set to 0) the time during which only the person who did the most damage to a monster can get the item for specific maps. In "drops.conf" I have "item_first_get_time: 3000", but I need to set it to 0 only for maps with mapflag "loadevent". I have the following script, but not sure to where I could set it in right way to make it works, if it is even possible. Thank you in advance. 🙏
  4. It perfectly works! Thanks a lot for your time and help! 🙏🙏🙏
  5. Hello Hyroshima, Many thanks for your assistance, that works awesome, as I needed! 😍 May you please also advise, what can I change in the script (or add to it), if I need to change maximum refinement level for one of our listed equipement? I mean, to make the maximum equipment refinement with the script as follows: 1. Helmet +7 2. Armor +10 3. Boots +10 4. Sword +10 5. Shield +10 I guess, I have to add additional condition here: //check if you still have an item with a refine lower than 10 //== for(set [email protected],0; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+1) if((getd("eqi_"[email protected][[email protected]])-1) < 10) setarray [email protected][getarraysize([email protected])],[email protected][[email protected]]; I tried something like this, to check variable name (for +10 and +7 equipment), but it doesnt work properly.. for(set [email protected],0; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+1) if((getd("eqi_"[email protected][[email protected]])-1) < 10 && "eqi_"[email protected][[email protected]] != "eqi_5011") setarray [email protected][getarraysize([email protected])],[email protected][[email protected]]; if((getd("eqi_"[email protected][[email protected]])-1) < 7 && "eqi_"[email protected][[email protected]] == "eqi_5011") setarray [email protected][getarraysize([email protected])],[email protected][[email protected]]; So I just wanna check, if I can refine with the script all items (+10), except for helmet (which stops at +7). 🙏
  6. Heh... 🤣 Ok, I need to create an item - "BOX". When the player opens the BOX, he receives one of five items (randomly): 1. Helmet 2. Armor 3. Boots 4. Sword 5. or Shield Next time, if the player opens the BOX and receives the same item, This item refines to next level +2, if again +3, and so up to level +10. After using the BOX several times, you may have the following equipment: 1. Helmet +5 2. Armor +2 3. Boots +1 4. Sword +3 5. or Shield +10 And now HERE, I want to see the following, And finally, if you have all equipment with refinement level 10: 1. Helmet +10 2. Armor +10 3. Boots +10 4. Sword +10 5. or Shield +10 The system just shows you, dispbottom "Bye bye."; Yeah, I understand, that it's sound a bit ridiculous, but it's cause I am trying to create a new mode of gaming in RO 🤣 In addition I mean, that only at the first step in all the cases you receive an item, at all another steps you receives only refinements for this item (equipment).
  7. Hyroshima, many thanks for your reply. Sure will share more details. I am working on script-function that will be called from an item. { Id: 30000 AegisName: "XXXX" Name: "Box" Type: "IT_USABLE" Script: <" callfunc "MY_FUNCTION"; "> }, The main idea, why I do not use "getrandgroupitem", cause inside any case I have 10 event-levels. At the first level, the player will get an equipment (as example), and at the next levels from 2 to 10, the player's equipment will be refined. Each case has different type of equipment (to get and refined). Below you can find "case 0" sample, case 0: if ( CASE0_ITEM == 0 ) { set CASE0_ITEM,1; getitem EQUIPMENT_0,1; dispbottom "[SYSTEM] You've just received EQUIPMENT_0."; end;} if ( CASE0_ITEM == 10 ) { // Here I have to stop producing refine levels // And jump to another "cases" if available, // cause my equipment reached the max level end;} set (CASE0_ITEM,CASE0_ITEM+1); // REFINE FUNCTION HERE dispbottom "[SYSTEM] Your EQUIPMENT_0 has been refined to LEVEL '" + CASE0_ITEM + "'."; end; So I am seeking for solution, how to stop random calling "case 0", if variable "CASE0_ITEM" reached value 10.
  8. Hi All ! I have a simple script-function, which randomly triggers different events. I am searching for a solution to make the following, if the event from "case 0" (or another cases) is ALREADY triggered with this function, then next time this function will call another random event except for "case 0" or another. Example (in random): case 3 -> case 1 -> case 2 -> case 5 -> case 0. None of these cases is repeated. After all I have to see the following, After using this function 5 times all 5 events have been randomly used (only once), and in the end the function calls another event, which will define, that all 5 events finally triggered. function script MY_FUNCTION { switch( rand(5) ) { case 0: //do that; end; case 1: //do that; end; case 2: //do that; end; case 3: //do that; end; case 4: //do that; end; } } I was thinking to use variables for each "case", but don't know, how to exclude the "case", when the script goes through "rand" function. I have to save triggering these events in random order. switch( rand(5) ) { case 0: //do that; set CASE_0_USED, 1; end; Any suggestions please? Thank you.
  9. But OnPCLoadMapEvent triggers when the character loads on specific map with label. I need to apply actions (specialeffect, getitem, etc) to all characters already located on map (already loaded).
  10. Hello all! Can you please advise, is there a solution to apply special effect on all characters located on specific map via script (ex. in Prontera)?
  11. Timokha

    @arealoot

    The plugin is perfectly working on the latest HERC. Check and use this code: https://github.com/dastgirp/HPM-Plugins/blob/master/src/plugins/%40arealoot.c And do not forget to mention the plugin name in \conf\plugins.conf
  12. Hello, I am adding account ID to the variable by the following scripts: set $MY_VARIABLE[0], getcharid(3); set $MY_VARIABLE[getarraysize($MY_VARIABLE)], getcharid(3); I have a list of values in this variable like: 2000000 2000001 2000002 etc It indicates, that these accounts are participating in the game. If the player fails, I need to delete it from this array, but cannot find the right script. Could you please advise, how can I exclude the player from this variable, if he dies on my map for example? OnPCDieEvent: if (strcharinfo(3) == MY_EVENT_MAP) { ???? dispbottom "Game over."; }
  13. Solved it. if (sd->npc_id > 0) return false;
  14. Hello, Could you please advise, how to disable @go command, when it used in NPC dialogue? If I put @go 0 as example to quick slot ALT+1, it shall TP char to prontera even if it's in a dialogue. I'd like to avoid that, cause many of my scripts were written without protections from such actions. I've found out, that @refresh has this restriction. In NPC dialogues @refresh just failed without any effect. Thanks in advance.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.