Finale Posted September 8, 2023 Group: Members Topic Count: 17 Topics Per Day: 0.02 Content Count: 37 Reputation: 0 Joined: 06/09/23 Last Seen: November 18, 2023 Share Posted September 8, 2023 Hi Guys, Requesting for a Freeze Status command wherein if I type @freeze all players inside a specific map will be frozen state and will be unfrozen once I type @unfrozen. Thanks in advance! Quote Link to comment Share on other sites More sharing options...
0 Winterfox Posted September 8, 2023 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 245 Reputation: 93 Joined: 06/30/18 Last Seen: November 27, 2024 Share Posted September 8, 2023 I didn't test it, but this should do what you want. - script FREEZE FAKE_NPC,{ OnInit: bindatcmd("freeze", strnpcinfo(3) + "::OnFreeze"); bindatcmd("unfreeze", strnpcinfo(3) + "::OnUnfreeze"); end; OnFreeze: .@mode = 1; OnUnfreeze: getmapunits(BL_PC, getarg(0), .@players); freeloop(1); for(.@i = 0; .@i < getarraysize(.@players); .@i++) pcblockmove(.@players[.@i], .@mode); freeloop(0); } Quote Link to comment Share on other sites More sharing options...
0 Finale Posted September 8, 2023 Group: Members Topic Count: 17 Topics Per Day: 0.02 Content Count: 37 Reputation: 0 Joined: 06/09/23 Last Seen: November 18, 2023 Author Share Posted September 8, 2023 1 hour ago, Winterfox said: I didn't test it, but this should do what you want. - script FREEZE FAKE_NPC,{ OnInit: bindatcmd("freeze", strnpcinfo(3) + "::OnFreeze"); bindatcmd("unfreeze", strnpcinfo(3) + "::OnUnfreeze"); end; OnFreeze: .@mode = 1; OnUnfreeze: getmapunits(BL_PC, getarg(0), .@players); freeloop(1); for(.@i = 0; .@i < getarraysize(.@players); .@i++) pcblockmove(.@players[.@i], .@mode); freeloop(0); } Hi Thank you! I will test this script. Quote Link to comment Share on other sites More sharing options...
0 Finale Posted September 8, 2023 Group: Members Topic Count: 17 Topics Per Day: 0.02 Content Count: 37 Reputation: 0 Joined: 06/09/23 Last Seen: November 18, 2023 Author Share Posted September 8, 2023 1 hour ago, Winterfox said: I didn't test it, but this should do what you want. - script FREEZE FAKE_NPC,{ OnInit: bindatcmd("freeze", strnpcinfo(3) + "::OnFreeze"); bindatcmd("unfreeze", strnpcinfo(3) + "::OnUnfreeze"); end; OnFreeze: .@mode = 1; OnUnfreeze: getmapunits(BL_PC, getarg(0), .@players); freeloop(1); for(.@i = 0; .@i < getarraysize(.@players); .@i++) pcblockmove(.@players[.@i], .@mode); freeloop(0); } I got this error while running the command. Is it also possible that this command will only be available to group ID 99? and will only work in a specific map? Quote Link to comment Share on other sites More sharing options...
0 Winterfox Posted September 8, 2023 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 245 Reputation: 93 Joined: 06/30/18 Last Seen: November 27, 2024 Share Posted September 8, 2023 - script FREEZE FAKE_NPC,{ OnInit: bindatcmd("freeze", strnpcinfo(3) + "::OnFreeze"); bindatcmd("unfreeze", strnpcinfo(3) + "::OnUnfreeze"); end; OnFreeze: .@mode = 1; OnUnfreeze: getmapunits(BL_PC, .@atcmd_parameters$[0], .@players); freeloop(1); for(.@i = 0; .@i < getarraysize(.@players); .@i++) pcblockmove(.@players[.@i], .@mode); freeloop(0); } Quote Link to comment Share on other sites More sharing options...
0 Finale Posted September 8, 2023 Group: Members Topic Count: 17 Topics Per Day: 0.02 Content Count: 37 Reputation: 0 Joined: 06/09/23 Last Seen: November 18, 2023 Author Share Posted September 8, 2023 9 minutes ago, Winterfox said: - script FREEZE FAKE_NPC,{ OnInit: bindatcmd("freeze", strnpcinfo(3) + "::OnFreeze"); bindatcmd("unfreeze", strnpcinfo(3) + "::OnUnfreeze"); end; OnFreeze: .@mode = 1; OnUnfreeze: getmapunits(BL_PC, .@atcmd_parameters$[0], .@players); freeloop(1); for(.@i = 0; .@i < getarraysize(.@players); .@i++) pcblockmove(.@players[.@i], .@mode); freeloop(0); } The error is gone but I got this new message Quote Link to comment Share on other sites More sharing options...
0 Winterfox Posted September 9, 2023 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 245 Reputation: 93 Joined: 06/30/18 Last Seen: November 27, 2024 Share Posted September 9, 2023 (edited) 2 hours ago, Finale said: The error is gone but I got this new message Well, you wanted to be able to give it a map, so you must provide a map as first parameter: @freeze prontera. Edited September 9, 2023 by Winterfox Quote Link to comment Share on other sites More sharing options...
0 Finale Posted September 9, 2023 Group: Members Topic Count: 17 Topics Per Day: 0.02 Content Count: 37 Reputation: 0 Joined: 06/09/23 Last Seen: November 18, 2023 Author Share Posted September 9, 2023 1 hour ago, Winterfox said: Well, you wanted to be able to give it a map, so you must provide a map as first parameter: @freeze prontera. Ohh... I see sorry I didn't understand at first. Its working! Is it possible to only restrict this command to GMs? or group id 99? Quote Link to comment Share on other sites More sharing options...
0 Winterfox Posted September 9, 2023 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 245 Reputation: 93 Joined: 06/30/18 Last Seen: November 27, 2024 Share Posted September 9, 2023 - script FREEZE FAKE_NPC,{ OnInit: .@group = 99; bindatcmd("freeze", strnpcinfo(3) + "::OnFreeze", .@group); bindatcmd("unfreeze", strnpcinfo(3) + "::OnUnfreeze", .@group); end; OnFreeze: .@mode = 1; OnUnfreeze: getmapunits(BL_PC, .@atcmd_parameters$[0], .@players); freeloop(1); for(.@i = 0; .@i < getarraysize(.@players); .@i++) pcblockmove(.@players[.@i], .@mode); freeloop(0); } 1 Quote Link to comment Share on other sites More sharing options...
0 Finale Posted September 10, 2023 Group: Members Topic Count: 17 Topics Per Day: 0.02 Content Count: 37 Reputation: 0 Joined: 06/09/23 Last Seen: November 18, 2023 Author Share Posted September 10, 2023 16 hours ago, Winterfox said: - script FREEZE FAKE_NPC,{ OnInit: .@group = 99; bindatcmd("freeze", strnpcinfo(3) + "::OnFreeze", .@group); bindatcmd("unfreeze", strnpcinfo(3) + "::OnUnfreeze", .@group); end; OnFreeze: .@mode = 1; OnUnfreeze: getmapunits(BL_PC, .@atcmd_parameters$[0], .@players); freeloop(1); for(.@i = 0; .@i < getarraysize(.@players); .@i++) pcblockmove(.@players[.@i], .@mode); freeloop(0); } All good now thank you @Winterfox Quote Link to comment Share on other sites More sharing options...
Question
Finale
Hi Guys,
Requesting for a Freeze Status command wherein if I type @freeze all players inside a specific map will be frozen state and will be unfrozen once I type @unfrozen.
Thanks in advance!
Link to comment
Share on other sites
9 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.