[Paylaşım] DC olunca karakteri ışınlama
Egzotik Forumları

Hayatın içinden...

Giriş yap

Şifremi unuttum



Anket

Egzotik Forum'dan MemNun Musunuz?

[Paylaşım] DC olunca karakteri ışınlama I_vote_lcap96%[Paylaşım] DC olunca karakteri ışınlama I_vote_rcap 96% [ 915 ]
[Paylaşım] DC olunca karakteri ışınlama I_vote_lcap1%[Paylaşım] DC olunca karakteri ışınlama I_vote_rcap 1% [ 7 ]
[Paylaşım] DC olunca karakteri ışınlama I_vote_lcap1%[Paylaşım] DC olunca karakteri ışınlama I_vote_rcap 1% [ 6 ]
[Paylaşım] DC olunca karakteri ışınlama I_vote_lcap3%[Paylaşım] DC olunca karakteri ışınlama I_vote_rcap 3% [ 24 ]

Toplam Oylar : 952


Bağlı değilsiniz. Bağlanın ya da kayıt olun

[Paylaşım] DC olunca karakteri ışınlama

Aşağa gitmek  Mesaj [1 sayfadaki 1 sayfası]

nuri504

nuri504
Egzotik Forumdan Sınır Dışı Edilmiş Kullanıcı
Egzotik Forumdan Sınır Dışı Edilmiş Kullanıcı

Selam,
Bir çoğunuz karakter oyuna girince veya oyundan çıkınca bknz. account_login veya account_logout prosedürlerinde savaşta DC olanları
update userdata set Zone = '21' where Zone = '101' or Zone = '102'
gibi bir komutu ekleyip bu oyuncuları moradona ışınlıyorsunuz ama bu aslında yanlış bir komut kullanımıdır ve SQL'i aşırı derecede yorar karakter sayısıylada alakalıdır.Bende bunun için bir prosedür hazırladım CZde DC olanları CZ towna atıyor, savaşta DC olanları lunara gidiş kapısına atıyor.Bifrostta DC olanlarıda moradona yolluyor ve sadece bu hesaba bağlı karakterleri yapıyor.
Kod:
CREATE PROCEDURE [dbo].[FIX_WARP] (@strAccountID varchar(30))
AS DECLARE @strNation int, @strCharID1 varchar(30),@strCharID2 varchar(30),@strCharID3 varchar(30)
BEGIN TRAN
SELECT @strNation = bNation , @strCharID1 = strCharID1 , @strCharID2 = strCharID2, @strCharID3 = strCharID3 from account_char where strAccountID=@strAccountID
IF @strNation = 1
 BEGIN
 update userdata set Zone = '21' where Zone = '31' and (struserid=@strCharID1 or struserid=@strCharID2 or struserid=@strCharID3)
 update userdata set Zone = '1',px='187730',py='1660',pz='17130' where (Zone = '101' or Zone = '111' or Zone = '103' or Zone = '102') and nation='1' and (struserid=@strCharID1 or struserid=@strCharID2 or struserid=@strCharID3)
 update userdata set Zone = '201',pz='109300',py='300',px='138000' where Zone = '201' and Nation='1' and (struserid=@strCharID1 or struserid=@strCharID2 or struserid=@strCharID3)
 END
ELSE
IF @strNation = 2
 BEGIN
 update userdata set Zone = '21' where Zone = '31' and (struserid=@strCharID1 or struserid=@strCharID2 or struserid=@strCharID3)
 update userdata set Zone = '2',pz='186940',py='2330',px='19910' where (Zone = '101' or Zone = '111' or Zone = '103' or Zone = '102') and nation='2' and (struserid=@strCharID1 or struserid=@strCharID2 or struserid=@strCharID3)
 update userdata set Zone = '201',pz='92029',py='1150',px='64929' where (Zone = '201' and Nation='2') and (struserid=@strCharID1 or struserid=@strCharID2 or struserid=@strCharID3)
 END
COMMIT TRAN
Kullanımı account_logout'a eklenmesi kafi olup EXEC FIX_WARP @AccountID şeklinde ekleyebilirsiniz. Eğer kullandığınız mapler değişikse ve farklı yerlerde doğuyorlar ise onuda kendiniz pz,py,px olarak belirttiğim alanlardan düzeltebilirsiniz.alıntıdır 

http://blackknight.yetkinforum.com/

Sayfa başına dön  Mesaj [1 sayfadaki 1 sayfası]

Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz