Помощь - Поиск - Пользователи - Календарь
Полная версия: Sistema Virtu
UoKit.com Форумы > Ultima Online : Dev > Sphere Server > Архив готовых скриптов
KonstantiN
Код

[DEFNAME virtue_levels]
SACRIFICE_L1 01
SACRIFICE_L2 02
SACRIFICE_L3 04
VALOR_L1 08
VALOR_L2 010
VALOR_L3 020
COMPASSION_L1 040
COMPASSION_L2 080
COMPASSION_L3 0100
HONESTY_L1 0200
HONESTY_L2 0400
HONESTY_L3 0800
HONOR_L1 01000
HONOR_L2 02000
HONOR_L3 04000
HUMILITY_L1 08000
HUMILITY_L2 010000
HUMILITY_L3 020000
SPIRITUALITY_L1 040000
SPIRITUALITY_L2 080000
SPIRITUALITY_L3 0100000
JUSTICE_L1 0200000
JUSTICE_L2 0400000
JUSTICE_L3 0800000

[plevel 1]
virtudes

[function virtudes]
sdialog d_virtudes

[DIALOG d_status_virtudes]
220,135
src.closealldialogs
PAGE 0
resizepic 20 20 2520 300 250
gumppic 60 180 032
gumppic 130 180 032

PAGE 1
dtext 130 55 0 As Virtudes
button 50 75 04ba 04ba 0 2 1
dtext 70 73 0 Sacrifice
button 50 100 04ba 04ba 0 0 0
dtext 70 98 0 Valor
button 50 125 04ba 04ba 0 3 1
dtext 70 123 0 Compassion
button 50 150 04ba 04ba 0 0 0
dtext 70 148 0 Honesty
button 170 75 04ba 04ba 0 4 1
dtext 190 73 0 Honor
button 170 100 04ba 04ba 0 5 1
dtext 190 98 0 Humility
button 170 125 04ba 04ba 0 6 1
dtext 190 123 0 Spirituality
button 170 150 04ba 04ba 0 7 1
dtext 190 148 0 Justice
dtext 70 195 0 Clique no botao azul para ver
dtext 70 210 0 seu status nessa virtude.
button 270 30 4016 4015 1 0 2

PAGE 2
for 9
gumppic <EVAL (<LOCAL._FOR>*20)+60> 33 0938
endfor
button 270 30 4016 4015 0 1 1
dtext 130 55 0 Sacrifice
dhtmlgump 50 75 235 200 0 0 Sacrifice e a coragem de desistir de si em nome do amor. Alguem ganha pontos em Sacrifice dando sua fama para certos monstros para salva-los de seu tormento eterno.

IF !(<TAG0.VIRTUDES.SACRIFICE>) && !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
LOCAL.SACTEXT=Voce nao iniciou o caminho dessa virtude.
button 60 242 04ba 04ba 1 0 10
dtext 80 240 0 Comecar a caminhar nessa virtude.
ELIF (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
LOCAL.SACTEXT=Voce completou o caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.SACRIFICE>==1)
LOCAL.SACTEXT=Voce mal comecou sua jornada pelo caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.SACRIFICE> <= 40000)
LOCAL.SACTEXT=Voce evoluiu no caminho dessa virtude, mas ainda ha muito o que fazer.
ELIF (<TAG0.VIRTUDES.SACRIFICE> <= 100000)
LOCAL.SACTEXT=Sua jornada pelo caminho dessa virtude esta indo bem.
ELIF (<TAG0.VIRTUDES.SACRIFICE> <= 170000)
LOCAL.SACTEXT=Voce se sente muito perto de completar uma etapa dessa virtude.
ELIF (<TAG0.VIRTUDES.SACRIFICE> <= 220000)
LOCAL.SACTEXT=Voce atingiu um objetivo nessa virtude.
ENDIF

dhtmlgump 50 195 245 200 0 0 <LOCAL.SACTEXT>

PAGE 3
for 9
gumppic <EVAL (<LOCAL._FOR>*20)+60> 33 0938
endfor
button 270 30 4016 4015 0 1 1
dtext 130 55 0 Compassion
dhtmlgump 50 75 235 200 0 0 Compassion e a vontade sem julgamento pelo bem de todas as criaturas. Voca ganha pontos em Compassion escortando NPCs.

IF !(<TAG0.VIRTUDES.COMPASSION>) && !(<TAG0.VIRTUDES>&<DEF.COMPASSION_L3>)
LOCAL.COMPTEXT=Voce nao iniciou o caminho dessa virtude.
button 60 242 04ba 04ba 1 0 11
dtext 80 240 0 Comecar a caminhar nessa virtude.
ELIF (<TAG0.VIRTUDES>&<DEF.COMPASSION_L3>)
LOCAL.COMPTEXT=Voce completou o caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.COMPASSION>==1)
LOCAL.COMPTEXT=Voce mal comecou sua jornada pelo caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.COMPASSION> <= 40000)
LOCAL.COMPTEXT=Voce evoluiu no caminho dessa virtude, mas ainda ha muito o que fazer.
ELIF (<TAG0.VIRTUDES.COMPASSION> <= 100000)
LOCAL.COMPTEXT=Sua jornada pelo caminho dessa virtude esta indo bem.
ELIF (<TAG0.VIRTUDES.COMPASSION> <= 170000)
LOCAL.COMPTEXT=Voce se sente muito perto de completar uma etapa dessa virtude.
ELIF (<TAG0.VIRTUDES.COMPASSION> <= 220000)
LOCAL.COMPTEXT=Voce atingiu um objetivo nessa virtude.
ENDIF

