Здравствуйте, гость ( Вход | Регистрация )

> LvL system (полная)
NFx
сообщение 13.3.2004, 13:35
Сообщение #1


********

SpS 60+(умер), NE Priest 40+ жифф
Сообщений: 1.505
Регистрация: 3.9.2003
Группа: Пользователи
Наличность: 0
Из: Подмосковье
Пользователь №: 950



Код
[FUNCTION exp_gain]

tag.exp=<eval <tag.exp>+<args>>

sysmessage You have gained <args> EXP points



[FUNCTION point_gain]

tag.points=<eval <tag.points>+<args>>

sysmessage You have gained <args> credit points



[FUNCTION exp_lost]

tag.exp=<eval <tag.exp>-<args>>



[FUNCTION point_lost]

tag.points=<eval <tag.points>-<args>>



[FUNCTION status]

sysmessage **** <name>, <title>, LEVEL : <eval <tag.level>> ****

sysmessage Your EXP points : <eval <tag.exp>>

sysmessage Your credit points : <eval <tag.points>>



[FUNCTION level_up]

var.left = <

var.right = >

IF (<src.isgm> == 1)

src.dialog d_level_up

RETURN !

ENDIF

IF (<eval <tag.level>> == 0) && (<tag.exp> >=200)

src.dialog d_level_up

RETURN 1

ELSEIF (<eval <tag.level>> == 1) && (<tag.exp> >=800)

src.dialog d_level_up

RETURN 1

ELSEIF (<eval <tag.level>> == 2) && (<tag.exp> >=2000)

src.dialog d_level_up

RETURN 1

ELSEIF (<eval <tag.level>> == 3) && (<tag.exp> >=4000)

src.dialog d_level_up

RETURN 1

ELSEIF (<eval <tag.level>> == 4) && (<tag.exp> >=9000)

src.dialog d_level_up

RETURN 1

ELSEIF (<eval <tag.level>> == 5) && (<tag.exp> >=15000)

src.dialog d_level_up

RETURN 1

ELSEIF (<eval <tag.level>> == 6) && (<tag.exp> >=23000)

src.dialog d_level_up

RETURN 1

ELSE

sysmessage You can't upgrade your level

RETURN 1

ENDIF



[DIALOG d_level_up]

0 0

nomove

resizepic 0 0 2600 648 251

//50 55(56) 57 210(211)

gumppic 170 30 50

gumppic 314 30 50

gumppic 170 80 50

gumppic 314 80 50



text 230 50 1580 0

text 85 105 1580 1



text 145 130 1580 2

text 145 150 1580 3

text 145 170 1580 4



HTMLgump 175 131 40 40 5 0 0

HTMLgump 175 151 40 40 6 0 0

HTMLgump 175 171 40 40 7 0 0



HTMLgump 225 131 370 60 8 1 0



group 1

radio 80 131 210 211 0 1

radio 80 151 210 211 0 2

radio 80 171 210 211 0 3

group 2

radio 100 131 210 211 0 4

radio 100 151 210 211 0 5

radio 100 171 210 211 0 6

group 3

radio 120 131 210 211 0 7

radio 120 151 210 211 0 8

radio 120 171 210 211 0 9



BUTTON 121 191 247 249 1 0 1



[DIALOG d_level_up TEXT]

EXP level up stat menu :

Upgrade your stats:

Str

Dex

Int

<var.left>b<var.right> <str> <var.left>/b<var.right>

<var.left>b<var.right> <dex> <var.left>/b<var.right>

<var.left>b<var.right> <int> <var.left>/b<var.right>

This is a menu of upgrading your stats <var.left>p<var.right>       To upgrade stats select <var.left>i<var.right>3<var.left>/i<var.right> checkboxes <var.left>p<var.right>          Then press <var.left>b<var.right>Okey<var.left>/b<var.right>



[DIALOG d_level_up BUTTON]



ONBUTTON=1

IF (<eval <ARGCHK[1]>+<ARGCHK[2]>+<ARGCHK[3]>+<ARGCHK[4]>+<ARGCHK[5]>+<ARGCHK[6]>+<ARGCHK[7]>+<ARGCHK[8]>+<ARGCHK[9]>> != 3)

src.message You must select 3 stats

RETURN 1

ENDIF

IF (<eval <src.int>+<eval (<ARGCHK[3]>*9)+(<ARGCHK[6]>*9)+(<ARGCHK[9]>*9)>> > 170 )

src.message You have too much INT

RETURN 1

ELSEIF (<eval <src.str>+<eval (<ARGCHK[1]>*9)+(<ARGCHK[4]>*9)+(<ARGCHK[7]>*9)>> > 170 )

src.message You have too much STR

RETURN 1

ELSEIF (<eval <src.dex>+<eval (<ARGCHK[2]>*9)+(<ARGCHK[5]>*9)+(<ARGCHK[8]>*9)>> > 170 )

src.message You have too much DEX

RETURN 1

ENDIF

src.str=(<src.str>+<eval (<ARGCHK[1]>*9)+(<ARGCHK[4]>*9)+(<ARGCHK[7]>*9)>)

src.dex=(<src.dex>+<eval (<ARGCHK[2]>*9)+(<ARGCHK[5]>*9)+(<ARGCHK[8]>*9)>)

src.int=(<src.int>+<eval (<ARGCHK[3]>*9)+(<ARGCHK[6]>*9)+(<ARGCHK[9]>*9)>)

