richm 
Journeyman

Posts: 58
Likes Given: 4
Likes Received: 4 in 3 posts
Joined: Aug 2014
Reputation: 0
![]()
|
RE: Guild Town Features
This hasn't been tested, is not as efficient as it could be, and isn't complete but hopefully it gives you an idea how I would approach it...
You first need to take care of putting a tag GUILDTOWN on your player when they enter their own guild town. I think you should take care of this is the @RegionEnter and @RegionExit triggers for your Guild Town areadef.
E.G.
[AREADEF GUILDTOWN]
bla
bla
bla
ON=@REGIONENTER
SRC.TAG.GUILDTOWN 1
ON=@REGIONLEAVE /REGIONEXIT whatever it is
SRC.TAG.GUILDTOWN
You might want to consider adding a check to the above, to ensure the GUILDTOWN tag is only given to members of the guild town? Otherwise the raiders will also be able to expel although they can only expel their fellow raiders really.
[FUNCTION expel]
IF !<ISEMPTY <TAG.GUILDTOWN>> //HAS GUILDTOWN TAG
SYSMESSAGE @,,1 Who do you want to expel?
TARGETF f_expel
RETURN 1
ENDIF
SYSMESSAGE @,,1 You need to be in a Guild Town to use this command.
RETURN 1
[FUNCTION f_expel]
IF !<ARGO.ISPLAYER> //TARGET MUST BE A PLAYER
SRC.SYSMESSAGE @,,1 You can only use this on players.
RETURN 1
ELIF <ARGO.FINDID.i_rune_incognito> //PLAYER IS INCOGNITO
SRC.SYSMESSAGE @,,1 That player is incognito and cannot be expelled.
RETURN 1
ELIF <ARGO.FINDID.i_raider> //IS PLAYER //IS RAIDER //NOT INCOGNITO
IF <ARGO.FINDID.i_raider_immune> //HAS IMMUNITY
SRC.SYSMESSAGE @,,1 They are still immune from being expelled.
RETURN 1
ENDIF
ARGO.GO <Wherever you want to expel them to>
ARGO.SYSMESSAGE @,,1 You have been expelled from the guild town raid by <SRC.NAME>.
SRC.SYSMESSAGE @,,1 You have expelled <ARGO.NAME>.
ARGO.FINDID.i_raider.REMOVE //REMOVE RAIDER TAG
RETURN 1
ENDIF
RETURN 1
[TYPEDEF t_guildtown_telepad]
ON=@STEP
IF <SRC.ISPLAYER> //MAKE SURE IT IS A PLAYER
IF <SRC.IS_NOT_A_MEMBER_OF_THIS_GUILD_TOWN> // Need to script your check to make sure the player is not a guild town member.
IF !<SRC.FINDID.i_raider> //NOT ALREADY RAIDING
SERV.NEWITEM i_raider_immune
NEW.CONT <SRC>
SERV.NEWITEM i_raider
NEW.CONT <SRC>
ENDIF
ENDIF
SRC.GO <WHEREVER>
ENDIF
[ITEMDEF i_raider_immune]
ID=i_memory
NAME=Raider Immunity
WEIGHT=0
TYPE=t_eq_script
ON=@CREATE
TIMER = 1800 //30 mins
ATTR=attr_invis|attr_decay
ON=@TIMER
CONT.SYSMESSAGE @,,1 You are no longer immune from being expelled.
REMOVE
RETURN 1
[ITEMDEF i_raider]
ID=i_memory
NAME=Raider
WEIGHT=0
TYPE=t_eq_script
ON=@CREATE
TIMER = 172800 //48 hours
ATTR=attr_invis|attr_decay
ON=@TIMER
REMOVE
RETURN 1
|
|
05-18-2016 05:08 AM |
|
|