dhtmlgump 50 195 245 200 0 0 <LOCAL.COMPTEXT>

PAGE 4
for 9
gumppic <EVAL (<LOCAL._FOR>*20)+60> 33 0938
endfor
button 270 30 4016 4015 0 1 1
dtext 130 55 0 Honor
dhtmlgump 50 75 235 200 0 0 Honor e a coragem para defender a verdade em qualquer circunstancia. Voce ganha pontos em Honor matando um oponente honravelmente.

dhtmlgump 50 195 245 200 0 0 Voce nao iniciou o caminho dessa virtude.

PAGE 5
for 9
gumppic <EVAL (<LOCAL._FOR>*20)+60> 33 0938
endfor
button 270 30 4016 4015 0 1 1
dtext 130 55 0 Humility
dhtmlgump 50 75 235 200 0 0 Humility e conseguir seu lugar no mundo, nao importando seus feitos passados, mas sim seus valores espirituais. Voce ganha pontos em Humility ajudando players iniciantes.

dhtmlgump 50 195 245 200 0 0 Voce nao iniciou o caminho dessa virtude.

PAGE 6
for 9
gumppic <EVAL (<LOCAL._FOR>*20)+60> 33 0938
endfor
button 270 30 4016 4015 0 1 1
dtext 130 55 0 Spirituality
dhtmlgump 50 75 235 200 0 0 Spirituality e a preocupacao com seu ser interior e como voce lida com a verdade, amor e coragem. Voce ganha pontos em Spirituality realizando certas tarefas.

IF !(<TAG0.VIRTUDES.Spirituality>) && !(<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
LOCAL.SPIRITTEXT=Voce nao iniciou o caminho dessa virtude.
button 60 242 04ba 04ba 1 0 13
dtext 80 240 0 Comecar a caminhar nessa virtude.
ELIF (<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
LOCAL.SPIRITTEXT=Voce completou o caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.Spirituality>==1)
LOCAL.SPIRITTEXT=Voce mal comecou sua jornada pelo caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.Spirituality> <= 10000)
LOCAL.SPIRITTEXT=Voce evoluiu no caminho dessa virtude, mas ainda ha muito o que fazer.
ELIF (<TAG0.VIRTUDES.Spirituality> <= 50000)
LOCAL.SPIRITTEXT=Sua jornada pelo caminho dessa virtude esta indo bem.
ELIF (<TAG0.VIRTUDES.Spirituality> <= 90000)
LOCAL.SPIRITTEXT=Voce se sente muito perto de completar uma etapa dessa virtude.
ELIF (<TAG0.VIRTUDES.Spirituality> <= 300000)
LOCAL.SPIRITTEXT=Voce atingiu um objetivo nessa virtude.
ENDIF

dhtmlgump 50 195 245 200 0 0 <LOCAL.SPIRITTEXT>

PAGE 7
for 9
gumppic <EVAL (<LOCAL._FOR>*20)+60> 33 0938
endfor
button 270 30 4016 4015 0 1 1
dtext 130 55 0 Justice
dhtmlgump 50 75 235 200 0 0 Justice e a devocao a verdade fermentada pelo amor. Voce ganha pontos em Justice ao matar players reds.

IF !(<TAG0.VIRTUDES.Justice>) && !(<TAG0.VIRTUDES>&<DEF.Justice_L3>)
LOCAL.JUSTTEXT=Voce nao iniciou o caminho dessa virtude.
button 60 242 04ba 04ba 1 0 12
dtext 80 240 0 Comecar a caminhar nessa virtude.
ELIF (<TAG0.VIRTUDES>&<DEF.Justice_L3>)
LOCAL.JUSTTEXT=Voce completou o caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.Justice>==1)
LOCAL.JUSTTEXT=Voce mal comecou sua jornada pelo caminho dessa virtude.
ELIF (<TAG0.VIRTUDES.Justice> <= 8600)
LOCAL.JUSTTEXT=Voce evoluiu no caminho dessa virtude, mas ainda ha muito o que fazer.
ELIF (<TAG0.VIRTUDES.Justice> <= 20000)
LOCAL.JUSTTEXT=Sua jornada pelo caminho dessa virtude esta indo bem.
ELIF (<TAG0.VIRTUDES.Justice> <= 29000)
LOCAL.JUSTTEXT=Voce se sente muito perto de completar uma etapa dessa virtude.
ELIF (<TAG0.VIRTUDES.Justice> <= 30000)
LOCAL.JUSTTEXT=Voce atingiu um objetivo nessa virtude.
ENDIF

dhtmlgump 50 195 245 200 0 0 <LOCAL.JUSTTEXT>

[DIALOG d_status_virtudes BUTTON]
ON=2
SDIALOG D_VIRTUDES

