Merhaba arkadaşlar.Bir level sistemi ve ırk sistemi buldum editledim başarabildigim kadar.Soracağım soru level ile alakalı.Yaratıklardan experince kazanılıyor ve bu experienceler yeterli oldugu zaman level atlanıyor.Buldugum scp'te level atla dedigimizde altta stat tablosu cıkıyor ve stat ayarları verilen izne gore girilebiliyor.
Mesela level atlandıgında oyuncu toplamda str,dex ve int'e 65 puanı dagıtabiliyor.Ben ayrıca bunun yanına ek olarak aynı stat gibi skillde verdirtmek istiyorum.Bunu tıpkı stat gibi nasıl yapabilirim.(Skill gainlerin hepsini kapattım)
işte script :
Kod:
clvl_maxstr 4500
clvl_maxint 900
clvl_maxdex 450
clvl_maxstat 65 // Level atlarken seçilecek toplam stat miktarı.
[plevel 1]
level
[function level]
if (<eval <src.tag.level>> <1)
src.events +e_clvl
src.update
src.tag.level 1
src.ostr 30
src.oint 15
src.odex 20
src.modstr 0
src.modint 0
src.moddex 0
src.tag.sstr <str>
src.tag.ddex <dex>
src.tag.iint <int>
endif
sdialog d_clevel
[dialog d_clevel]
0,0
resizepic 90 80 3500 300 185
//resizepic 95 85 9350 290 10
//resizepic 95 100 9350 290 145
//resizepic 95 248 9350 290 10
resizepic 105 105 9350 140 40
dhtmlgump 110 110 120 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_dred>Level
dhtmlgump 110 125 120 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_black><eval <src.tag.level>>
resizepic 105 160 9350 140 40
dhtmlgump 110 165 120 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_dred>Experience
dhtmlgump 110 180 120 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_black><eval <src.tag.exp>>
if (<eval <def.clvl_exp<eval <eval <src.tag.level>>+1>>>==0)
dhtmlgump 250 110 150 40 0 0 <def.h4><def.bfont_size3><def.bfont_black>Sırada baska<def.br>level yok.
else
dhtmlgump 250 110 150 40 0 0 Level <def.h4><def.bfont_size3><def.bfont_black><eval <eval <src.tag.level>>+1>
icin gereken<def.br>Experience <eval <def.clvl_exp<eval <eval <src.tag.level>>+1>>>
endif
button 110 215 2511 2510 1 0 1
dhtmlgump 135 215 250 20 0 0 <def.h4><def.bfont_size3><def.bfont_dred>Level Atla
//button 225 215 2511 2510 1 0 3
//dhtmlgump 260 215 250 20 0 0 <def.h4><def.bfont_size3><def.bfont_dred>Experince Deed'e Cevir
page 2
resizepic 90 280 3500 300 185
//resizepic 95 285 9350 290 10
//resizepic 95 300 9350 290 145
//resizepic 95 448 9350 290 10
resizepic 105 305 9350 270 30
dhtmlgump 110 310 250 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_dred>Toplamda <eval
<def.clvl_maxstat>> stat secme hakkiniz var.
resizepic 105 350 9350 270 60
dhtmlgump 110 360 70 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_dred>Str
dhtmlgump 190 360 70 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_dred>Int
dhtmlgump 270 360 70 20 0 0 <def.center><def.h4><def.bfont_size3><def.bfont_dred>Dex
dtextentry 137 380 20 20 0 0 0
dtextentry 217 380 20 20 0 1 0
dtextentry 297 380 20 20 0 2 0
button 115 417 4023 4025 1 0 2
dhtmlgump 150 417 250 20 0 0 <def.h4><def.bfont_size3><def.bfont_dred>Level Atla
[dialog d_clevel button]
onbutton 1
if (<eval <src.tag.exp>> < <eval <def.clvl_exp<eval <eval <src.tag.level>>+1>>>)
src.sysmessage @38,,1 Birikmis experience'niz level atlamak icin yetersiz!
return 1
endif
if (<eval <def.clvl_exp<eval <eval <src.tag.level>>+1>>>==0)
src.sysmessage @38,,1 Zaten son leveldesiniz!
return 1
endif
sdialog d_clevel 2
onbutton 2
if !(<isnum <argtxt[0]>>) || !(<isnum <argtxt[1]>>) || !(<isnum <argtxt[2]>>)
src.sysmessage @38,,1 Statlara rakam yazmak zorundasiniz!
sdialog d_clevel 2
return 1
endif
var.clvl_stats <eval <argtxt[0]>> + <eval <argtxt[1]>> + <eval <argtxt[2]>>
if !(<eval <var.clvl_stats>>==<eval <def.clvl_maxstat>>)
src.sysmessage @38,,1 Statlariniza toplamda <eval <def.clvl_maxstat>> deger giriniz!
sdialog d_clevel 2
return 1
endif
if (<eval <src.ostr>+<eval <argtxt[0]>>> > <eval <def.clvl_maxstr>>)
src.sysmessage @38,,1 Str <eval <def.clvl_maxstr>>'den yuksek olamaz!
sdialog d_clevel 2
return 1
endif
if (<eval <src.ont>+<eval <argtxt[1]>>> ><eval <def.clvl_maxint>>)
src.sysmessage @38,,1 Int <eval <def.clvl_maxint>>'den yuksek olamaz!
sdialog d_clevel 2
return 1
endif
if (<eval <src.odex>+<eval <argtxt[2]>>> ><eval <def.clvl_maxdex>>)
src.sysmessage @38,,1 Dex <eval <def.clvl_maxdex>>'den yuksek olamaz!
sdialog d_clevel 2
return 1
endif
src.tag.exp -=<eval <def.clvl_exp<eval <eval <src.tag.level>>+1>>>
src.tag.level +=1
effect=3,0375a,6,30,1
src.ostr +=<eval <argtxt[0]>>
src.oint +=<eval <argtxt[1]>>
src.odex +=<eval <argtxt[2]>>
src.tag.sstr <src.ostr>
src.tag.iint <src.oint>
src.tag.ddex <src.odex>