-
Posts
150 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by PsyOps
-
-
I think this is related to PVP maps as I observed.
-
Quote
if player was waiting the item to complete and server reboot or restart during that period, player will get stuck as the count time kinda stuck and it keep saying player to wait until the progress is done
1. Create a $variable that uses gettimetick so that the server can fetch the data if the server reboots
2. Use a timer that checks if the $variable gettimetick is already done -
Thanks for the answer @Emistry.
-
Probably my question needs to be rephrased.
Lets say that the value of the .RewardList = 3;
Is there an existing script_command that will allow me to produce the value '2' as it includes reward 1 and 2.
its kind of like getting the array size of the bitmask value.
I hope i am asking it right but thanks @Emistry for the reply. -
// 1: Reward 1 | 2: Reward 2 | 4: Reward 3 // Sets Basic List of Rewards .RewardList = 1|2|4;
In this example, the variable .RewardList = 7;
Is there a way to detect how many rewards are there on this variable using bitmask?
-
Any errors showing up?
-
On 8/28/2023 at 7:33 AM, Emistry said:
currently supported, may use version 4.0
version 4.0 support bindatcmd
Thanks Emistry will check/try it
-
On 5/21/2022 at 2:38 AM, Playtester said:
Hmm this also works for me. I tried vs. Medusa and with Evil Druid Card or Medusa Card, I never get petrified.
The code is also in place in status.cpp:
case SC_STONE: case SC_STONEWAIT: case SC_FREEZE: // Undead are immune to Freeze/Stone if (undead_flag && !(flag&SCSTART_NOAVOID)) return 0; break;
You could debug there and check why it doesn't reach the "return 0" part in your test case.
For Medusa Card the could would be in status_get_sc_def:
// Item resistance (only applies to rate%) if (sd) { for (const auto &it : sd->reseff) { if (it.id == type) rate -= rate * it.val / 10000; } if (sd->sc.data[SC_COMMONSC_RESIST] && SC_COMMON_MIN <= type && type <= SC_COMMON_MAX) rate -= rate*sd->sc.data[SC_COMMONSC_RESIST]->val1/100; }
Note: That if you set undead_detect_type to "race", then of course Evil Druid Card doesn't protect you from Stone (has nothing to do with mobs, though). Medusa card would work either way.
Playtester is actually right about it but i think you need to check the git history about the updates for this. Or just download an updated trunk. They have solved this there.
-
On 11/25/2022 at 9:04 AM, shockwar14 said:
Hi Guys,
Is it possible to check duplicate IPs for GVG participants?. Some of my players are using multiple account just to join the event and abuse the rewards.
Im using mabuhay's script by the way.
Thanks!
Yes it is possible but really you can change your IP by just restarting your router. better use unique_id instead
-
On 11/26/2022 at 10:13 PM, shefer said:
Hello, everybody.
I tried
setmapflag "prontera", mf_nightenabled;
It was tested, but it didn't work.
Also, I plan to use it on my own custom maps, including instance.
Only the specified map turns into night, and I don't know how to do that.
it didn't work
you can just do a
prontera mapflag nightenabled
or use this
- script DayNight -1,{ OnClock0600: day; end; OnInit: // setting correct mode upon server start-up if (gettime(DT_HOUR)>=6 && gettime(DT_HOUR)<23) end; OnClock0000: night; end; }
+ rep if helps
-
On 11/27/2022 at 1:53 AM, mateus92br said:
Item 1:
19803,rGT_04,[DROP]Item rG,4,40,,200,,,,1,0xFFFFFFFF,7,2,1024,,0,0,929,{ bonus2 bDropAddRace,RC_All,50; if((isequipped(19803) && isequipped(19804) && isequipped(19805))) { bonus bRestartFullRecover; } },{},{}Item 2:
19804,rGT_05,[DROP]Item rG,5,20,,200,,,,0,0xFFFFFFFF,7,2,2048,,0,0,158,{ bonus2 bDropAddRace,RC_All,25; },{},{}Item 3:
19805,rGT_06,[DROP]Itemr rG,5,20,,200,,,,0,0xFFFFFFFF,7,2,4096,,0,0,818,{ bonus2 bDropAddRace,RC_All,25; },{},{}This script is not giving drop bonus rate, does anyone know whats wrong?
What do you mean it does not work? like it does not show on @rates?
-
I think it's client and pc compatibility issues. I have not experience this in more updated OS. Currently using the latest client atm.
-
Yes it is possible but you need to remove then entirely from the client files or just create a custom file to replace them even without removing the default ones.
-
I think this is a file that is actually in the default RO files. You just need to search for it.
-
I don't think script will do this for you. You need to create changed at the source code level for this.
As how i see this being done.
You need to do the following:
1. Create a new skill that is similar to Steal but as a passive.
2. If you want to disable heal you need to add a status on the monster to disable it's heal or refer to skills already on the game that prohibits heal on monsters and such.
Hope this helps! -
playBGM "<BGM filename>";
the way i understand it you need to add the file extension as "37.mp3"
-
Excellent graphics on those things.
- 1
-
Try to change .collection and .huting to 1 instead of true
only thing that i can think of right off the bat.
-
On 11/3/2022 at 2:20 PM, kalabasa said:
i also added this onto my refine_db from renewal refine_db
- Type: REFINE_COST_OVER10
Price: 100000
Material: 6223
- Type: REFINE_COST_HD
Price: 20000- Type: REFINE_COST_OVER10_HD
Price: 100000
Material: 6225How did you add these to your refine_db?
Probably that is where the problem is.
Or just try to check if the script will work if you change the materials required with more basic ones
I'd prefer to check the refine_db 1st -
Also tried that and it bugged. Probably the map is not available or the mapflag for the map is not enabled.
-
I think scripts can't do the trick on this. A source modification is needed for this purpose. And you have to also create a database for this purpose.
Depending on what you want to record for using items, it can be tedious to do. Also, i cannot imagine the amount of data you need to store for that purpose. XD -
I think yes. You can use that for a different purpose. But unlikely that can be done via script. You will need to reconfigure your source and client files for it.
-
10 hours ago, rayleigh said:
what if sir i want expanded class can reborn too. sorry i mean reborn not rebirth.
Then you would have create your own npc for it.
That is the only way to do it -
Quote
prontera,150,150,4 script Job Changer 720,{
if(BaseLevel < 230 || JobLevel < 70){mes "Im sorry but your level does not meet the requirements."; end;}
if(inarray(.allowedjob,Class) <= 0 ){mes "Im sorry but your job does not meet the requirements."; end;}
mes .npcname$;
mes "Hi! "+strcharinfo(0)+", Im the Job Changer";
mes "Each Player have free Instant Job each Account.";
next;// -- Configuration Option
set .npcname$,"[^4000C0Job Changer^000000]";
set .InfoMenu,1; // Classes Informations Option [ 0 - Disable / 1 - Enable ]
set .Trans2ndClassMenu,1; // Transcendent Class Option [ 0 - Disable / 1 - Enable ]
set .Allskills,0; // Complete Skills Option [ 0 - Disable / 1 - Enable ]
setarray .allowedjob[0],4008,4009,4010,4011,4012,4013,4015,4016,4017,4018,4019,4021,4020;
Main_Menu:
mes .npcname$;
mes "I am the Job Changer...";
next;
switch(select(( .InfoMenu == 0 )?"":"^4EEE94Classes Information^000000",
( .Trans2ndClassMenu == 0 )?"":"^0000FFTranscendent Job Classes^000000")) {
Case 2: goto Classes_info;
Case 3: goto TransSecondJob_Classes;
Case 4:
if ( .Based == 0 ){
set #ClassHelper,1;
}
if ( .Based == 1 ){
set ClassHelper,1;
}
close;
}TransSecondJob_Classes:
mes .npcname$;
mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes.";
next;
switch(select("^0000FFLord Knight^000000",
"^0000FFHigh Priest^000000",
"^0000FFHigh Wizard^000000",
"^0000FFWhitesmith^000000",
"^0000FFSniper^000000",
"^0000FFAssassin Cross^000000",
"^0000FFPaladin^000000",
"^0000FFChampion^000000",
"^0000FFProfessor^000000",
"^0000FFStalker^000000",
"^0000FFCreator^000000",
( Sex == 0 )?"":"^0000FFGypsy/Clown^000000",
( Sex == 1 )?"":"^0000FFClowm/Gypsy^000000",
"^FF0000Back^000000")) {// --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>;
Case 1:
callsub Job_Changing,4008,230,120,127,"Self";
Case 2:
callsub Job_Changing,4009,230,120,127,"Self";
Case 3:
callsub Job_Changing,4010,230,120,127,"Self";
Case 4:
callsub Job_Changing,4011,230,120,127,"Self";
Case 5:
callsub Job_Changing,4012,230,120,127,"Self";
Case 6:
callsub Job_Changing,4013,230,120,127,"Self";
Case 7:
callsub Job_Changing,4015,230,120,127,"Self";
Case 8:
callsub Job_Changing,4016,230,120,127,"Self";
Case 9:
callsub Job_Changing,4017,230,120,127,"Self";
Case 10:
callsub Job_Changing,4018,230,120,127,"Self";
Case 11:
callsub Job_Changing,4019,230,120,127,"Self";
Case 12:
callsub Job_Changing,4021,230,120,127,"Self";
Case 13:
callsub Job_Changing,4020,230,120,127,"Self";
Case 14: goto Main_Menu;
}Job_Changing:
if(countitem(.cata) < 1){
mes "You dont have the required item for this service.";
end;
}
delitem .cata,1;
mes .npcname$;
mes "You are now a part of ^FF0000"+jobname(getarg(0))+"^000000.";
jobchange getarg(0);
set BaseLevel,getarg(1);
set JobLevel,getarg(2);
ResetSkill;
ResetStatus;
set SkillPoint,getarg(3);
if ( .Allskills == 1 ){
atcommand "@allskills";
set SkillPoint,0;
}
percentheal 100,100;
if ( .Based == 0 ){
set #ClassHelper,1;
}
if ( .Based == 1 ){
set ClassHelper,1;
}
specialeffect2 445;
callfunc "F_GetPlatinumSkills";
sleep2 1000;
warp "prontera",116,72;
close;OnInit:
waitingroom "Job Changer",0;
end;
}
PS. I don't own this script but it is an instant job changer script.
You can modify it as needed. YOu might need to also check the amount of skills it sets.- 1
auto reset for attendance
in Scripting Support
Posted
I think this is what @Sapito Sucio is trying to tell you to do.
Though you have to really understand that attendance forces players to login/attend. On the days you want them active.
It would be best if you just use a daily reward script for the purpose of resetting your daily rewards.