ON=10
IF (STRCMPI(Shrine of Sacrifice,<REGION.NAME>))
SYSMESSAGE @946,3,1 Voce nao esta em Shrine of Sacrifice.
SDIALOG d_status_virtudes
ELSE
TAG.VIRTUDES.SACRIFICE=1
EFFECT 3,i_fx_bless_effect
SDIALOG D_VIRTUDES
ENDIF

ON=11
IF (STRCMPI(Shrine of Compassion,<REGION.NAME>))
SYSMESSAGE @946,3,1 Voce nao esta em Shrine of Compassion.
SDIALOG d_status_virtudes
ELSE
TAG.VIRTUDES.COMPASSION=1
EFFECT 3,i_fx_bless_effect
SDIALOG D_VIRTUDES
ENDIF

ON=12
IF (STRCMPI(Shrine of Justice,<REGION.NAME>))
SYSMESSAGE @946,3,1 Voce nao esta em Shrine of Justice.
SDIALOG d_status_virtudes
ELSE
EVENTS +E_VIRT_JUSTICE
TAG.VIRTUDES.Justice=1
EFFECT 3,i_fx_bless_effect
SDIALOG D_VIRTUDES
ENDIF

ON=13
IF (STRCMPI(Shrine of Spirituality,<REGION.NAME>))
SYSMESSAGE @946,3,1 Voce nao esta em Shrine of Spirituality.
SDIALOG d_status_virtudes
ELSE
TAG.VIRTUDES.Spirituality=1
EFFECT 3,i_fx_bless_effect
SDIALOG D_SPIRIT_ESCOLHA
ENDIF

[DIALOG d_virtudes]
170,120
src.closealldialogs
PAGE 1
gumppic 50 40 068

