MuServer 1.00.87 VTM
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 3 của 3

Chủ đề: MuServer 1.00.87 VTM

  1. #1
    Thành Viên
    Ngày tham gia
    Feb 2009
    Đang ở
    Hải Phòng
    Bài viết
    23
    Thanks
    7
    Thanked 6 Times in 3 Posts

    MuServer 1.00.87 VTM

    Chào các bạn. Hiện tại mình đang ngâm cứ bản MuServer 1.00.87 VTM của bác caothuphuto share trên forum. Khi tạo DL thì mặc định đã có 2000 mệnh lệnh rồi. Khá lợi thế so với các class khác. Theo mình biết thì thủ tục tạo nhân vật chứa trong WZ_CreateCharacter



    Khi tạo nhân vật mới nó sẽ lấy thông số trong Default Chrarharcter Class. Mà DL là 64.
    Code:
     INSERT INTO dbo.Character(AccountID, Name, cLevel, LevelUpPoint, Class,  Strength, Dexterity, Vitality, Energy, Inventory,MagicList,
         Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY,  MDate, LDate, Quest, DbVersion, Leadership )
       SELECT @AccountID As AccountID, @Name As Name, Level, LevelUpPoint, @Class As Class,
        Strength, Dexterity, Vitality, Energy, Inventory,MagicList,  Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY,
        getdate() As MDate, getdate() As LDate, Quest, DbVersion, Leadership
       FROM  DefaultClassType WHERE Class = @Class
    Rồi update lên Table Chacter. Trong Table Defaul class vào trong table Charter. Vấn đề là ở cả 2 table này đều không có Cột chỉ số mệnh lệnh. Mà khi vào game tạo nhân vật DL mới đã có 2000 Mệnh lệnh ở đâu ra.
    rất mong được giải đáp
    Khách viếng thăm hãy cùng ilovegame xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên
    Ngày tham gia
    Feb 2009
    Đang ở
    Hải Phòng
    Bài viết
    23
    Thanks
    7
    Thanked 6 Times in 3 Posts

    Ðề: MuServer 1.00.87 VTM

    Code:
    /****** Object:  Stored Procedure dbo.WZ_CreateCharacter    Script Date: 21.6.2009 19:47:05 ******/
    CREATE Procedure dbo.WZ_CreateCharacter
     @AccountID  varchar(10),
     @Name   varchar(10),
     @Class   tinyint
    AS
    Begin
     
     SET NOCOUNT ON
     SET XACT_ABORT ON
     DECLARE  @Result  tinyint
     
     SET @Result = 0x00
     
     If EXISTS ( SELECT  Name  FROM  Character WHERE Name = @Name )
     begin
      SET @Result = 0x01
      GOTO ProcEnd      
     end
     
     BEGIN TRAN
     If NOT EXISTS ( SELECT  Id  FROM  AccountCharacter WHERE Id = @AccountID )
      begin
       INSERT INTO dbo.AccountCharacter(Id, GameID1, GameID2, GameID3, GameID4, GameID5, GameIDC)
       VALUES(@AccountID, @Name, NULL, NULL, NULL, NULL, NULL)
     
       SET @Result  = @@Error
      end
     else
      begin
       Declare @g1 varchar(10), @g2 varchar(10), @g3 varchar(10), @g4 varchar(10), @g5 varchar(10)      
       SELECT @g1=GameID1, @g2=GameID2, @g3=GameID3, @g4=GameID4, @g5=GameID5 FROM dbo.AccountCharacter Where Id = @AccountID    
     
       if( ( @g1 Is NULL) OR (Len(@g1) = 0))
        begin
         UPDATE AccountCharacter SET  GameID1 = @Name
         WHERE Id = @AccountID
              
         SET @Result  = @@Error
        end
       else  if( @g2  Is NULL OR Len(@g2) = 0)
        begin
         UPDATE AccountCharacter SET  GameID2 = @Name
         WHERE Id = @AccountID
     
         SET @Result  = @@Error
        end
       else  if( @g3  Is NULL OR Len(@g3) = 0)
        begin  
         UPDATE AccountCharacter SET  GameID3 = @Name
         WHERE Id = @AccountID
     
         SET @Result  = @@Error
        end
       else  if( @g4 Is NULL OR Len(@g4) = 0)
        begin
         UPDATE AccountCharacter SET  GameID4 = @Name
         WHERE Id = @AccountID
     
         SET @Result  = @@Error
        end
       else  if( @g5 Is NULL OR Len(@g5) = 0)
        begin
         UPDATE AccountCharacter SET  GameID5 = @Name
         WHERE Id = @AccountID
     
         SET @Result  = @@Error
        end  
       else
        begin    
         SET @Result = 0x03      
         GOTO TranProcEnd        
        end    
      end
    
     if( @Result <> 0 )
      begin
       GOTO TranProcEnd  
      end
     else
      begin
       INSERT INTO dbo.Character(AccountID, Name, cLevel, LevelUpPoint, Class, Strength, Dexterity, Vitality, Energy, Inventory,MagicList,
         Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY,  MDate, LDate, Quest, DbVersion, Leadership )
       SELECT @AccountID As AccountID, @Name As Name, Level, LevelUpPoint, @Class As Class,
        Strength, Dexterity, Vitality, Energy, Inventory,MagicList,  Life, MaxLife, Mana, MaxMana, MapNumber, MapPosX, MapPosY,
        getdate() As MDate, getdate() As LDate, Quest, DbVersion, Leadership
       FROM  DefaultClassType WHERE Class = @Class    
     
       SET @Result  = @@Error
      end
     
    TranProcEnd:
     IF ( @Result  <> 0 )
      ROLLBACK TRAN
     ELSE
      COMMIT TRAN
     
    ProcEnd:
     SET NOCOUNT OFF
     SET XACT_ABORT OFF
    
     SELECT
        CASE @Result
           WHEN 0x00 THEN 0x01
           WHEN 0x01 THEN 0x00
           WHEN 0x03 THEN 0x03
           ELSE 0x02
        END AS Result
    End
    
    GO
    Khách viếng thăm hãy cùng ilovegame xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Vi phạm quy định
    Ngày tham gia
    Feb 2008
    Đang ở
    Donghoi City
    Bài viết
    1,205
    Thanks
    27
    Thanked 65 Times in 39 Posts

    Ðề: MuServer 1.00.87 VTM

    Xem lại ở đây nhé bạn:
    Code:
    USE [MuOnline]GO
    /****** Object:  StoredProcedure [dbo].[WZ_CONNECT_MEMB]    Script Date: 09/24/2011 18:59:23 ******/
    SET ANSI_NULLS OFF
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    /****** Object:  Stored Procedure dbo.WZ_CONNECT_MEMB    Script Date: 21.6.2009 19:47:05 ******/
    ALTER    PROCEDURE [dbo].[WZ_CONNECT_MEMB] 
    @uid varchar(10),
    @server varchar(20),
    @uip varchar(20)
    AS
    
    
    Begin
    
    
    BEGIN TRANSACTION
    
    
    SET NOCOUNT ON 
    
    
    IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid )
    Begin 
        UPDATE MEMB_STAT
            SET ip = @uip , connectstat = 1 , servername = @server , ConnectTM = (getdate())
            WHERE memb___id = @uid
    End
    ELSE
    Begin
        INSERT INTO MEMB_STAT ( memb___id,ip,connectstat,servername) 
            valueS (@uid,@uip,1,@server ) 
    End 
    IF(@@Error <> 0 )
        ROLLBACK TRANSACTION
    ELSE 
        COMMIT TRANSACTION
    
    
    IF EXISTS ( SELECT UserID FROM UserLogin WITH (READUNCOMMITTED) WHERE UserID = @uid )
    Begin 
        UPDATE UserLogin
            SET LoginIP=@uip,Server=@server,LoginTM = (getdate()),OnlineSec=0,GiveMoney=0,logoutTM=null
            WHERE UserID = @uid
    End
    ELSE
    Begin
        INSERT INTO UserLogin (UserID,LoginIP,Server,LoginTM,OnlineSec,GiveMoney)
            values (@uid,@uip,@server,getdate(),0,0) 
    End 
    declare @SmallestZS int
    declare @LargestZS int
    declare @Type int
    select @Type=Type from SetServerList where ServerName=@server
    
    
    if (@Type>0) begin
    
    
        select @SmallestZS=Smallest_ZS from SetServerList where ServerName=@server
        select @LargestZS=Largest_ZS from SetServerList where ServerName=@server
    
    
        if not (@SmallestZS is null) begin 
        update character set ctlcode=(ctlcode | 0x81) where [name] not in
        (
            SELECT NAME FROM WEB_ZS WHERE (ACC = @uid) AND (ZSCS >= @LargestZS) AND (ZSCS <= @SmallestZS) 
         ) AND (AccountID = @uid) 
        end
    end
    DELETE FROM MEMB_STAT_GJ WHERE (memb___id = @uid  and servername=@server)
    update character set ctlcode=(ctlcode | 0x81) where [name]  in
    (
    SELECT name FROM MEMB_STAT_GJ WHERE (memb___id = @uid)
    ) AND (AccountID = @uid)
    
    
    Declare @Map int
    Select @Map=MapNumber from Character Where AccountID = @uid
    if (@Map=30)
    begin
        UPDATE [MEMB_STAT] Set ConnectStat=0 where memb___id=@uid
    end 
    else
    if (@Map=31)
    begin
        UPDATE [MEMB_STAT] Set ConnectStat=0 where memb___id=@uid
    end 
    else
    if (@Map=34)
    begin
        UPDATE [MEMB_STAT] Set ConnectStat=0 where memb___id=@uid
    end 
    UPDATE [Character] SET MapNumber = 0, MapPosX = 130, MapPosY = 130 WHERE (MapNumber = 30) AND (AccountID = @uid) OR (MapNumber = 31) AND (AccountID = @uid) OR (MapNumber = 32) AND (AccountID = @uid) OR (MapNumber = 34) AND (AccountID = @uid) OR (MapNumber = 9) AND (AccountID = @uid) OR (MapNumber = 10) AND (AccountID = @uid) OR (MapNumber = 11) AND (AccountID = @uid) OR (MapNumber = 12) AND (AccountID = @uid) OR (MapNumber = 13) AND (AccountID = @uid) OR (MapNumber = 14) AND (AccountID = @uid) OR (MapNumber = 15) AND (AccountID = @uid) OR (MapNumber = 16) AND (AccountID = @uid) OR (MapNumber = 17) AND (AccountID = @uid) OR (MapNumber = 18) AND (AccountID = @uid) OR (MapNumber = 19) AND (AccountID = @uid) OR (MapNumber = 20) AND (AccountID = @uid) OR (MapNumber = 21) AND (AccountID = @uid) OR (MapNumber = 22) AND (AccountID = @uid) OR (MapNumber = 23) AND (AccountID = @uid) OR (MapNumber = 52) AND (AccountID = @uid) OR (MapNumber = 53) AND (AccountID = @uid)
    
    
    Update [Character] set [Character].Leadership=9999 Where [Character].Class=64
    
    
    SET NOCOUNT OFF 
    End
    Mình mới search sơ sơ, chưa test Mà sao của bạn lại là 2000 nhỉ?
    Khách viếng thăm hãy cùng Destruct xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 

Các Chủ đề tương tự

  1. Muserver + wed (asp) 1.02e
    Bởi kekhongduongve trong diễn đàn Releases
    Trả lời: 35
    Bài viết cuối: 21-03-12, 09:16 PM
  2. Một số vấn đề cần hỏi về Muserver ENC 1.9.3
    Bởi pengocdl trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 2
    Bài viết cuối: 19-11-10, 08:31 PM
  3. Help Lỗi cài Muserver
    Bởi mubinhminh trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 27
    Bài viết cuối: 18-10-10, 05:53 PM
  4. Thông báo từ ban quản trị MuServer
    Bởi caothuphutho trong diễn đàn Releases
    Trả lời: 2
    Bài viết cuối: 08-10-07, 11:13 AM

Tag của Chủ đề này

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 08:14 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.