Mikado Posted February 14, 2013 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 26 Reputation: 2 Joined: 11/08/12 Last Seen: March 22 Share Posted February 14, 2013 I know I can block a certain skill with skill_blockpc_start, but how can I block every skill of the given character for a given time? Thank you. Quote Link to comment Share on other sites More sharing options...
Nipsino Posted February 14, 2013 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 218 Reputation: 16 Joined: 01/24/12 Last Seen: May 24, 2015 Share Posted February 14, 2013 Put the character into a state where they can't use any of their skills, like berserk or something. Quote Link to comment Share on other sites More sharing options...
Mikado Posted February 14, 2013 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 26 Reputation: 2 Joined: 11/08/12 Last Seen: March 22 Author Share Posted February 14, 2013 What?! That's ridiculous O_o berserk will change player status, remove buffs and a lot of non sense things. skill_blockpc_start forces a cooldown on the character (with the cat footsprint on the desired skill) just like when you cast Storm Gust without "A poem of bragi", every skill is disabled for about 7 seconds <- that's what I want, the cat footsprint and a forced delay for a time. Quote Link to comment Share on other sites More sharing options...
goddameit Posted February 14, 2013 Group: Members Topic Count: 60 Topics Per Day: 0.01 Content Count: 562 Reputation: 219 Joined: 11/22/11 Last Seen: August 3, 2024 Share Posted February 14, 2013 (edited) I guess you just need to add a bool define in 3 main skill function ( skill_castend_damage_id, skill_castend_nodamage_id, and skill_castend_pos2 ) and if bool = true then '' return 0; '' before run anything. Edited February 14, 2013 by goddameit Quote Link to comment Share on other sites More sharing options...
Mikado Posted February 14, 2013 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 26 Reputation: 2 Joined: 11/08/12 Last Seen: March 22 Author Share Posted February 14, 2013 (edited) I guess you just need to add a bool define in 3 main skill function ( skill_castend_damage_id, skill_castend_nodamage_id, and skill_castend_pos2 ) and if bool = true then '' return 0; '' before run anything. Hmmm, I don't get why I should return 0. Could you be more precise? For now I've got a function present in those 3 functions, when the skill id is one of what I want to have a certain delay, I force it with skill_blockpc_start but that just works with one skill, while I want the cooldown to be present in every skill. This is an anti-nodelay "fix", so I want it to be the minimum cooldown (even with a poem of bragi and delay reductions). But as it only blocks one skill and doesn't cooldown the character itself it's a bad solution. Edited February 14, 2013 by Mikado Quote Link to comment Share on other sites More sharing options...
clydelion Posted February 14, 2013 Group: Members Topic Count: 17 Topics Per Day: 0.00 Content Count: 754 Reputation: 186 Joined: 05/22/12 Last Seen: October 15, 2022 Share Posted February 14, 2013 You can make a new SC_, then add a check in the "skillnotok" function if that status is applied to the character. e.g. skill.c if (pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL)) return 0; // can do any damn thing they want + if( sd->sc.data[SC_NOSKILL] ) + return 0; if( skill_id == AL_TELEPORT && sd->skillitem == skill_id && sd->skillitemlv > 2 ) return 0; // Teleport lv 3 bypasses this check.[Inkfish] You'll have to exclude this new SC from being removed when relogging/status clearing skills are used against the character. another way is to make a new flag.. but relogging will remove the flag. Quote Link to comment Share on other sites More sharing options...
Mikado Posted February 14, 2013 Group: Members Topic Count: 13 Topics Per Day: 0.00 Content Count: 26 Reputation: 2 Joined: 11/08/12 Last Seen: March 22 Author Share Posted February 14, 2013 (edited) I've managed to do it using some SC_ as you suggested, I'm using the sc_start() function to set the desired time, but I'm worried about the status clearing skills (no need to check it when relogging, as it will never be more than 0.7 seconds), I think a flag would be a better solution, but how can I set temporal flags? Edited February 14, 2013 by Mikado Quote Link to comment Share on other sites More sharing options...
Question
Mikado
I know I can block a certain skill with skill_blockpc_start, but how can I block every skill of the given character for a given time?
Thank you.
Link to comment
Share on other sites
6 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.