搜索
 找回密码
 加入

彻底一号一角色的方法(修改EB)

ctgwglzc 2010-2-9 16:46:50 3474
彻底的取消选择角色功能,实现安全的一号一角色

原始代码
  1. 0055B6E3     /0F85 C1010000 JNZ     0055B8AA
  2. 0055B6E9   . |A1 B8898100   MOV     EAX, DWORD PTR DS:[8189B8
复制代码
修改为
  1. 0055B6E3   . /E9 C2010000   JMP     0055B8AA
  2. 0055B6E8     |90            NOP
  3. 0055B6E9   . |A1 B8898100   MOV     EAX, DWORD PTR DS:[8189B8]
复制代码

22 回复

wang9898
2009-8-13 23:54:10
点击查看详情
好东西,不过,通过在数据库那边设置也是一样吧
28085279
2009-8-14 08:25:43
数据库设置是可以,但是新建角色其实还是存在的,只是不显示
xz7323746
2009-9-12 13:32:10
数据库那里改了还是可以建的。不信你建好一个角色然后再建一个。。你再申请个号起第二个角色的名字肯定提示已经存在角色名  所以说还是可以建的。。
v123
2009-9-29 23:37:20
在这里的存储CREATE_NEW_CHAR也可以,

  1. /****** Object:  Stored Procedure dbo.CREATE_NEW_CHAR    Script Date: 6/6/2006 6:03:33 PM ******/


  2. /****** 개체: 저장 프로시저 dbo.CREATE_NEW_CHAR    스크립트 날짜: 2002-11-14 오전 11:18:03 ******/


  3. -- scripted by samma
  4. -- 2002.01.17
  5. -- 2003.02.06 sungyong

  6. CREATE PROCEDURE CREATE_NEW_CHAR

  7. @nRet                smallint OUTPUT,
  8. @AccountID         char(21),
  9. @index                 tinyint,
  10. @CharID        char(21),
  11. @Race                 tinyint,
  12. @Class         smallint,
  13. @Hair                 tinyint,
  14. @Face                 tinyint,
  15. @Str                 tinyint,
  16. @Sta                 tinyint,
  17. @Dex                 tinyint,
  18. @Intel                 tinyint,
  19. @Cha                 tinyint

  20. AS

  21. DECLARE @Row tinyint, @Nation tinyint, @Zone tinyint, @PosX int, @PosZ int
  22.         SET @Row = 0        SET @Nation = 0  SET @Zone = 0  SET @PosX = 0 SET @PosZ = 0

  23.         SELECT @Nation = bNation, @Row = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
  24.        
  25.         IF @Row >= 1        SET @nRet =  1
  26.        
  27.         IF @Nation = 1 AND @Race > 10        SET @nRet = 2
  28.         ELSE IF @Nation = 2 AND @Race < 10        SET @nRet = 2
  29.         ELSE IF @Nation <>1 AND @Nation <> 2        SET @nRet = 2

  30.         IF @nRet > 0
  31.                 RETURN
  32.        
  33.         SELECT @Row = COUNT(*) FROM USERDATA WHERE strUserId = @CharID
  34.         IF @Row > 0
  35.         BEGIN
  36.                 SET @nRet =  1
  37.                 RETURN
  38.         END

  39.         --SET @Zone = @Nation
  40.         SET @Zone=21
  41.         SELECT @PosX = InitX, @PosZ = InitZ  FROM ZONE_INFO WHERE ZoneNo = @Zone
  42.        

  43. BEGIN TRAN       
  44.         IF @index = 0
  45.                 UPDATE ACCOUNT_CHAR SET strCharID1 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  46.         ELSE
  47.         BEGIN
  48.         ROLLBACK TRAN
  49.         SET @nRet=4
  50.         RETURN
  51.         END
  52.         --IF @index = 1
  53.                 --UPDATE ACCOUNT_CHAR SET strCharID2 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  54.         --ELSE IF @index = 2
  55.                 --UPDATE ACCOUNT_CHAR SET strCharID3 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  56.         --ELSE IF @index = 3
  57.                 --UPDATE ACCOUNT_CHAR SET strCharID4 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  58.         --ELSE IF @index = 4
  59.                 --UPDATE ACCOUNT_CHAR SET strCharID5 = @CharID, bCharNum = bCharNum + 1 WHERE strAccountID = @AccountID
  60.        

  61.                 INSERT INTO USERDATA (strUserId, Nation, Race, Class, HairColor, Face, Strong, Sta, Dex, Intel, Cha, Zone, PX, PZ ,loyalty,gold,exp)
  62.         VALUES         (@CharID, @Nation, @Race, @Class, @Hair, @Face, @Str, @Sta, @Dex, @Intel, @Cha, @Zone, @PosX, @PosZ,100,100000,1200000)        
  63.        
  64.         IF @@ERROR <> 0
  65.         BEGIN         
  66.                 ROLLBACK TRAN
  67.                 SET @nRet =  4
  68.                 RETURN
  69.         END
  70.        
  71. COMMIT TRAN
  72. SET @nRet =  0
  73. GO
复制代码
duwanli2000
2009-11-28 21:00:09
toto说话总是这样,我们新人不明白的呀!!到底要怎么做呀
dxd123456
2009-12-13 09:55:54
顶!!!!学习!
oncewill
2010-2-7 16:11:08
收藏收藏。。。继续学习
458047596
2010-2-8 15:07:08
没什么意思啊 一号一个人物 弄个刷钱的法师号交易期来都困难
parsalian
2010-2-9 16:46:50
提示: 作者被禁止或删除 内容自动屏蔽
123下一页
高级模式
游客