IF (<TAG0.VIRTUDES.SACRIFICE>) || (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
button 55 135 06e 06e 1 0 1 //Sacrifice
IF !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L1>) && !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L2>) && !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
tooltip 1025386
ELIF (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L1>) && !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L2>) && !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
tooltip 1051009
ELIF (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L1>) && (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L2>) && !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
tooltip 1051017
gumppic 55 135 06e 45
ELIF (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L1>) && (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L2>) && (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
tooltip 1051025
gumppic 55 135 06e 43
ENDIF
ENDIF

IF (<TAG0.VIRTUDES.VALOR>) || (<TAG0.VIRTUDES>&<DEF.Valor_L3>)
button 142 45 070 070 1 0 2 //Valor
IF !(<TAG0.VIRTUDES>&<DEF.Valor_L1>) && !(<TAG0.VIRTUDES>&<DEF.Valor_L2>) && !(<TAG0.VIRTUDES>&<DEF.Valor_L3>)
tooltip 1025305
ELIF (<TAG0.VIRTUDES>&<DEF.Valor_L1>) && !(<TAG0.VIRTUDES>&<DEF.Valor_L2>) && !(<TAG0.VIRTUDES>&<DEF.Valor_L3>)
tooltip 1051012
ELIF (<TAG0.VIRTUDES>&<DEF.Valor_L1>) && (<TAG0.VIRTUDES>&<DEF.Valor_L2>) && !(<TAG0.VIRTUDES>&<DEF.Valor_L3>)
tooltip 1051020
gumppic 142 45 070 39
ELIF (<TAG0.VIRTUDES>&<DEF.Valor_L1>) && (<TAG0.VIRTUDES>&<DEF.Valor_L2>) && (<TAG0.VIRTUDES>&<DEF.Valor_L3>)
tooltip 1051028
gumppic 142 45 070 36
ENDIF
ENDIF

IF (<TAG0.VIRTUDES.Compassion>) || (<TAG0.VIRTUDES>&<DEF.Compassion_L3>)
button 231 133 069 069 1 0 3 //Compassion
IF !(<TAG0.VIRTUDES>&<DEF.Compassion_L1>) && !(<TAG0.VIRTUDES>&<DEF.Compassion_L2>) && !(<TAG0.VIRTUDES>&<DEF.Compassion_L3>)
tooltip 1025288
ELIF (<TAG0.VIRTUDES>&<DEF.Compassion_L1>) && !(<TAG0.VIRTUDES>&<DEF.Compassion_L2>) && !(<TAG0.VIRTUDES>&<DEF.Compassion_L3>)
tooltip 1051010
ELIF (<TAG0.VIRTUDES>&<DEF.Compassion_L1>) && (<TAG0.VIRTUDES>&<DEF.Compassion_L2>) && !(<TAG0.VIRTUDES>&<DEF.Compassion_L3>)
tooltip 1051018
gumppic 231 133 069 355
ELIF (<TAG0.VIRTUDES>&<DEF.Compassion_L1>) && (<TAG0.VIRTUDES>&<DEF.Compassion_L2>) && (<TAG0.VIRTUDES>&<DEF.Compassion_L3>)
tooltip 1051026
gumppic 231 133 069 354
ENDIF
ENDIF

IF (<TAG0.VIRTUDES.Honesty>) || (<TAG0.VIRTUDES>&<DEF.Honesty_L3>)
button 142 220 06A 06A 1 0 4 //Honesty
IF !(<TAG0.VIRTUDES>&<DEF.Honesty_L1>) && !(<TAG0.VIRTUDES>&<DEF.Honesty_L2>) && !(<TAG0.VIRTUDES>&<DEF.Honesty_L3>)
tooltip 1025281
ELIF (<TAG0.VIRTUDES>&<DEF.Honesty_L1>) && !(<TAG0.VIRTUDES>&<DEF.Honesty_L2>) && !(<TAG0.VIRTUDES>&<DEF.Honesty_L3>)
tooltip 1051015
ELIF (<TAG0.VIRTUDES>&<DEF.Honesty_L1>) && (<TAG0.VIRTUDES>&<DEF.Honesty_L2>) && !(<TAG0.VIRTUDES>&<DEF.Honesty_L3>)
tooltip 1051023
gumppic 142 220 06A 300
ELIF (<TAG0.VIRTUDES>&<DEF.Honesty_L1>) && (<TAG0.VIRTUDES>&<DEF.Honesty_L2>) && (<TAG0.VIRTUDES>&<DEF.Honesty_L3>)
tooltip 1051031
gumppic 142 220 06A 3
ENDIF
ENDIF

IF (<TAG0.VIRTUDES.Honor>) || (<TAG0.VIRTUDES>&<DEF.Honor_L3>)
button 205 70 06B 06B 1 0 5 //Honor
IF !(<TAG0.VIRTUDES>&<DEF.Honor_L1>) && !(<TAG0.VIRTUDES>&<DEF.Honor_L2>) && !(<TAG0.VIRTUDES>&<DEF.Honor_L3>)
tooltip 1025322
ELIF (<TAG0.VIRTUDES>&<DEF.Honor_L1>) && !(<TAG0.VIRTUDES>&<DEF.Honor_L2>) && !(<TAG0.VIRTUDES>&<DEF.Honor_L3>)
tooltip 1051013
ELIF (<TAG0.VIRTUDES>&<DEF.Honor_L1>) && (<TAG0.VIRTUDES>&<DEF.Honor_L2>) && !(<TAG0.VIRTUDES>&<DEF.Honor_L3>)
tooltip 1051021
gumppic 205 70 06B 215
ELIF (<TAG0.VIRTUDES>&<DEF.Honor_L1>) && (<TAG0.VIRTUDES>&<DEF.Honor_L2>) && (<TAG0.VIRTUDES>&<DEF.Honor_L3>)
tooltip 1051029
gumppic 205 70 06B 17
ENDIF
ENDIF

IF (<TAG0.VIRTUDES.Humility>) || (<TAG0.VIRTUDES>&<DEF.Humility_L3>)
button 80 70 06C 06C 1 0 6 //Humility
IF !(<TAG0.VIRTUDES>&<DEF.Humility_L1>) && !(<TAG0.VIRTUDES>&<DEF.Humility_L2>) && !(<TAG0.VIRTUDES>&<DEF.Humility_L3>)
tooltip 1025328
ELIF (<TAG0.VIRTUDES>&<DEF.Humility_L1>) && !(<TAG0.VIRTUDES>&<DEF.Humility_L2>) && !(<TAG0.VIRTUDES>&<DEF.Humility_L3>)
tooltip 1051008
ELIF (<TAG0.VIRTUDES>&<DEF.Humility_L1>) && (<TAG0.VIRTUDES>&<DEF.Humility_L2>) && !(<TAG0.VIRTUDES>&<DEF.Humility_L3>)
tooltip 1051016
gumppic 80 70 06C 928
ELIF (<TAG0.VIRTUDES>&<DEF.Humility_L1>) && (<TAG0.VIRTUDES>&<DEF.Humility_L2>) && (<TAG0.VIRTUDES>&<DEF.Humility_L3>)
tooltip 1051024
gumppic 80 70 06C 2305
ENDIF
ENDIF

IF (<TAG0.VIRTUDES.Spirituality>) || (<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
button 80 195 06F 06F 1 0 7 //Spirituality
IF !(<TAG0.VIRTUDES>&<DEF.Spirituality_L1>) && !(<TAG0.VIRTUDES>&<DEF.Spirituality_L2>) && !(<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
tooltip 1025312
ELIF (<TAG0.VIRTUDES>&<DEF.Spirituality_L1>) && !(<TAG0.VIRTUDES>&<DEF.Spirituality_L2>) && !(<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
tooltip 1051011
ELIF (<TAG0.VIRTUDES>&<DEF.Spirituality_L1>) && (<TAG0.VIRTUDES>&<DEF.Spirituality_L2>) && !(<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
tooltip 1051019
gumppic 80 195 06F 904
ELIF (<TAG0.VIRTUDES>&<DEF.Spirituality_L1>) && (<TAG0.VIRTUDES>&<DEF.Spirituality_L2>) && (<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
tooltip 1051027
gumppic 80 195 06F 2300
ENDIF
ENDIF

IF (<TAG0.VIRTUDES.Justice>) || (<TAG0.VIRTUDES>&<DEF.Justice_L3>)
button 205 195 06D 06D 1 0 8 //Justice
IF !(<TAG0.VIRTUDES>&<DEF.Justice_L1>) && !(<TAG0.VIRTUDES>&<DEF.Justice_L2>) && !(<TAG0.VIRTUDES>&<DEF.Justice_L3>)
tooltip 1025296
ELIF (<TAG0.VIRTUDES>&<DEF.Justice_L1>) && !(<TAG0.VIRTUDES>&<DEF.Justice_L2>) && !(<TAG0.VIRTUDES>&<DEF.Justice_L3>)
tooltip 1051014
ELIF (<TAG0.VIRTUDES>&<DEF.Justice_L1>) && (<TAG0.VIRTUDES>&<DEF.Justice_L2>) && !(<TAG0.VIRTUDES>&<DEF.Justice_L3>)
tooltip 1051022
gumppic 205 195 06D 478
ELIF (<TAG0.VIRTUDES>&<DEF.Justice_L1>) && (<TAG0.VIRTUDES>&<DEF.Justice_L2>) && (<TAG0.VIRTUDES>&<DEF.Justice_L3>)
tooltip 1051030
gumppic 205 195 06D 172
ENDIF
ENDIF

button 80 270 07EB 07EC 1 0 101
button 210 270 0817 0818 1 0 102

[DIALOG d_virtudes BUTTON]
ON=1
IF !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
TARGETF SACRIFICE_HABILITY
SYSMESSAGE @04ec,3,1 O que voce gostaria de sacrificar?
ENDIF

ON=7
IF !(<TAG0.VIRTUDES>&<DEF.SPIRITUALITY_L3>)
DIALOG D_SPIRIT_ESCOLHA
SYSMESSAGE @04ec,3,1 Escolha sua tarefa.
ENDIF

ON=8
IF (<TAG0.VIRTUDES>&<DEF.JUSTICE_L1>)
TARGETF JUSTICE_HABILITY
SYSMESSAGE @04ec,3,1 Quem voce gostaria de proteger?
ENDIF

ON=101
SDIALOG D_STATUS_VIRTUDES

//////Habilities//////////

[FUNCTION SACRIFICE_HABILITY]
LOCAL.TMP=<OBJ>
OBJ=<ARGO.UID>
IF (<OBJ.BASEID>!=C_LICHE) && (<OBJ.BASEID>!=C_Enslaved_Gargoyle) && (<OBJ.BASEID>!=C_Enforcer_Gargoyle) && (<OBJ.BASEID>!=C_DAEMON) && (<OBJ.BASEID>!=C_H_EVILMAGE) && (<OBJ.BASEID>!=C_H_EVILMAGE_F)
SYSMESSAGE @946,3,1 Voce nao pode sacrificar sua fama por essa criatura.
ELIF (<FAME> < 4000)
SYSMESSAGE @946,3,1 Voce nao tem fama suficiente para sacrificar.
ELIF !(<OBJ.CANSEELOS>)
SYSMESSAGE @946,3,1 Voce nao consegue ver a criatura.
ELIF (<OBJ.HITS> < <HVAL <OBJ.MAXHITS>-((<OBJ.MAXHITS>*15)/100)>)
SYSMESSAGE @946,3,1 Voce nao pode se sacrificar por esse monstro, pois ele ja recebeu dano demais.
ELIF (<FLAGS>&STATF_DEAD)
SYSMESSAGE @946,3,1 Voce nao pode se sacrificar por esta criatura, pois esta morto.
ELIF (<FLAGS>&statf_invisible) || (<FLAGS>&statf_hidden)
SYSMESSAGE @946,3,1 Voce nao pode se sacrificar por esta criatura, pois esta invisivel.
ELSE
IF !(<FINDID.i_sacrifiquei>)
SERV.NEWITEM i_sacrifiquei
NEW.TIMER=<HVAL 60*60*24>
NEW.CONT=<UID>
TAG0.VIRTUDES.SACRIFICE += <FAME>
FAME=0
OBJ.EFFECT 3,i_fx_bless_effect,1,20
OBJ.REMOVE
SYSMESSAGE @946,3,1 Voce ganhou na virtude Sacrifice.
IF (<TAG0.VIRTUDES.SACRIFICE> >= 180000)
EVENTS +E_SACRIFICE
IF !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L1>)
TAG0.VIRTUDES |= <DEF.SACRIFICE_L1>
TAG.VIRTUDES.SACRIFICE=1
ELIF !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L2>)
TAG0.VIRTUDES |= <DEF.SACRIFICE_L2>
TAG.VIRTUDES.SACRIFICE=1
ELIF !(<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
FINDID.i_sacrifiquei.REMOVE
TAG0.VIRTUDES |= <DEF.SACRIFICE_L3>
TAG.VIRTUDES.SACRIFICE
ENDIF
SYSMESSAGE @04ec,3,1 Voce ganha um caminho em Sacrifice!
ENDIF
ENDIF
ENDIF

[ITEMDEF i_sacrifiquei]
ID=i_memory
TYPE=T_EQ_SCRIPT
NAME=Sacrifiquei

ON=@Timer
CONT.SYSMESSAGE @946,3,1 Voce ja pode sacrificar sua fama novamente.
REMOVE
RETURN 1

[EVENTS E_SACRIFICE]
ON=@Death
IF !(<TAG0.EVENT.ID>) && !(<FINDID.i_pvp_time>)
IF (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L3>)
LOCAL.RESSES=3
ELIF (<TAG0.VIRTUDES>&<DEF.SACRIFICE_L2>)
LOCAL.RESSES=2
ELSE
LOCAL.RESSES=1
ENDIF
IF !(<FINDID.i_sacrifice_resses_timer.MORE1> >= <LOCAL.RESSES>)
TARGETF SACRIFICE_RESS
SYSMESSAGE @04ec,3,1 Caso queira se ressucitar escolhe como alvo voce mesmo.
ENDIF
ENDIF

[FUNCTION SACRIFICE_RESS]
IF (<ARGO.UID>==<UID>)
IF (<UID.<REGION.UID>.TYPE>!=T_MULTI) && (<UID.<REGION.UID>.TYPE>!=T_SHIP)
RESURRECT
IF !(<FINDID.i_sacrifice_resses_timer>)
SERV.NEWITEM i_sacrifice_resses_timer
NEW.CONT=<UID>
ENDIF
IF !(<FINDID.i_sacrifice_resses_timer.MORE1>)
FINDID.i_sacrifice_resses_timer.TIMER=<HVAL 60*60*24*6>
ENDIF
FINDID.i_sacrifice_resses_timer.MORE1 += 1
ENDIF
ENDIF

[ITEMDEF i_sacrifice_resses_timer]
ID=i_memory
TYPE=T_EQ_SCRIPT
NAME=Sacrifice

ON=@Timer
REMOVE
RETURN 1

///////////////////////////////

[EVENTS E_VIRT_JUSTICE]
ON=@Kill
IF (<ARGO.ISPLAYER>)
IF (<ARGO.ISPK>)
TAG0.VIRTUDES.JUSTICE += <HVAL ((<ARGO.SKILLTOTAL>*2)-<SKILLTOTAL>)+200>
SYSMESSAGE @946,3,1 Voce ganhou na virtude Justice.
IF (<TAG0.VIRTUDES.JUSTICE> >= 30000)
IF !(<TAG0.VIRTUDES>&<DEF.JUSTICE_L1>)
TAG0.VIRTUDES |= <DEF.JUSTICE_L1>
TAG.VIRTUDES.JUSTICE=1
ELIF !(<TAG0.VIRTUDES>&<DEF.JUSTICE_L2>)
TAG0.VIRTUDES |= <DEF.JUSTICE_L2>
TAG.VIRTUDES.JUSTICE=1
ELIF !(<TAG0.VIRTUDES>&<DEF.JUSTICE_L3>)
TAG0.VIRTUDES |= <DEF.JUSTICE_L3>
TAG.VIRTUDES.JUSTICE
EVENTS -E_VIRT_JUSTICE
ENDIF
SYSMESSAGE @04ec,3,1 Voce ganha um caminho em Justice!
ENDIF
ENDIF
ENDIF

[FUNCTION JUSTICE_HABILITY]
IF (<ARGO.ISPLAYER>)
IF (<ARGO.UID>==<UID>)
SYSMESSAGE @946,3,1 Voce nao pode proteger a si mesmo.
ELIF (<FINDID.i_justice_protect_denied>)
SYSMESSAGE @946,3,1 Voce deve aguardar um momento para oferecer sua protecao novamente.
ELIF (<ARGO.ISEVENT.e_justice_protected>)
SYSMESSAGE @946,3,1 Voce nao pode proteger esse inocente agora.
ELIF (<ISEVENT.e_justice_protected>)
SYSMESSAGE @946,3,1 Voce nao pode proteger alguem enquanto e protegido.
ELSE
TRYSRC <ARGO.UID> DIALOG D_JUSTICE_PROTECT_ACCEPT
TRY UID.<ARGO.UID>.SYSMESSAGE @946,3,1 <NAME> esta oferecendo sua protecao a voce. Voce aceita a protecao?
ENDIF
ELSE
SYSMESSAGE @946,3,1 Voce pode apenas proteger jogadores.
ENDIF

[ITEMDEF i_justice_protect_denied]
ID=i_memory
TYPE=T_EQ_SCRIPT
NAME=Protect Denied

ON=@Timer
REMOVE
RETURN 1

[DIALOG D_JUSTICE_PROTECT_ACCEPT]
200,170
PAGE 0
gumppic 20 20 1140
dhtmlgump 80 65 275 70 0 1 <DEF.BFONT_WHITE><NAME> esta oferecendo protecao a voce. Caso aceite voce pode desistir a qualquer momento deslogando ou digitando <DEF.BFONT_LCYAN><DEF.U>.cancelarprotecao<DEF.UE><DEF.BFONT_WHITE>. Voce aceita?
button 80 140 025FA 025FB 1 0 1
dtext 115 145 1141 Sim, aceito.
button 80 170 025FA 025FB 1 0 2
dtext 115 175 1141 Nao, nao aceito.

[DIALOG D_JUSTICE_PROTECT_ACCEPT BUTTON]
ON=2
SYSMESSAGE @946,3,1 <SRC.NAME> negou sua oferta de protecao, voce devera esperar 15 minutos para oferecer outro pedido.
SERV.NEWITEM i_justice_protect_denied
NEW.CONT=<UID>
NEW.TIMER=<HVAL 60*15>

ON=1
IF !(<SRC.ISEVENT.e_justice_protected>)
SYSMESSAGE @946,3,1 <SRC.NAME> aceitou sua oferta de protecao, voces agora possuem uma relacao de protecao.
SRC.SYSMESSAGE @946,3,1 Voce aceitou a oferta de protecao de <NAME>.
SRC.EVENTS +e_justice_protected
SRC.TAG.PROTECTOR=<UID>
EVENTS +E_JUSTICE_PROTECTOR
ENDIF

[EVENTS e_justice_protected]
ON=@LogOut
EVENTS -e_justice_protected
TRY UID.<TAG0.PROTECTOR>.SYSMESSAGE @946,3,1 A relacao de protecao entre <NAME> e <UID.<TAG0.PROTECTOR>.NAME> acabou.
TAG.PROTECTOR

ON=@Kill
IF (<ARGO.ISEVENT.e_champion>)
LOCAL.TMP=<OBJ>
OBJ=<TAG0.PROTECTOR>
IF (<OBJ.DISTANCE> <= 30)
IF (<OBJ.TAG0.VIRTUDES>&<DEF.JUSTICE_L3>)
LOCAL.PORCENTAGEM=100
ELIF (<OBJ.TAG0.VIRTUDES>&<DEF.JUSTICE_L2>)
LOCAL.PORCENTAGEM=80
ELIF (<OBJ.TAG0.VIRTUDES>&<DEF.JUSTICE_L1>)
LOCAL.PORCENTAGEM=60
ENDIF
IF (<LOCAL.PORCENTAGEM> > <R100>)
SERV.NEWITEM i_power_scroll
OBJ.BOUNCE <NEW>
OBJ.SYSMESSAGE @946,3,1 Voce e recompensado por sua dedicacao a Justice!
ENDIF
ENDIF
OBJ=<LOCAL.TMP>
ENDIF

[EVENTS E_JUSTICE_PROTECTOR]
ON=@LogOut
SERV.ALLCLIENTS CHECK_JUSTPROTECT <UID>
EVENTS -E_JUSTICE_PROTECTOR

[FUNCTION CHECK_JUSTPROTECT]
IF (<ISEVENT.e_justice_protected>)
IF (<TAG0.PROTECTOR>==<ARGN1>)
EVENTS -e_justice_protected
TRY UID.<ARGN1>.SYSMESSAGE @946,3,1 A relacao de protecao entre <NAME> e <UID.<ARGN1>.NAME> acabou.
SYSMESSAGE @946,3,1 A relacao de protecao entre <NAME> e <UID.<ARGN1>.NAME> acabou.
TAG.PROTECTOR
ENDIF
ENDIF

[PLEVEL 1]
cancelarprotecao

[FUNCTION cancelarprotecao]
IF (<ISEVENT.e_justice_protected>)
EVENTS -e_justice_protected
TRY UID.<TAG0.PROTECTOR>.SYSMESSAGE @946,3,1 A relacao de protecao entre <NAME> e <UID.<TAG0.PROTECTOR>.NAME> acabou.
SYSMESSAGE @946,3,1 A relacao de protecao entre <NAME> e <UID.<TAG0.PROTECTOR>.NAME> acabou.
TAG.PROTECTOR
ELSE
SYSMESSAGE @946,3,1 Voce nao esta sendo protegido.
ENDIF

///////////////////////////////////////

[DIALOG D_SPIRIT_ESCOLHA]
200,170
src.closealldialogs
PAGE 0
gumppic 20 20 1140
dhtmlgump 80 65 275 70 0 1 <DEF.BFONT_WHITE>Voce iniciou sua jornada na virtude Spirituality, agora voce devera realizar 2 tarefas, uma para a virtude Sacrifice e outra para a virtude Humility.<DEF.BR>Para sacrifice voce deve matar monstros, porem nao recebera Fame por isso ate conseguir completar a tarefa.<DEF.BR>Para humility deve depositar 50000 gold coins no bau na Shrine of Spirituality.<DEF.BR>Para acessar esse menu novamente basta clicar no simbolo de Spirituality no seu menu de virtudes.
button 80 140 025FA 025FB 1 0 1
dtext 115 145 1141 Sacrifice
button 80 170 025FA 025FB 1 0 2
dtext 115 175 1141 Humility

[DIALOG D_SPIRIT_ESCOLHA BUTTON]
ON=1
IF !(<TAG0.VIRTUDES>&<DEF.SPIRITUALITY_L3>) && !(<TAG0.SPIRIT.HUMILITY>) && (<TAG0.SPIRIT.ULTIMATAREFA>!=1) && !(<ISEVENT.E_VIRT_SPIRIT_SAC>) && !(<FINDID.i_spirit_timer>)
EVENTS +E_VIRT_SPIRIT_SAC
TAG.SPIRIT.LASTFAME=<FAME>
SYSMESSAGE @04ec,3,1 Voce iniciou a tarefa de Sacrifice.
ELSE
SYSMESSAGE @946,3,1 Voce nao pode realizar essa tarefa.
ENDIF

ON=2
IF !(<TAG0.VIRTUDES>&<DEF.SPIRITUALITY_L3>) && !(<TAG0.SPIRIT.HUMILITY>) && (<TAG0.SPIRIT.ULTIMATAREFA>!=2) && !(<ISEVENT.E_VIRT_SPIRIT_SAC>) && !(<FINDID.i_spirit_timer>)
TAG.SPIRIT.HUMILITY=1
SYSMESSAGE @04ec,3,1 Voce iniciou a tarefa de Humility.
ELSE
SYSMESSAGE @946,3,1 Voce nao pode realizar essa tarefa.
ENDIF

[EVENTS E_VIRT_SPIRIT_SAC]
ON=@Kill
FAME=<TAG0.SPIRIT.LASTFAME>
TAG0.SPIRIT.SACRIFICE += <ARGO.FAME>
IF (<TAG0.SPIRIT.SACRIFICE> > 50000)
TAG.SPIRIT.SACRIFICE
EVENTS -E_VIRT_SPIRIT_SAC
TAG.SPIRIT.ULTIMATAREFA=1
TAG.SPIRIT.LASTFAME
TAG0.VIRTUDES.Spirituality += 50000
SERV.NEWITEM i_spirit_timer,1,<UID>
NEW.TIMER=<HVAL 60*60*20>
SYSMESSAGE @04ec,3,1 Voce ganhou na virtude Spirituality
IF (<TAG0.VIRTUDES.Spirituality> >= 100000)
IF !(<TAG0.VIRTUDES>&<DEF.Spirituality_L1>)
TAG0.VIRTUDES |= <DEF.Spirituality_L1>
TAG.VIRTUDES.Spirituality=1
ELIF !(<TAG0.VIRTUDES>&<DEF.Spirituality_L2>)
TAG0.VIRTUDES |= <DEF.Spirituality_L2>
TAG.VIRTUDES.Spirituality=1
ELIF !(<TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
TAG0.VIRTUDES |= <DEF.Spirituality_L3>
TAG.VIRTUDES.Spirituality
TAG.SPIRIT.ULTIMATAREFA
FINDID.i_spirit_timer.REMOVE
ENDIF
SYSMESSAGE @04ec,3,1 Voce ganha um caminho em Spirituality!
ENDIF

[ITEMDEF i_spirit_timer]
ID=i_memory
NAME=spirit timer
TYPE=T_EQ_SCRIPT

ON=@Timer
CONT.SYSMESSAGE @946,3,1 Voce ja pode fazer outra tarefa de Spirituality.
REMOVE
RETURN 1

[ITEMDEF i_bau_humility]
ID=0e7c
NAME=Humility Chest

ON=@Create
ATTR=ATTR_MOVE_NEVER

ON=@Dropon_Self
IF !(<SRC.TAG0.SPIRIT.HUMILITY>)
SAY @946,3,1 Voce nao esta fazendo a tarefa de Humility.
ELIF (<ARGO.BASEID>!=i_gold)
SAY @946,3,1 Voce deve por 50000 gold coins aqui.
ELIF (<ARGO.AMOUNT> < 50000)
SAY @946,3,1 Voce deve por 50000 gold coins aqui.
ELSE
TRY UID.<ARGO.UID>.CONSUME 50000
SAY @946,3,1 Muito bem <SRC.NAME>, tarefa completada.
SRC.TAG0.VIRTUDES.Spirituality += 50000
SRC.TAG.SPIRIT.HUMILITY
SRC.TAG.SPIRIT.ULTIMATAREFA=2
SERV.NEWITEM i_spirit_timer,1,<SRC>
NEW.TIMER=<HVAL 60*60*20>
SRC.SYSMESSAGE @04ec,3,1 Voce ganhou na virtude Spirituality
IF (<SRC.TAG0.VIRTUDES.Spirituality> >= 100000)
IF !(<SRC.TAG0.VIRTUDES>&<DEF.Spirituality_L1>)
SRC.TAG0.VIRTUDES |= <DEF.Spirituality_L1>
SRC.TAG.VIRTUDES.Spirituality=1
ELIF !(<SRC.TAG0.VIRTUDES>&<DEF.Spirituality_L2>)
SRC.TAG0.VIRTUDES |= <DEF.Spirituality_L2>
SRC.TAG.VIRTUDES.Spirituality=1
ELIF !(<SRC.TAG0.VIRTUDES>&<DEF.Spirituality_L3>)
SRC.TAG0.VIRTUDES |= <DEF.Spirituality_L3>
SRC.TAG.VIRTUDES.Spirituality
SRC.TAG.SPIRIT.ULTIMATAREFA
SRC.FINDID.i_spirit_timer.REMOVE
ENDIF
SRC.SYSMESSAGE @04ec,3,1 Voce ganha um caminho em Spirituality!
ENDIF
ENDIF
RETURN 1

[EOF]
Ozzy Osbourne
В чем суть системы?
Doberman
Уважаемый, выб хоть авторов этих скриптов упомянули, плюс они все со spherecommunity. Смысл их выкладывать?
KonstantiN
чтоб у нас были а не забугром я не предентую на то что они мои и не где если вы не заметили ни коем образом не заевляю о своем авторстве, а есть люди которым до комуниты дело вообще нет, для навчиков, которые в силу не которых обстоятельств не владеют ни поиском ни английским

http://uo2.stratics.com/virtues
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.