MyNoobScriptz Posted March 8, 2024 Posted March 8, 2024 //REDUCE HP PLAYER OUT OF ZONE prontera,1,1,1 script AutoReduceHP HIDDEN_NPC,{ end; OnTimer2000: .@percent = -30; .@size = getareaunits(BL_PC,"prontera",145,83,164,69,.@aid); if (.@size > 0) { for (.@i = 0; .@i < .@size; .@i++) { if (attachrid(.@aid[.@i])) { if (Hp <= MaxHp) { specialeffect2 107; percentheal .@percent, .@percent; if (Hp < 5) { warp "SavePoint",0,0; } } detachrid; } } } initnpctimer; end; OnInit: initnpctimer; end; } hi rathena i have script from rathena, but i need to convert script if player out of area hp - 30 % every 2 second can anyone help me please Quote
0 Racaae Posted March 14, 2024 Posted March 14, 2024 (edited) On 3/8/2024 at 12:46 PM, MyNoobScriptz said: can you share some example script like you comment, please Hello. Use getareaunits to get everyone who is in the "safe zone". Then use getmapunits to get everyone on the map. Compare the two lists and attach the players who aren't on both arrays since this means they are out the area. //REDUCE HP PLAYER OUT OF ZONE prontera,1,1,1 script AutoReduceHP HIDDEN_NPC,{ end; OnTimer2000: .@percent = -30; .@SafeArea = getareaunits(BL_PC,"prontera",145,83,164,69,.@safe_aid); .@size = getmapunits(BL_PC,"prontera",.@aid); if (.@size > 0) { for (.@i = 0; .@i < .@size; .@i++) { if (inarray(.@safe_aid, .@aid[.@i]) < 0) { if (attachrid(.@aid[.@i])) { if (Hp <= MaxHp) { specialeffect2 107; percentheal .@percent, .@percent; if (Hp < 5) { warp "SavePoint",0,0; } } detachrid; } } } } initnpctimer; end; OnInit: initnpctimer; end; } Edited March 14, 2024 by Racaae Added script 1 Quote
0 Rynbef Posted March 8, 2024 Posted March 8, 2024 Add a getmapxy and check for the range by if statements. If Player ist out of the zone reduce HP and sp. Rynbef~ Quote
0 MyNoobScriptz Posted March 8, 2024 Author Posted March 8, 2024 3 hours ago, Rynbef said: Add a getmapxy and check for the range by if statements. If Player ist out of the zone reduce HP and sp. Rynbef~ can you share some example script like you comment, please Quote
Question
MyNoobScriptz
//REDUCE HP PLAYER OUT OF ZONE prontera,1,1,1 script AutoReduceHP HIDDEN_NPC,{ end; OnTimer2000: .@percent = -30; .@size = getareaunits(BL_PC,"prontera",145,83,164,69,.@aid); if (.@size > 0) { for (.@i = 0; .@i < .@size; .@i++) { if (attachrid(.@aid[.@i])) { if (Hp <= MaxHp) { specialeffect2 107; percentheal .@percent, .@percent; if (Hp < 5) { warp "SavePoint",0,0; } } detachrid; } } } initnpctimer; end; OnInit: initnpctimer; end; }
hi rathena i have script from rathena, but i need to convert script if player out of area hp - 30 % every 2 second
can anyone help me please
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.