IF (<eval <tag.level>> == 0)

src.tag.exp=<src.tag.exp>-200

ELSEIF (<eval <tag.level>> == 1) && (<tag.exp> >=800)

src.tag.exp=<src.tag.exp>-800

ELSEIF (<eval <tag.level>> == 2) && (<tag.exp> >=2000)

src.tag.exp=<src.tag.exp>-2000

ELSEIF (<eval <tag.level>> == 3) && (<tag.exp> >=4000)

src.tag.exp=<src.tag.exp>-4000

ELSEIF (<eval <tag.level>> == 4) && (<tag.exp> >=9000)

src.tag.exp=<src.tag.exp>-9000

ELSEIF (<eval <tag.level>> == 5) && (<tag.exp> >=15000)

src.tag.exp=<src.tag.exp>-15000

ELSEIF (<eval <tag.level>> == 6) && (<tag.exp> >=23000)

src.tag.exp=<src.tag.exp>-23000

ENDIF

src.tag.level=<src.tag.level>+1



[EVENTS e_exp]



On=@death

IF (<act.npc> == 0)

act.tag.exp=<eval <act.tag.exp>+(<tag.level>*20)>

IF (<eval <tag.exp>-(<tag.level>*10)> > 0)

tag.exp=<eval <tag.exp>-(<tag.level>*10)>

ELSE

tag.exp=0

ENDIF

ENDIF



[ITEMDEF i_exp_change]

DEFNAME=i_exp_change

ID=i_crystal_purple

TYPE=t_changer_exp

NAME=EXP chnger



[TYPEDEF t_changer_exp]

DEFNAME=t_changer_exp



ON=@dclick

IF (<src.tag.level> =< 4)

IF (<src.tag.exp> >= 100)

src.tag.exp=<src.tag.exp>-100

src.newitem=i_exp_eat

src.act.bounce

src.message You have gain exp eat-point

RETURN 1

ELSE

src.message You haven't enough exp!

RETURN 1

ENDIF

ELSE

src.message Your level is too high to do this!

RETURN 1

ENDIF



[ITEMDEF i_exp_eat]

DEFNAME=i_exp_eat

ID=i_spellbook

TYPE=t_exp_eaten

NAME=EXP update



[TYPEDEF t_exp_eaten]

DEFNAME=t_exp_eaten



ON=@dclick

IF (<src.tag.level> =< 4)

src.tag.exp=<src.tag.exp>+100

src.message Getting EXP

remove

ELSE

src.message Your level is too high to do this!

RETURN 1

ENDIF



так, 7 уровнеи, на каждый улучшаются статы (мож ошибся че, сами смотрите).

Больше 170 никакои стат не идет.

Игроки 4 уровня или ниже могут експу переделывать в свободное пользование (для 4ого уровня или ниже).

Зп убийство чара дается уровень*20, а у убитого отнимается уровень*10.

+всякий функции и типы.

Кому надо - разберетесь.

Для полнои работы надо отрубить в сферетаблес прокачку статов и на монстров разбросать exp_gain на @death


NFix: Могут возникнуть проблемы в R-сферах, там подглючивают HTMLgump.


--------------------
Важна не реклама, а качество.
Качество - девиз хороших серверов.
Продуманность и готовность - девиз очень хороших серверов.
..::Lorien Role-Playing Shard(RunUO)::..
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
NFx   LvL system (полная)   13.3.2004, 13:35
DAMNED KING   Намана...   13.3.2004, 22:58
Fanat   Да зделано хорошо!   14.3.2004, 6:56
AHgpjuwKA   желало бы быть лутше :)   15.3.2004, 1:16
Afton   А в монстров надо ставить EVENTS e_exp ????   24.10.2004, 21:26
AHgpjuwKA   не ненадо   25.10.2004, 18:38
Afton   Незнаю убеваю я монстров а мне за них недают экс...   25.10.2004, 19:46
AHgpjuwKA   [EVENTS e_exp] On=@death IF (...   26.10.2004, 0:20
Afton   А в монсров не чего не надо вставлять чтоб довали ...   26.10.2004, 19:43
NeO   !@#!!! ТАМ ЖЕ НАПИСАНО!!!!!!!!!!!!!!!!!   26.10.2004, 22:29
Dark_Falcon   В R-ке очень удобно всем NPC эвенты давать. Достат...   26.10.2004, 23:07
NFx   потому и не ждают експи, что в общем-то и не преду...   26.10.2004, 23:08
Afton   Обломна... Я не как не могу найти нармальную сист...   26.10.2004, 23:24
NFx   могу объяснить как переделать :)   27.10.2004, 0:09
AHgpjuwKA   Обломна... Я не как не могу найти нармальную сист...   27.10.2004, 1:33
Lanceril   src.tag.exp=<src.tag.exp>+100 комментари...   27.10.2004, 7:39
AHgpjuwKA   как людям нравится пусть так и делают этот лишний ...   27.10.2004, 10:38
NFx   я прекрасно знаю что вар это глобальная переменная...   27.10.2004, 10:38
Afton   Помоги :)   27.10.2004, 19:44
NFx   завтра уогда бошка ясная будет начеркаю... но в об...   27.10.2004, 23:13
NFx   пишу не тестя...... кароч, во-первых всем НПС надо...   28.10.2004, 19:40
NFx   обсуждение в "скрипты 55i"   15.1.2005, 14:20


Тема закрытаОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 24.6.2025, 3:48
Designed by Nickostyle