Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //****************************************************************************
- // SPHERE by : Menasoft ©1997-2007
- // www.sphereserver.net
- // All SPHERE script files and formats are copyright Menasoft & Partners.
- // This file may be freely edited for personal use, but may not be distributed
- // in whole or in part, in any format without express written permission from
- // Menasoft & Partners. All donations and contributions
- // become the property of Menasoft & Partners.
- //****************************************************************************
- // FILE LAST UPDATED: Sunday, October 6, 2013
- //
- VERSION=0.56c
- [SPEECH spk_player]
- // All players speech filtered through here.
- ON=*
- IF (<dARGN1> == 13) && (<GUILD>)
- F_CHAT_SEND_BUTTON 3,CHATGUILD,<UID>,<ARGS>
- ELIF (<dARGN1> == 0)
- IF STRMATCH(*<STRSUB 0 1 <ARGS>>*,*<DEF.cfg.PARTY.CHAT.PREFIX>*)
- ARGS <STRSUB 1 <EVAL STRLEN(<ARGS>)-1> <ARGS>>
- IF STRMATCH(ADD,<ARGS>)
- PARTYADD
- RETURN 1
- ELIF STRMATCH(QUIT,<ARGS>)
- PARTYQUIT
- RETURN 1
- ELIF STRMATCH(ACCEPT,<ARGS>)
- PARTYACCEPT
- DIALOG_CLOSE D_PARTY_ACCEPT
- RETURN 1
- ELIF STRMATCH(DECLINE,<ARGS>)
- PARTYDECLINE
- DIALOG_CLOSE D_PARTY_ACCEPT
- RETURN 1
- ELSE
- IF (!<ISEMPTY <ARGS>>) && (<F_ISINPARTY>) && (!<dTAG0.PARTY.MSGDELAY>)
- F_PARTY_MSG_ALL @044,,1 [PARTY][<NAME>]: <ARGS>
- F_CHAT_SEND_BUTTON 2,CHATPARTY,<UID>,<ARGS>
- TAG0.PARTY.MSGDELAY 1
- TIMERF <dDEF.cfg.PARTY.PM.DELAY>,TAG0.PARTY.MSGDELAY
- RETURN 1
- ENDIF
- ENDIF
- ELSE
- F_CHAT_SEND_BUTTON 4,CHATGENERAL,<ARGS>
- ENDIF
- ENDIF
- RETURN 0
- ON=home home home // Ghosts can go home.
- IF (<FLAGS>&statf_dead)
- go <home>
- endif
- ON=I must consider my sins
- ON=I resign from my guild
- ON=I resign from my town
- ON=*Guard help *
- ON=*Guards*
- ON=*Help Guards*
- // trying to call guards for help.
- /////////////// house24.scp den alındı
- ON=*lock this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_lock
- src.sysmessage @,,1 What do you wish to lockdown?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*unlock this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_lock
- src.sysmessage @,,1 What do you wish to release?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*secure this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_secure
- src.sysmessage @,,1 What do you wish to secure?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*unsecure this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_secure
- src.sysmessage @,,1 What do you wish to release?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*move north*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_moven
- src.sysmessage @,,1 What do you wish to move?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*move south*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_moves
- src.sysmessage @,,1 What do you wish to move?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*move east*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_movee
- src.sysmessage @,,1 What do you wish to move?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*move west*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_movew
- src.sysmessage @,,1 What do you wish to move?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*raise this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_raise
- src.sysmessage @,,1 What do you wish to raise?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*lower this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_lower
- src.sysmessage @,,1 What do you wish to lower?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*flip this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_flip
- src.sysmessage @,,1 What do you wish to flip?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*release this*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_release
- src.sysmessage @,,1 What do you wish to release?
- return 1
- else
- src.sysmessage @32,,1 You must be in your house to do that.
- return 1
- endif
- ON=*bank*
- if !<src.isgm>
- if <def.can_bank>
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.is_friend>) || (<src.isgm>)
- src.bankself
- src.sysmessage You have <src.bankbalance> gold in your Bank Box
- else
- return 0
- endif
- endif
- else
- src.bankself
- return 0
- endif
- ON=*eject*
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.is_friend>) || (<src.isgm>)
- src.targetf, f_eject
- else
- return 0
- endif
- ON=Ban Person
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- src.targetf, f_add_ban
- else
- return 0
- endif
- ON=Place trashcan
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- ref1=<src.region.tag0.sign>
- if (<ref1.tag0.trashcan>)
- src.sysmessage @32,,1 You already have a trashcan.
- return 1
- else
- serv.newitem i_trashcan
- new.p=<src.p>
- new.attr=attr_move_never
- ref1.tag0.trashcan=<new.uid>
- endif
- else
- return 0
- endif
- ON=Remove trashcan
- if <QVAL <def.account_ownership>? (<src.acc_is_owner>):(<src.is_owner>)> || (<src.is_coowner>) || (<src.isgm>)
- ref1=<src.region.tag0.sign>
- if (<ref1.tag0.trashcan>)
- try uid.<ref1.tag0.trashcan>.remove
- ref1.tag.trashcan=
- else
- src.sysmessage @32,,1 You have no trashcan to remove.
- return 1
- endif
- else
- return 0
- endif
- ON=*house commands*
- src.sdialog d_house_commands
- /////////////////////////////
- [SPEECH spk_pet]
- ON=TRANSFER
- IF (<memoryfindtype.memory_war_targ>)
- src.sysmessage You can't transfer an animal while it's attacking something.
- return 1
- ENDIF
- IF (<TAG0.SALARY>)
- RETURN 1
- ENDIF
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- FINDID.i_pet_rampage.REMOVE
- SRC.ANIMALTRANSFER <UID>
- ENDIF
- RETURN 1
- ON=FRIEND
- RETURN 1
- ON=RELEASE
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (<TAG0.SALARY>)
- RETURN 1
- ENDIF
- IF (<TAG0.ESCORTED>)
- REF1=<FINDID.i_questsys_escorted>
- REF2=<REF1.MORE1>
- WHILE (<LOCAL.QUEST> != <REF1.MORE2>)
- LOCAL.QUEST=<REF2.TAG0.QUEST<dLOCAL._WHILE>.ID>
- LOCAL.QUESTRIGHT=<LOCAL._WHILE>
- ENDWHILE
- REF2.QUITQUEST <LOCAL.QUESTRIGHT>
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- IF ((<ISEVENT.e_bonded>) && (<FLAGS>&STATF_INVUL))
- SRC.SYSMESSAGE @946,3,1 You can't release a dead bonded animal!
- RETURN 1
- ENDIF
- IF (<memoryfindtype.memory_war_targ>)
- src.sysmessage You can't release a pet that is attacking someone.
- return 1
- ENDIF
- TRIGGER @PetDesert
- IF (<TAG0.BONDEDTIME>)
- TAG.BONDEDTIME
- ENDIF
- FINDID.i_pet_rampage.REMOVE
- RELEASE
- RETURN 1
- ELSE
- RETURN 1
- ENDIF
- ON=GO
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (<TAG0.SALARY>)
- RETURN 1
- ENDIF
- IF (<SRC.FLAGS>&STATF_DEAD)
- RETURN 1
- ENDIF
- IF (<BASEID> == c_revenant)
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- FLOAT.CONTROLCHANCE=<FLOATVAL (<F_PETCONTROL <REF1>>/100)>
- IF (<FLOAT.CONTROLCHANCE> <= <RANDOMDOUBLE>) && (85 >= <R1,100>)
- MESSAGE @,,2 1043255,<NAME>
- TRIGGER @PetDesert
- RELEASE
- RETURN 1
- ENDIF
- ENDIF
- FINDID.i_pet_rampage.REMOVE
- REMOVEALLMEMS MEMORY_FIGHT
- REMOVEALLMEMS MEMORY_WAR_TARG
- FLAGS &= ~<DEF.STATF_WAR>
- HOME -1,-1
- ON=kill
- ON=Attack
- IF (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (<TAG0.SALARY>)
- RETURN 1
- ENDIF
- IF (<SRC.FLAGS>&STATF_DEAD)
- RETURN 1
- ENDIF
- FINDID.i_pet_rampage.REMOVE
- FLAGS |= <DEF.STATF_WAR>
- ON=STAY
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- FLOAT.CONTROLCHANCE=<FLOATVAL (<F_PETCONTROL <REF1>>/100)>
- IF (<FLOAT.CONTROLCHANCE> <= <RANDOMDOUBLE>) && (85 >= <R1,100>)
- MESSAGE @,,2 1043255,<NAME>
- TRIGGER @PetDesert
- RELEASE
- RETURN 1
- ENDIF
- ENDIF
- FINDID.i_pet_rampage.REMOVE
- REMOVEALLMEMS MEMORY_FIGHT
- REMOVEALLMEMS MEMORY_WAR_TARG
- FLAGS &= ~<DEF.STATF_WAR>
- ACTION=064
- ON=STOP
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- FLOAT.CONTROLCHANCE=<FLOATVAL (<F_PETCONTROL <REF1>>/100)>
- IF (<FLOAT.CONTROLCHANCE> <= <RANDOMDOUBLE>) && (85 >= <R1,100>)
- MESSAGE @,,2 1043255,<NAME>
- TRIGGER @PetDesert
- RELEASE
- RETURN 1
- ENDIF
- ENDIF
- FINDID.i_pet_rampage.REMOVE
- REMOVEALLMEMS MEMORY_FIGHT
- REMOVEALLMEMS MEMORY_WAR_TARG
- FLAGS &= ~<DEF.STATF_WAR>
- ACTION=064
- ON=DROP
- IF (<ISEVENT.e_animated_dead>)
- RETURN 1
- ENDIF
- ON=GUARD ME
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- FLOAT.CONTROLCHANCE=<FLOATVAL (<F_PETCONTROL <REF1>>/100)>
- IF (<FLOAT.CONTROLCHANCE> <= <RANDOMDOUBLE>) && (85 > <R100>)
- MESSAGE @,,2 1043255,<NAME>
- TRIGGER @PetDesert
- RELEASE
- RETURN 1
- ENDIF
- ENDIF
- IF (!(<FINDID.i_pet_rampage>))
- LOCAL.OLDNEW=<NEW>
- SERV.NEWITEM=i_pet_rampage,1,<UID>
- NEW.TIMER=1
- NEW=<LOCAL.OLDNEW>
- ENDIF
- ON=GUARD
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- FLOAT.CONTROLCHANCE=<FLOATVAL (<F_PETCONTROL <REF1>>/100)>
- IF (<FLOAT.CONTROLCHANCE> <= <RANDOMDOUBLE>) && (85 > <R100>)
- MESSAGE @,,2 1043255,<NAME>
- TRIGGER @PetDesert
- RELEASE
- RETURN 1
- ENDIF
- ENDIF
- IF (!(<FINDID.i_pet_rampage>))
- LOCAL.OLDNEW=<NEW>
- SERV.NEWITEM=i_pet_rampage,1,<UID>
- NEW.TIMER=1
- NEW=<LOCAL.OLDNEW>
- ENDIF
- ON=FOLLOW
- ON=COME
- IF (<ISEVENT.e_animated_dead>) || (<TAG0.NOCONTROL>)
- RETURN 1
- ENDIF
- IF (!(<FLAGS>&STATF_CONJURED))
- FLOAT.CONTROLCHANCE=<FLOATVAL (<F_PETCONTROL <REF1>>/100)>
- IF (<FLOAT.CONTROLCHANCE> <= <RANDOMDOUBLE>) && (85 > <R100>)
- MESSAGE @,,2 1043255,<NAME>
- TRIGGER @PetDesert
- RELEASE
- RETURN 1
- ENDIF
- ENDIF
- FINDID.i_pet_rampage.REMOVE
- REMOVEALLMEMS MEMORY_FIGHT
- REMOVEALLMEMS MEMORY_WAR_TARG
- FLAGS &= ~<DEF.STATF_WAR>
- FACE <SRC.UID>
- WALK <DIR>
- ACTION=064
- [SPEECH spk_pet]
- // Pets that cannot talk
- ON=ATTACK
- ON=COME
- ON=DEFEND ME
- ON=DISMISS
- ON=DROP // "GIVE" ?
- ON=DROP ALL
- ON=FETCH
- ON=FOLLOW
- ON=FOLLOW ME
- ON=FRIEND
- ON=GO
- ON=GUARD
- ON=GUARD ME
- ON=KILL
- ON=RELEASE
- ON=SPEAK
- ON=STAY
- ON=STAY HERE
- ON=STOP
- ON=TRANSFER
- [SPEECH spk_hireling]
- // Pets that can talk.
- ON=ATTACK
- ON=BOUGHT
- ON=CASH
- ON=COME
- ON=DEFEND ME
- ON=DISMISS
- ON=DROP // "GIVE" ?
- ON=DROP ALL
- ON=EQUIP
- ON=EQUIP ALL
- ON=FETCH
- ON=FOLLOW
- ON=FOLLOW ME
- ON=FRIEND
- RETURN 1
- ON=GET DRESSED
- ON=GO
- ON=GUARD
- ON=GUARD ME
- ON=INVENTORY
- ON=KILL
- ON=PRICE // may have args ?
- ON=RECIEVED
- ON=RELEASE
- ON=SAMPLES
- ON=SPEAK
- ON=STATUS
- ON=STAY
- ON=STAY HERE
- ON=STOCK
- ON=STOP
- ON=SUIT UP
- ON=TRANSFER
- [EOF]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement