|
Ya SQL ya da Write/readfile aracılığı ile yapabilirsin. Sql kullanacaksan ödül alınırken db ye bağlanıp belirlediğin tabloya lastip bilgisini girip ödül aldı tablosuna 1 değeri işlenecek. Writefile / readfile ile de lastip adında txt dosyası oluşturacaksın file.filexist ile o ip ödülü alıp almamış mı kontrol yaptırabilirsin.
Edit: Serv.list fonksiyonunu kullanıyorsan oluşturacağın bir listeye ip yi ekleyip sorgulatma da yapabilirsin.
Örnek scp var mı acaba?[function ipsorgutablo]
db.connect
db.execute "create table ip_sorgu (id int unsigned not null auto_increment primary key,nametext,acc text,ip text)";
src.sysmessage @07a1,,1 ip sorgu tablosu kuruldu.Dclick'e ödül verdikten sonra bununla kaydet[Function ipsorgukaydet]
db.connect
db.query "insert into ip_sorgu values (null, '<src.name>', '<src.account.name>', '<src.account.lastip>')"Alttakinide dclick kısmına ekleyebilirsin ödül sorgusundan öncedb.connect
db.query "select ip from ip_sorgu where ip = '<src.account.lastip>'"
if <db.row.numrows>
src.sysmessage @38,,1 <src.account.lastip> ip numarasından sadece bir kişi alabilir.
return 1
endif
[plevel 1]
hediyekomutu
[FUNCTION hediyekomutu]
// Sqlite
LDB.CONNECT "db/main.db"
IF (<LDB.CONNECTED>)
LDB.EXECUTE CREATE TABLE IF NOT EXISTS 'prizes' ('id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 'account_name' TEXT, 'uid' TEXT, 'duid' INT, 'pc' TEXT, 'ip' TEXT, 'command' TEXT, 'created_at' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 'updated_at' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP)
LDB.QUERY "SELECT * FROM 'prizes' WHERE pc='<account.tag0.pc>' AND command='hediyekomutu'"
IF (<DLDB.ROW.NUMROWS>)
src.func_sys_error Bu bilgisayardan daha önce bu ödül alınmış.
return 1
ENDIF
LDB.QUERY "SELECT * FROM 'prizes' WHERE account_name='<account>' AND command='hediyekomutu'"
IF (<DLDB.ROW.NUMROWS>)
src.func_sys_error Bu hesaptan daha önce bu ödül alınmış.
return 1
ENDIF
LDB.QUERY "SELECT * FROM 'prizes' WHERE ip='<account.lastip>' AND command='hediyekomutu'"
IF (<DLDB.ROW.NUMROWS>)
src.func_sys_error Bu ipden daha önce bu ödül alınmış.
return 1
ENDIF
LDB.EXECUTE INSERT INTO 'prizes' (account_name,uid,duid,pc,ip,command) VALUES ('<account>','<uid>','<duid>','<account.tag0.pc>','<account.lastip>','hediyekomutu')
newgold 100000
ENDIF
LDB.Close

[function ipsorgutablo]
db.connect
db.execute "create table ip_sorgu (id int unsigned not null auto_increment primary key,nametext,acc text,ip text)";
src.sysmessage @07a1,,1 ip sorgu tablosu kuruldu.
[itemdef i_odul_gate]
id i_moongate_blue
name Odul Gate
on=@Create
timer 300
attr 010
color 0a15
on=@click
Message @0100,,1 <timer> sn.
Message @48,,1 Noname
Message @0790,,1 Ödül Gate
return 1
on=@dclick
src.odulver
dorand 2
serv.newitem i_deed_nightmare
serv.newitem i_deed_unicorn
enddo
new.bounce
db.connect
db.query "select ip from ip_sorgu where ip = '<src.account.lastip>'"
if <db.row.numrows>
src.sysmessage @38,,1 <src.account.lastip> ip numarasından sadece bir kişi alabilir.
return 1
endif
src.sysmessage @0790,,1 Ödülleriniz çantanıza yerleştirilmiştir.
src.go star
return 1
on=@step
src.hata Çift tıklamalısınız.
return 1
on=@timer
region.allclients go pazarrrr
serv.b @48,,1 Ödül :
serv.b @0790,,1 Ödül Gate'i kapanmıştır. İyi oyunlar
remove
return 1
[typedef t_odulver]
[function odulver]
serv.newitem i_deed_degerlihazine,1
new.bounce
serv.newitem i_deed_degerlihazine,1
new.bounce
serv.newitem i_market
new.bounce
[Function ipsorgukaydet]
db.connect
db.query "insert into ip_sorgu values (null, '<src.name>', '<src.account.name>', '<src.account.lastip>')"
[eof]Sayın Abadan,12:35:ERROR:(OnlineSureTL.scp,371)Undefined keyword 'LDB.CONNECT'
12:35:ERROR:(OnlineSureTL.scp,372)Can't resolve <LDB.CONNECTED>
12:35:ERROR:(OnlineSureTL.scp,372)Undefined symbol ''
12:35:ERROR:(OnlineSureTL.scp,397)Undefined keyword 'LDB.Close'
[plevel 1]
hediyeal
[FUNCTION hediyeal]
LOCAL.LASTIP = <MD5HASH <ACCOUNT.LASTIP>>
LOCAL.ACCOUNT = <MD5HASH <ACCOUNT>>
LOCAL.ELEM_ACCOUNT = <SERV.LIST.HEDIYEALANLAR.FINDELEM <LOCAL.LASTIP>>
LOCAL.ELEM_IP = <SERV.LIST.HEDIYEALANLAR.FINDELEM <LOCAL.ACCOUNT>>
IF !(<ISEMPTY <LOCAL.ELEM_ACCOUNT>>)
IF (<LOCAL.ACCOUNT> == <SERV.LIST.HEDIYEALANLAR.<DLOCAL.ELEM_ACCOUNT>>)
FUNC_SYS_ERROR Bu hesap ile daha önceden ödül almışsınız.
RETURN 1
ENDIF
ELSEIF !(<ISEMPTY <LOCAL.ELEM_IP>>)
IF (<LOCAL.LASTIP> == <SERV.LIST.HEDIYEALANLAR.<DLOCAL.ELEM_IP>>)
FUNC_SYS_ERROR Bu hesap ile daha önceden ödül almışsınız.
RETURN 1
ENDIF
ENDIF
NEWGOLD 10000
SERV.LIST.HEDIYEALANLAR.ADD <LOCAL.ACCOUNT>
SERV.LIST.HEDIYEALANLAR.ADD <LOCAL.LASTIP>
|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Ultima Destek Smf Forum Kayıt Sistemi Paylaşımı
Son cevap: 11-07 20:37 · Son yazan: illumunati · Mesaj: 3 · Görüntü: 224
|
UO Yardım Alanı | 11-07 20:37 | 3 | 224 | |
|
|
Otomatik Av Sistemi
Son cevap: 07-06 12:33 · Son yazan: mithbar · Mesaj: 8 · Görüntü: 3437
|
Derleme Scriptler | 07-06 12:33 | 8 | 3437 | |
|
|
Random Spawn sistemi yardım
Son cevap: 02-09 16:44 · Son yazan: Stark35 · Mesaj: 12 · Görüntü: 6299
|
Derleme Scriptler | 02-09 16:44 | 12 | 6299 | |
|
|
Hesap Kayıt Sistemi Hakkında
Son cevap: 22-10 18:58 · Son yazan: Joshepx · Mesaj: 1 · Görüntü: 1781
|
Client ve Account Sistemleri | 22-10 18:58 | 1 | 1781 | |
|
|
Kredi Barbut Zar Sistemi
Son cevap: 22-11 13:36 · Son yazan: xrambo · Mesaj: 3 · Görüntü: 3215
|
Grafik Araçları | 22-11 13:36 | 3 | 3215 |