[FUNCTION f_bolukayir]
IF (<EVAL STRLEN(<ARGS>)> > 3)
LOCAL.STRLEN=<EVAL STRLEN(<ARGS>)>
LOCAL.CURRENTDIGIT=<EVAL STRLEN(<ARGS>)>
WHILE (<LOCAL.CURRENTDIGIT> > 3)
ARGS=<STRSUB 0 <EVAL (<LOCAL.CURRENTDIGIT> - 3)> <ARGS>>.<STRSUB <EVAL (<LOCAL.CURRENTDIGIT> - 3)> 50 <ARGS>>
LOCAL.CURRENTDIGIT -= 3
ENDWHILE
ENDIF
RETURN <ARGS>
[function ARRAYCOUNT]
return <eval <argv>>
[FUNCTION f_array]
local.temp = <argv[<eval <argv> - 1>]> -1
return <argv[<dlocal.temp>]>
[function charkur]
db.connect
db.execute "create table acc_trans if not exists (id int unsigned not null auto_increment primary key,account_name text,account_pass text,char_name text,char_gold text,char_skills text,char_durum text);"
[function char]
for a 0 <eval <serv.accounts>-1>
for b 0 <eval <serv.account.<dlocal.a>.chars>-1>
if <serv.account.<dlocal.a>.chars> > 0
ref1 <serv.account.<dlocal.a>.char.<dlocal.b>>
db.execute "insert into acc_trans VALUES (NULL, '<serv.account.<dlocal.a>.name>', '<md5hash <serv.account.<dlocal.a>.password>>', '<ref1.name>', '<ref1.gold>', '<ref1.f_getskill>','Duruyor');"
endif
endfor
endfor
[function f_getskill]
for a 0 49
if (<uid.<uid>.<serv.skill.<dlocal.a>.name>> > 49.9)
if strmatch('<local.skill>','0')
local.skill <serv.skill.<dlocal.a>.name> <uid.<uid>.<serv.skill.<dlocal.a>.name>>
else
local.skill .=",<serv.skill.<dlocal.a>.name> <uid.<uid>.<serv.skill.<dlocal.a>.name>>"
endif
endif
endfor
return <local.skill>
[function accaktar]
sdialog d_accaktar
[dialog d_accaktar]
50,50
nomove
page 1
resizepic 0 0 5120 280 150
resizepic 10 10 3000 260 130
resizepic 40 39 3000 200 26
dtextentry 40 40 253 25 0 1 Account Name
resizepic 40 69 3000 200 26
dtextentry 40 70 253 25 0 2 Şifre
button 50 100 57 58 1 0 99999997
dhtmlgump 90 99 150 20 0 0 <def.bfont_dred> Giriş Yap
page 2
resizepic 0 0 5120 280 250
resizepic 10 10 3000 260 230
resizepic 40 39 3000 200 26
dhtmlgump 50 40 253 25 0 0 <def.bfont_dred>Hesap adı: <ctag0.acc>
resizepic 40 69 3000 200 26
dhtmlgump 50 70 253 25 0 0 <def.bfont_dred>Şifre: ********
db.connect
db.query "select * from acc_trans where account_name = '<ctag0.acc>' limit 0,4"
for x 0 4
if strmatch('<db.row.<dlocal.x>.char_durum>','Duruyor')
local.y ((<dlocal.x>*20)+115)
button 70 <eval <local.y>> 2511 2510 1 0 <eval <db.row.<dlocal.x>.id>+10>
dhtmlgump 90 <dlocal.y> 300 30 0 0 <def.bfont_dred><addslashes <db.row.<dlocal.x>.char_name>>
endif
endfor
[dialog d_accaktar button]
on=99999997
if (<isempty <argtxt[1]>>) || (<isempty <argtxt[2]>>)
sysh_trk Boş bırakmayın.
return 1
else
db.connect
db.query "select * from acc_trans where account_name = '<argtxt[1]>'"
if (<db.row.numrows> < 1)
sysh_trk Böyle bir hesap kayıtlı değil.
return 1
elif !strmatch('<db.row.0.account_pass>','<md5hash <argtxt[2]>>')
sysh_trk Şifreniz yanlış.
return 1
elif !strmatch('<db.row.0.char_durum>','Duruyor') && !strmatch('<db.row.0.char_durum>','<account.name>')
sysh_trk Bu hesapla şu an başkası ilgileniyor.
return 1
else
ctag0.acc <argtxt[1]>
sdialog d_accaktar 2
db.execute "update acc_trans set char_durum='<account.name>' where account_name='<ctag0.acc>'"
endif
on=0
db.connect
db.execute "update acc_trans set char_durum='Duruyor' where account_name='<ctag0.acc>'"
on 1 99999996
ctag.accid <eval (<argn1>-10)>
sdialog d_accaktar_ayrinti
[dialog d_accaktar_ayrinti]
50,50
nomove
page 1
resizepic 0 0 5120 280 450
resizepic 10 10 3000 260 430
dhtmlgump 70 25 300 30 0 0 <def.BFONT_red>Aktar!
button 50 25 2511 2510 1 0 1
db.connect
db.query "select * from acc_trans where id = '<eval <ctag.accid>>' limit 1"
dhtmlgump 50 *45 300 30 0 0 <def.BFONT_dblue>İsim: <def.bfont_dred><addslashes <db.row.0.char_name>>
dhtmlgump 50 *25 300 30 0 0 <def.BFONT_dblue>Altın: <def.bfont_dred><f_bolukayir <addslashes <db.row.0.char_gold>>> altın
dhtmlgump 50 *25 300 30 0 0 <def.BFONT_dblue>Yetenekler
local.y 90
for a 1 <arraycount <db.row.0.char_skills>>
local.y +=25
dhtmlgump 50 <dlocal.y> 300 30 0 0 <def.BFONT_dred><def.bfont_dred><f_array <addslashes <db.row.0.char_skills>>,<dlocal.a>>
endfor
page 2
resizepic 0 0 5120 280 180
resizepic 10 10 3000 260 160
dhtmlgump 30 20 230 80 0 0 <def.bfont_red><addslashes <db.row.0.char_name>><def.bfont_dred> isimli karakteri şu anki karakterinizle değiştirmek istediğinize emin misiniz?
dhtmlgump 30 80 230 80 0 0 <def.center><def.bfont_red>Not: Şu anki karakterinizdeki bütün yetenekleriniz sıfırlanacaktır.<def.centere>
dhtmlgump 50 125 300 30 0 0 <def.BFONT_dred>Aktar
button 20 125 2511 2510 1 0 2
dhtmlgump 50 150 300 30 0 0 <def.BFONT_red>Vazgeç!
button 20 150 2511 2510 1 0 0
[dialog d_accaktar_ayrinti button]
on=0
db.execute "update acc_trans set char_durum='Duruyor' where account_name='<ctag0.acc>'"
on=1
if !strmatch('<db.row.0.char_durum>','Duruyor') && !strmatch('<db.row.0.char_durum>','<account.name>')
sysh_trk Bu hesapla şu an başkası ilgileniyor.
return 1
else
sdialog d_accaktar_ayrinti 2
endif
on=2
allskills 0
for a 1 <arraycount <db.row.0.char_skills>>
<strarg <f_array <addslashes <db.row.0.char_skills>>,<dlocal.a>>> <streat <f_array <addslashes <db.row.0.char_skills>>,<dlocal.a>>>
endfor
gold += <db.row.0.char_gold>
sys_trk Yeni karakteriniz hayırlı olsun. <f_bolukayir <db.row.0.char_gold>> ve yetenekleriniz aktarıldı.
db.execute "delete from acc_trans where id='<eval <ctag.accid>>';"
Saveleri ve accountları bulunan eski sunucular böyle değerlendirilebilir diye düşündüm. Bazı yerlerde hatalar olabilir hiç denemedim.
Unutmadan, bu sistem hesapların md5 olarak kaydedilmediği sunucularda çalışacaktır, eğer aktarmak istediğiniz sunucuda hesaplar md5 olarak kaydediliyorsa
db.execute "insert into acc_trans VALUES (NULL, '<serv.account.<dlocal.a>.name>', '<md5hash <serv.account.<dlocal.a>.password>>', '<ref1.name>', '<ref1.gold>', '<ref1.f_getskill>','Duruyor');"
satırını
db.execute "insert into acc_trans VALUES (NULL, '<serv.account.<dlocal.a>.name>', '<serv.account.<dlocal.a>.password>', '<ref1.name>', '<ref1.gold>', '<ref1.f_getskill>','Duruyor');"
Total votes: 0
Sunucular 20 saat önce
Sunucular 3 gün önce
Sunucular 6 gün önce
Sunucular 1 hafta önce
Ultima Online 1 hafta önce
Ultima Online 3 hafta önce
Ultima Online 3 hafta önce
Sphere Scripting 3 hafta önce
Ultima Online 3 hafta önce
Off Topic 1 ay önce
Sunucular 1 ay önce
2024-10-31 22:47
2024-10-14 17:45
2024-09-26 14:21
2024-07-08 22:50
2024-07-08 22:34
2024-06-19 22:05
2024-06-01 02:19
2024-05-31 21:17
Yorumlar (0)