الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم المواضيع المكررة و المخالفة (https://silkroad4arab.com/vb/forumdisplay.php?f=58)
-   -   فهرس لحلول مشاكل عمل P-Server + الاستفسار لاى مشكلة (https://silkroad4arab.com/vb/showthread.php?t=417240)

OoReMooO 01-03-2012 08:23 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة KinG_WoRlD (المشاركة 4059365)
انا عاوز لودر لسرفر bloody
اللى هو فى الموضوع المخصص للسرفر بس اللينك مش بيفتح ياريت حد يرفعه من جديد

اتفضل اللودر اهو

http://www.mediafire.com/?7qp9m36z2fhy10o

OoReMooO 01-03-2012 08:30 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة هشام البطل (المشاركة 4059091)
http://i42.servimg.com/u/f42/17/22/28/70/captur13.png

http://i42.servimg.com/u/f42/17/22/28/70/captur14.png


يا جماعة دولى عندى في ال npc بس مينفعش اشتريهم و عايز اشغلهم حد يعرف

قريب هنزل شرح ازاى تضيف الايتميز اللى موجوده فى الميديا و مش شغاله و تخليهم يشتغلوا فى الداتا بيز عشان الكل يستفيد

احمدسعيد 01-03-2012 09:09 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة king_world (المشاركة 4059365)
انا عاوز لودر لسرفر bloody
اللى هو فى الموضوع المخصص للسرفر بس اللينك مش بيفتح ياريت حد يرفعه من جديد

ياريت تقرا اسم الموضوع كويس


اقتباس:

المشاركة الأصلية كتبت بواسطة remo2010 (المشاركة 4059384)
راجع ملف dbconnect
اللى بيبقى موجود فى input > wwwroot و اتاكد انك حاطط البيانات بتاعتك فيه صح لانه كدا مش عارف يوصل لقاعدة البيانات


ياريت تشوف الحل بتاعى كويس عشان ده هو الحل الاساسى والصح

Fire_Snake 01-03-2012 09:09 AM

يا شباب انا عندي مشكلة اخر بلص عندي في اللعبه هو بلص +8
مش عارف ازاي احلها هي دي عيب ايه بالضبط ؟؟؟؟؟؟
ياريت حد يشفلي حل يا رجالة

OoReMooO 01-03-2012 09:17 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة Fire_Snake (المشاركة 4059392)
يا شباب انا عندي مشكلة اخر بلص عندي في اللعبه هو بلص +8
مش عارف ازاي احلها هي دي عيب ايه بالضبط ؟؟؟؟؟؟
ياريت حد يشفلي حل يا رجالة

شوف الصور يمكن تساعدك - 12 دا اقصى بلص وصلتله حاليا و جارى البحث عن طرق اخرى

http://img571.imageshack.us/img571/5180/24229695.jpg

http://img215.imageshack.us/img215/9575/11564350.jpg

http://img14.imageshack.us/img14/7686/51572294.jpg

http://img585.imageshack.us/img585/6271/24129487.jpg

http://img85.imageshack.us/img85/9789/65462463.jpg

OoReMooO 01-03-2012 09:20 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة احمدسعيد (المشاركة 4059391)
ياريت تقرا اسم الموضوع كويس


ياريت تشوف الحل بتاعى كويس عشان ده هو الحل الاساسى والصح

اولا بالنسبة لاسم الموضوع انا حطيت اللودر اللى بشتغل بيه على بلودى

ثانيا مفيش حاجه اسمها الحل بتاعى هو الصح او الاساسى لان هنا مفيش حد بيتفرد برايه و يقول انا الصح و انا الاحسن - هنا كلنا بنحاول نساعد على كدا ما نقدر مش مكان عشان تقول انا و انا

miroasd 01-03-2012 09:32 AM

Hi all
 
السلام عليكم
انا كونت عايز حل مشكلة
انا اما اجى اشغل الفلات ال جلوبل بيفتح
و اجى اشغل باس المشينى يروح يفتح ويقفل على طول عايز حل

branz 01-03-2012 09:36 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة fire_snake (المشاركة 4059392)
يا شباب انا عندي مشكلة اخر بلص عندي في اللعبه هو بلص +8
مش عارف ازاي احلها هي دي عيب ايه بالضبط ؟؟؟؟؟؟
ياريت حد يشفلي حل يا رجالة

هو طبيعى ان يكون اخرها 8 بس انت تقدر تخليها لحد 255

تابع الصور يا جميل فى الرد الجديد

branz 01-03-2012 09:41 AM

Item 255
 
http://img708.imageshack.us/img708/8...apimage5kv.png

http://img829.imageshack.us/img829/7...apimage6lg.png

كود PHP:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go



----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
-- 
20_SMC__ShardDB.sql  _SMC_ADD_ITEM ¼öÁ¤ 
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------

 -----------------------------------------------------------------------  
ALTER       procedure [dbo].[_SMC_ADD_ITEM]  
----------------------------------------------------- 
params to find target item  
 
@TargetStorage int,  /* 0 = inventory, 1 = chest , 2 = guild chest, 3 = Avatar Inventory */  
 
@OwnerName varchar(128),  
 ----------------------------------------------------- 
params to modify the item  
 
@RefItemID  int,  
 @
OptLvl   tinyint,  
 @
Variance  bigint,  
 @
Data   int,  
 @
szCreater  varchar(32),  
 @
MagParamNum int,  
 @
MagParam1 bigint,  
 @
MagParam2 bigint,  
 @
MagParam3 bigint,  
 @
MagParam4 bigint,  
 @
MagParam5 bigint,  
 @
MagParam6 bigint,  
 @
MagParam7 bigint,  
 @
MagParam8 bigint,  
 @
MagParam9 bigint,  
 @
MagParam10 bigint,  
 @
MagParam11 bigint,  
 @
MagParam12 bigint  
as  
 ----------------------------------------------------  
 -- 
step 1. check validity of parameters  
 
----------------------------------------------------  
 if (@
TargetStorage <> and @TargetStorage <> and @TargetStorage <> and @TargetStorage <> 3)  
 
begin  
  select 
-1cast(as bigint), cast(as bigint) -- invalid target storage  
  
return  
 
end  
 
declare @ownerid int  
 
declare @ItemID bigint  
 set 
@ownerid 0  
 set 
@ItemID 0  
 
declare @empty_slot int  
 set 
@empty_slot = -1  
 
if (@TargetStorage 0)  
 
begin  
  select 
@ownerid charid from _char where charname16 = @OwnerName  
  
if (@@rowcount or @ownerid or @ownerid is null)  
  
begin  
   select 
-2cast(as bigint), cast(as bigint)-- can't find owner  
   return  
  end  
  
  select top 1 @empty_slot = slot from _inventory   
  where charid = @ownerid and slot >= 13   
   and itemid = 0   
   and slot < (select top 1 InventorySize from _Char where CharID = @ownerid)  
  order by slot asc  
  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- inventory full  
   return  
  end  
 end  
 else if (@TargetStorage = 1)  
 begin  
  select @ownerid = JID from _AccountJID where AccountID = @ownername  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint) -- can'
t find owner  
   
return  
  
end  
  select top 1 
@empty_slot slot from _chest where userjid = @ownerid and (itemid or ItemID is nullorder by slot asc  
  
if (@@rowcount 0)  
  
begin  
   select 
-3cast(as bigint), cast(as bigint) -- chest full  
   
return  
  
end  
 end  
 
else if (@TargetStorage 2)  
 
begin  
  select 
@ownerid = [IDfrom _guild where [name] = @ownername  
  
if (@@rowcount or @ownerid or @ownerid is null)  
  
begin  
   select 
-2cast(as bigint), cast(as bigint) -- can't find owner  
   return  
  end   
  select top 1 @empty_slot = slot from _guildchest where guildid = @ownerid and (itemid = 0 or ItemID is null) order by slot asc  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- chest full  
   return  
  end   
    
  -- ±æµå ·¹º§¿¡ µû¸¥ ±æµå ½½·Ô¼ö Á¦ÇÑÀ» È®ÀÎÇÏÀÚ.  
  declare @lvl tinyint  
  declare @max_slot tinyint  
  select @lvl = Lvl from _guild where [id] = @ownerid  
  set @max_slot = 30 * (@lvl - 1) - 1  
  
  if @empty_slot > @max_slot   
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- chest full  
   return  
  end      
 end  
 else  
 begin  
  select @ownerid = charid from _char where charname16 = @OwnerName  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint)-- can'
t find owner  
   
return  
  
end  
  
  select top 1 
@empty_slot slot from _InventoryForAvatar  
  where charid 
= @ownerid  
   
and itemid 0   
   
and slot 4     -- &#199;Á·Î½ÃÁ® ÇϵåÄÚµù(¾Æ¹ÙŸ ½½·ÔÀº 0, 1, 2, 3ÀÌ´Ù.)  
  
order by slot asc  
  
  
if (@@rowcount 0)  
  
begin  
   select 
-3cast(as bigint), cast(as bigint) -- inventory full  
   
return  
  
end  
 end  
   
  
 
if (@empty_slot or @empty_slot is null)  
 
begin   
  select 
-4cast(as bigint), cast(as bigint)  -- unknown error ???  
  return  
 
end  
   
 
declare @tid1 int  
 
declare @tid2 int  
 
declare @tid3 int  
  
declare @tid4 int  
   
 select 
@tid1 TypeID1, @tid2 TypeID2, @tid3 TypeID3, @tid4 TypeID4 from _RefObjCommon where ID = @RefItemID  
 
if (@tid1 <> 3)  
 
begin  
  select 
-5cast(as bigint), cast(as bigint) -- about to assign non-item object  
  
return  
 
end  
 
if (@tid2 <> 1)  -- is not equipment  
 begin  
  
-- can't assign magic param or optlevel to non-equip item  
  if (@MagParamNum > 0 or @OptLvl > 0)  
  begin  
   select -6, cast(0 as bigint), cast(0 as bigint)  
   return  
  end  
 end  
   
 ----------------------------------------------------  
 -- step 2. correct some non-critical parameters  
 ----------------------------------------------------  
 if (@tid2 = 3 and @Data = 0) -- can'
t assign overlap count 0 to expendable item  
 begin  
  set 
@Data 1  
 end  
  
 
if (LEN(@szCreater) = 0)  
  
set @szCreater NULL  
  
 
----------------------------------------------------  
 -- 
step addequip and pet @data setting  
 
----------------------------------------------------  
 declare @
IS_EQUIP int  
 
declare @IS_PET int  
  
 set 
@IS_EQUIP 0  
 set 
@IS_PET 0  
  
 
if (@tid1 and @tid2 1)  
  
set @IS_EQUIP 1  
 
else if (@tid1 and @tid2 and @tid3 and (@tid4 or @tid4 2))  
  
set @IS_PET 1  
  
 
if (@IS_EQUIP 1)  
 
begin  
  
    
-- &#192;ß ¸øµÈ ID·Î select ÇÏ°í ÀÖÀ½. ¼öÁ¤ (by binu 2008-10-17)
    
--    select @Data Dur_L from _RefObjItem where ID =  @RefItemID
    select 
@Data Dur_L from _RefObjItem where ID = (select Link from _RefObjCommon where ID = @RefItemID )
    
   if (@
OptLvl 0)  
    
set @OptLvl 0  
   
else if (@OptLvl 12)  
    
set @OptLvl 12  
  
 end  
 
else  
 
begin  
  
  
if( @IS_PET )  
   
set @Data 0  
  
else  
  
begin  
   
declare @MaxCount int  
   select 
@MaxCount MaxStack from _RefObjItem where ID = @RefItemID  
   
   
if (@Data <= or @Data > @MaxCount)    
    
set @Data = @MaxCount    
  end  
  
  set 
@OptLvl 0  
 end  
  
  
 
----------------------------------------------------------  
 -- 
Step3create item and set to associated storage  
 
----------------------------------------------------------  
 
set xact_abort on  
begin transaction  
   
 
declare @NewItemID  bigint  
 
declare @Serial64 bigint  
 set 
@NewItemID  0  
 set 
@Serial64 0  
 exec 
@NewItemID _STRG_ALLOC_ITEM_NoTX @Serial64 OUTPUT  
 
if (@NewItemID 0)  
 
begin  
  rollback transaction  
  select 
-7cast(as bigint), cast(as bigint)  
  return  
 
end  
 
if (@MagParamNum 0)  
 
begin  
  update _Items set RefItemID 
= @RefItemIDOptLevel = @OptLvlVariance = @VarianceData = @DataMagParamNum 0Serial64 = @Serial64   
  where ID64 
= @NewItemID  
 end  
 
else  
 
begin  
  update _Items set RefItemID 
= @RefItemIDOptLevel = @OptLvlVariance = @VarianceData = @DataMagParamNum = @MagParamNum,   
    
MagParam1 = @MagParam1MagParam2 = @MagParam2MagParam3 = @MagParam3MagParam4 = @MagParam4,  
    
MagParam5 = @MagParam5MagParam6 = @MagParam6MagParam7 = @MagParam7MagParam8 = @MagParam8,  
    
MagParam9 = @MagParam9MagParam10= @MagParam10MagParam11 = @MagParam11MagParam12 = @MagParam12Serial64 = @Serial64  
  where ID64 
= @NewItemID  
 end  
 
if (@@error <> 0)  
 
begin  
  rollback transaction  
  select 
-8cast(as bigint), cast(as bigint)  
  return  
 
end  
 
if (@TargetStorage 0)  
  
update _Inventory set ItemID = @NewItemID where CharID = @OwnerID and Slot = @empty_slot  
 
else if (@TargetStorage 1)  
  
update _chest set ItemID = @NewItemID where UserJID = @OwnerID and slot = @empty_slot  
 
else if (@TargetStorage 2)  
  
update _guildchest set ItemID = @NewItemID where guildid = @OwnerID and slot = @empty_slot  
 
else  
  
update _InventoryForAvatar set ItemID = @NewItemID where CharID = @OwnerID and Slot = @empty_slot  
   
 
if (@@rowcount or @@error <> 0)  
 
begin  
  rollback transaction  
  select 
-9cast(as bigint), cast(as bigint)  
  return  
 
end  
   
 commit transaction  
 select 
@empty_slot, @NewItemID, @Serial64  
 
return 

كود PHP:

if (@OptLvl 0)  
    
set @OptLvl 0  
   
else if (@OptLvl 12)  
    
set @OptLvl 12 

تابع الصوره دى ؟
كود PHP:

if (@OptLvl 0)  
    
set @OptLvl 0  
   
else if (@OptLvl 255)  
    
set @OptLvl 255 

وللعلم اخر اللعبه +255 عشان مش الاقى واحد بيقولى ازاى اعمل 500 ؟

وبعدين فى دى

if (@OptLvl < 0)
set @OptLvl = 0
else if (@OptLvl > 255)
set @OptLvl = 255

ممكن تخلى ال 255 اى رقم انت عاوزه تحتها بس مش ينفع اكتر

يارب يكون الحل مناسب

branz 01-03-2012 09:58 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة miroasd (المشاركة 4059401)
السلام عليكم
انا كونت عايز حل مشكلة
انا اما اجى اشغل الفلات ال جلوبل بيفتح
و اجى اشغل باس المشينى يروح يفتح ويقفل على طول عايز حل

بص يا جميل

حضرتك هتدوس على My Computer كليك يمين وتختار اختار اختيار Properties

وتختار Advanced

وبعد كده اختار Setting اول واحده وبعد كده Data Exeution Prevention وبعد كده هيظهر ليك حاجه اختار تانى واحده واعمل
ADD

لكل حاجه ^^
Global manager
download server
machine manager
gataway server
farm manager
agent server
sr_shard manager
sr_game server
SMC

وبعد ما تضيفهم ^^

هيطلب منك ريستارت للجهاز اعمله وجرب تشغلها

وان شاء الله هتفتح:bow_arrow:

miroasd 01-03-2012 10:01 AM

انا عملت كدا الجلوبل مبئاش يفتح

branz 01-03-2012 10:05 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة miroasd (المشاركة 4059424)
انا عملت كدا الجلوبل مبئاش يفتح

امسك يا باشا الملف بتاع السيرفر ده

ياريت حضرتك تعدل على الايب ومعلومات السيرفر بتاعك

وهيشتغل ان شاء الله

http://www.mediafire.com/?js9bnxhklsocmxs

miroasd 01-03-2012 10:14 AM

http://www7.0zz0.com/2012/03/01/07/887366076.png
شوف الصورة الipبتاع المشينى 7.7.7.127 علمن ان ال ip بتاع الجهاز بتعى ميش بتاع الهامشى
و ملف السيرفر كولو صح

branz 01-03-2012 10:20 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة miroasd (المشاركة 4059428)
http://www7.0zz0.com/2012/03/01/07/887366076.png
شوف الصورة الipبتاع المشينى 7.7.7.127 علمن ان ال ip بتاع الجهاز بتعى ميش بتاع الهامشى
و ملف السيرفر كولو صح

انت شغال هاماشى مش ايب ستاتيك ؟

Fire_Snake 01-03-2012 10:23 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة branz (المشاركة 4059409)
http://img708.imageshack.us/img708/8...apimage5kv.png

http://img829.imageshack.us/img829/7...apimage6lg.png

كود PHP:

set ansi_nulls on
set quoted_identifier on
go



----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
-- 
20_smc__sharddb.sql  _smc_add_item ¼&#246;Á¤ 
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------

 -----------------------------------------------------------------------  
alter       procedure [dbo].[_smc_add_item]  
----------------------------------------------------- 
params to find target item  
 
@targetstorage int,  /* 0 = inventory, 1 = chest , 2 = guild chest, 3 = avatar inventory */  
 
@ownername varchar(128),  
 ----------------------------------------------------- 
params to modify the item  
 
@refitemid  int,  
 @
optlvl   tinyint,  
 @
variance  bigint,  
 @
data   int,  
 @
szcreater  varchar(32),  
 @
magparamnum int,  
 @
magparam1 bigint,  
 @
magparam2 bigint,  
 @
magparam3 bigint,  
 @
magparam4 bigint,  
 @
magparam5 bigint,  
 @
magparam6 bigint,  
 @
magparam7 bigint,  
 @
magparam8 bigint,  
 @
magparam9 bigint,  
 @
magparam10 bigint,  
 @
magparam11 bigint,  
 @
magparam12 bigint  
as  
 ----------------------------------------------------  
 -- 
step 1. Check validity of parameters  
 
----------------------------------------------------  
 if (@
targetstorage <> and @targetstorage <> and @targetstorage <> and @targetstorage <> 3)  
 
begin  
  select 
-1cast(as bigint), cast(as bigint) -- invalid target storage  
  
return  
 
end  
 
declare @ownerid int  
 
declare @itemid bigint  
 set 
@ownerid 0  
 set 
@itemid 0  
 
declare @empty_slot int  
 set 
@empty_slot = -1  
 
if (@targetstorage 0)  
 
begin  
  select 
@ownerid charid from _char where charname16 = @ownername  
  
if (@@rowcount or @ownerid or @ownerid is null)  
  
begin  
   select 
-2cast(as bigint), cast(as bigint)-- can't find owner  
   return  
  end  
  
  select top 1 @empty_slot = slot from _inventory   
  where charid = @ownerid and slot >= 13   
   and itemid = 0   
   and slot < (select top 1 inventorysize from _char where charid = @ownerid)  
  order by slot asc  
  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- inventory full  
   return  
  end  
 end  
 else if (@targetstorage = 1)  
 begin  
  select @ownerid = jid from _accountjid where accountid = @ownername  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint) -- can'
t find owner  
   
return  
  
end  
  select top 1 
@empty_slot slot from _chest where userjid = @ownerid and (itemid or itemid is nullorder by slot asc  
  
if (@@rowcount 0)  
  
begin  
   select 
-3cast(as bigint), cast(as bigint) -- chest full  
   
return  
  
end  
 end  
 
else if (@targetstorage 2)  
 
begin  
  select 
@ownerid = [idfrom _guild where [name] = @ownername  
  
if (@@rowcount or @ownerid or @ownerid is null)  
  
begin  
   select 
-2cast(as bigint), cast(as bigint) -- can't find owner  
   return  
  end   
  select top 1 @empty_slot = slot from _guildchest where guildid = @ownerid and (itemid = 0 or itemid is null) order by slot asc  
  if (@@rowcount = 0)  
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- chest full  
   return  
  end   
    
  -- ±æµå ·¹º§¿¡ µû¸¥ ±æµå ½½·Ô¼ö Á¦ÇÑÀ» È®ÀÎÇÏÀÚ.  
  Declare @lvl tinyint  
  declare @max_slot tinyint  
  select @lvl = lvl from _guild where [id] = @ownerid  
  set @max_slot = 30 * (@lvl - 1) - 1  
  
  if @empty_slot > @max_slot   
  begin  
   select -3, cast(0 as bigint), cast(0 as bigint) -- chest full  
   return  
  end      
 end  
 else  
 begin  
  select @ownerid = charid from _char where charname16 = @ownername  
  if (@@rowcount = 0 or @ownerid = 0 or @ownerid is null)  
  begin  
   select -2, cast(0 as bigint), cast(0 as bigint)-- can'
t find owner  
   
return  
  
end  
  
  select top 1 
@empty_slot slot from _inventoryforavatar  
  where charid 
= @ownerid  
   
and itemid 0   
   
and slot 4     -- &#199;Á·Î½ÃÁ® ÇϵåÄÚµù(¾Æ¹ÙŸ ½½·ÔÀº 0, 1, 2, 3ÀÌ´Ù.)  
  
order by slot asc  
  
  
if (@@rowcount 0)  
  
begin  
   select 
-3cast(as bigint), cast(as bigint) -- inventory full  
   
return  
  
end  
 end  
   
  
 
if (@empty_slot or @empty_slot is null)  
 
begin   
  select 
-4cast(as bigint), cast(as bigint)  -- unknown error ???  
  Return  
 
end  
   
 
declare @tid1 int  
 
declare @tid2 int  
 
declare @tid3 int  
  
declare @tid4 int  
   
 select 
@tid1 typeid1, @tid2 typeid2, @tid3 typeid3, @tid4 typeid4 from _refobjcommon where id = @refitemid  
 
if (@tid1 <> 3)  
 
begin  
  select 
-5cast(as bigint), cast(as bigint) -- about to assign non-item object  
  
return  
 
end  
 
if (@tid2 <> 1)  -- is not equipment  
 begin  
  
-- can't assign magic param or optlevel to non-equip item  
  if (@magparamnum > 0 or @optlvl > 0)  
  begin  
   select -6, cast(0 as bigint), cast(0 as bigint)  
   return  
  end  
 end  
   
 ----------------------------------------------------  
 -- step 2. Correct some non-critical parameters  
 ----------------------------------------------------  
 if (@tid2 = 3 and @data = 0) -- can'
t assign overlap count 0 to expendable item  
 begin  
  set 
@data 1  
 end  
  
 
if (len(@szcreater) = 0)  
  
set @szcreater null  
  
 
----------------------------------------------------  
 -- 
step addEquip and pet @data setting  
 
----------------------------------------------------  
 declare @
is_equip int  
 
declare @is_pet int  
  
 set 
@is_equip 0  
 set 
@is_pet 0  
  
 
if (@tid1 and @tid2 1)  
  
set @is_equip 1  
 
else if (@tid1 and @tid2 and @tid3 and (@tid4 or @tid4 2))  
  
set @is_pet 1  
  
 
if (@is_equip 1)  
 
begin  
  
    
-- &#192;ß ¸øµÈ id·Î select ÇÏ°í ÀÖÀ½. ¼öÁ¤ (by binu 2008-10-17)
    
--    select @data dur_l from _refobjitem where id =  @refitemid
    select 
@data dur_l from _refobjitem where id = (select link from _refobjcommon where id = @refitemid )
    
   if (@
optlvl 0)  
    
set @optlvl 0  
   
else if (@optlvl 12)  
    
set @optlvl 12  
  
 end  
 
else  
 
begin  
  
  
if( @is_pet )  
   
set @data 0  
  
else  
  
begin  
   
declare @maxcount int  
   select 
@maxcount maxstack from _refobjitem where id = @refitemid  
   
   
if (@data <= or @data > @maxcount)    
    
set @data = @maxcount    
  end  
  
  set 
@optlvl 0  
 end  
  
  
 
----------------------------------------------------------  
 -- 
step3Create item and set to associated storage  
 
----------------------------------------------------------  
 
set xact_abort on  
begin transaction  
   
 
declare @newitemid  bigint  
 
declare @serial64 bigint  
 set 
@newitemid  0  
 set 
@serial64 0  
 exec 
@newitemid _strg_alloc_item_notx @serial64 output  
 
if (@newitemid 0)  
 
begin  
  rollback transaction  
  select 
-7cast(as bigint), cast(as bigint)  
  return  
 
end  
 
if (@magparamnum 0)  
 
begin  
  update _items set refitemid 
= @refitemidoptlevel = @optlvlvariance = @variancedata = @datamagparamnum 0serial64 = @serial64   
  where id64 
= @newitemid  
 end  
 
else  
 
begin  
  update _items set refitemid 
= @refitemidoptlevel = @optlvlvariance = @variancedata = @datamagparamnum = @magparamnum,   
    
magparam1 = @magparam1magparam2 = @magparam2magparam3 = @magparam3magparam4 = @magparam4,  
    
magparam5 = @magparam5magparam6 = @magparam6magparam7 = @magparam7magparam8 = @magparam8,  
    
magparam9 = @magparam9magparam10= @magparam10magparam11 = @magparam11magparam12 = @magparam12serial64 = @serial64  
  where id64 
= @newitemid  
 end  
 
if (@@error <> 0)  
 
begin  
  rollback transaction  
  select 
-8cast(as bigint), cast(as bigint)  
  return  
 
end  
 
if (@targetstorage 0)  
  
update _inventory set itemid = @newitemid where charid = @ownerid and slot = @empty_slot  
 
else if (@targetstorage 1)  
  
update _chest set itemid = @newitemid where userjid = @ownerid and slot = @empty_slot  
 
else if (@targetstorage 2)  
  
update _guildchest set itemid = @newitemid where guildid = @ownerid and slot = @empty_slot  
 
else  
  
update _inventoryforavatar set itemid = @newitemid where charid = @ownerid and slot = @empty_slot  
   
 
if (@@rowcount or @@error <> 0)  
 
begin  
  rollback transaction  
  select 
-9cast(as bigint), cast(as bigint)  
  return  
 
end  
   
 commit transaction  
 select 
@empty_slot, @newitemid, @serial64  
 
return 

كود PHP:

if (@optlvl 0)  
    
set @optlvl 0  
   
else if (@optlvl 12)  
    
set @optlvl 12 

تابع الصوره دى ؟
كود PHP:

if (@optlvl 0)  
    
set @optlvl 0  
   
else if (@optlvl 255)  
    
set @optlvl 255 

وللعلم اخر اللعبه +255 عشان مش الاقى واحد بيقولى ازاى اعمل 500 ؟

وبعدين فى دى

if (@optlvl < 0)
set @optlvl = 0
else if (@optlvl > 255)
set @optlvl = 255

ممكن تخلى ال 255 اى رقم انت عاوزه تحتها بس مش ينفع اكتر

يارب يكون الحل مناسب

اوك هجرب وارد عليك
تسلم يا صحبي


الساعة الآن 09:11 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.