المشاركة الأصلية كتبت بواسطة SkyWaY
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
give me it
كود PHP:
USE SRO_VT_SHARD /* ITEMS TO MALL FOR SILK by Caipi */
Declare @CodeName varchar (74)
Declare @yourPrice int
Declare @WhichTAB varchar(74)
SET @CodeName = 'ITEM_MALL_AVATAR_M_DRAGONDRESS' /* The Spawncode of the item you want to add */
SET @yourPrice = 130 /* Silkprice */
SET @WhichTAB = 'MALL_AVATAR_DRESS' /* To which Tab of the Item Mall do you want to add the Item*/
Declare @Data varchar(15) SET @Data = '0' /*Leave '0' as long as you're adding Avatars - otherwise Quantity of Item*/
IF exists(SELECT CodeName128 FROM _RefObjCommon WHERE CodeName128 = @CodeName)
BEGIN
/*Only Avatar Tabs possible at the moment*/IF (@WhichTAB = 'MALL_AVATAR_ATTACH' OR @WhichTAB = 'MALL_AVATAR_DRESS' OR @WhichTAB = 'MALL_AVATAR_HAT') /*To make sure that the Tab is correct (in order to missspellings)*/
BEGIN
/* Codename instead of the ID */
Declare @ItemID int SET @ItemID = (SELECT ID FROM _RefObjCommon WHERE CodeName128 = @CodeName)
/* Which Itemdata.txt is affected in the Media.pk2*/
Declare @newItemID varchar(5)
IF (@ItemID < 5000) SET @newItemID = 5000
else if (@ItemID < 10000) SET @newItemID = 10000
else if (@ItemID < 15000) SET @newItemID = 15000
else if (@ItemID < 20000) SET @newItemID = 20000
else if (@ItemID < 25000) SET @newItemID = 25000
else if (@ItemID < 30000) SET @newItemID = 30000
else if (@ItemID < 35000) SET @newItemID = 35000
else if (@ItemID < 40000) SET @newItemID = 40000
else SET @newItemID = 45000
print ''
print @CodeName + ' from Media\server_dep\silkroad\textdata\itemdata_'+@newItemID+'.txt'
print ''
/*END which Itemdata.txt*/
/* for _RefPackageItem */
IF EXISTS (SELECT CodeName128 FROM _RefPackageItem WHERE CodeName128 = 'Package_'+@CodeName)
BEGIN
Declare @SN1 varchar(74) SET @SN1 = (SELECT NameStrID FROM _RefPackageItem WHERE CodeName128 = 'PACKAGE_'+@CodeName)
Declare @DESC1 varchar(74) SET @Desc1 = (SELECT DescStrID FROM _RefPackageItem WHERE CodeName128 = 'PACKAGE_'+@CodeName)
Declare @DDJ1 varchar(74) SET @DDJ1 = (SELECT AssocFileIcon FROM _RefPackageItem WHERE CodeName128 = 'PACKAGE_'+@CodeName)
Declare @TOPID1 varchar (10) SET @TOPID1 = (SELECT ID FROM _RefPackageItem WHERE CodeName128 = 'PACKAGE_'+@CodeName)
print '##Check the following lines @ refpackageitem.txt!'
print '1 15 '+@TOPID1+' PACKAGE_'+@CodeName+' 0 EXPAND_TERM_ALL '+@SN1+' '+@DESC1+' '+@DDJ1+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
END
ELSE BEGIN
Declare @SN varchar(74) SET @SN = (SELECT NameStrID128 FROM _RefObjCommon WHERE ID = @ItemID)
Declare @DESC varchar(74) SET @Desc = (SELECT DescStrID128 FROM _RefObjCommon WHERE ID = @ItemID)
Declare @DDJ varchar(74) SET @DDJ = (SELECT AssocFileIcon128 FROM _RefObjCommon WHERE ID = @ItemID)
INSERT INTO _RefPackageItem (Service,Country,CodeName128,SaleTag,ExpandTerm,NameStrID,DescStrID,AssocFileIcon,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128)
VALUES (1,15,'PACKAGE_'+@CodeName,0,'EXPAND_TERM_ALL',@SN,@Desc,@DDJ,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
Declare @TOPID varchar (10) SET @TOPID = (SELECT MAX(ID) FROM _RefPackageItem)
print ''
print 'Add the following line @ refpackageitem.txt'
print '1 15 '+@TOPID+' PACKAGE_'+@CodeName+' 0 EXPAND_TERM_ALL '+@SN+' '+@DESC+' '+@DDJ+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
END
/* for _RefPricePolicyOfItem */
IF EXISTS (SELECT RefPackageItemCodeName FROM _RefPricePolicyOfItem WHERE RefPackageItemCodeName = 'Package_'+@CodeName)
BEGIN
print '##Check the following lines @ RefPricePolicyOfItem.txt!'
Declare @NEWPRICE1 varchar(15) SET @NEWPRICE1 = (SELECT Cost FROM _RefPricePolicyOfItem WHERE RefPackageItemCodeName = 'Package_'+@CodeName AND PaymentDevice = 2)
print '1 15 PACKAGE_'+@CodeName+' 2 0 '+@NEWPRICE1+' -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 PACKAGE_'+@CodeName+' 4 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 PACKAGE_'+@CodeName+' 16 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
END
ELSE BEGIN
INSERT INTO _RefPricePolicyOfItem (Service,Country,RefPackageItemCodeName,PaymentDevice,PreviousCost,Cost,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128)
VALUES (1,15,'PACKAGE_'+@CodeName,2,0,@yourPrice,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
INSERT INTO _RefPricePolicyOfItem (Service,Country,RefPackageItemCodeName,PaymentDevice,PreviousCost,Cost,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128)
VALUES (1,15,'PACKAGE_'+@CodeName,4,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
INSERT INTO _RefPricePolicyOfItem (Service,Country,RefPackageItemCodeName,PaymentDevice,PreviousCost,Cost,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128)
VALUES (1,15,'PACKAGE_'+@CodeName,16,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
Declare @NEWPRICE varchar(15) SET @NEWPRICE = @yourPrice
print ''
print 'Add the following lines @ refpricepolicyofitem.txt'
print '1 15 PACKAGE_'+@CodeName+' 2 0 '+@NEWPRICE+' -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 PACKAGE_'+@CodeName+' 4 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 PACKAGE_'+@CodeName+' 16 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
END
/* for _RefShopGoods */
IF EXISTS (SELECT RefPackageItemCodeName FROM _RefShopGoods WHERE RefPackageItemCodeName = 'Package_'+@CodeName AND RefTabCodeName = @WhichTAB)
BEGIN
print '##Check the following lines @ RefShopGoods.txt!'
Declare @WhichTAB1 varchar(74) SET @WhichTAB1 = (SELECT RefTabCodeName FROM _RefShopGoods WHERE RefPackageItemCodeName = 'PACKAGE_'+@CodeName)
Declare @newSLOTINDEX1 varchar(15) SET @newSLOTINDEX1 = (SELECT SlotIndex FROM _RefShopGoods WHERE RefPackageItemCodeName = 'PACKAGE_'+@CodeName AND RefTabCodeName = @WhichTAB1)
print '1 15 '+@WhichTAB1+' '+'PACKAGE_'+@CodeName+' '+@newSLOTINDEX1+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
END
ELSE BEGIN
Declare @newSLOTINDEX varchar(15) SET @newSLOTINDEX = (SELECT MAX(SlotIndex) FROM _RefShopGoods WHERE RefTabCodeName = @WhichTAB)+1
INSERT INTO _RefShopGoods (Service,Country,RefTabCodeName,RefPackageItemCodeName,SlotIndex,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128)
VALUES (1,15,@WhichTAB,'PACKAGE_'+@CodeName,@newSLOTINDEX,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
print ''
print 'Add the following line @ refshopgoods.txt'
print '1 15 '+@WhichTAB+' '+'PACKAGE_'+@CodeName+' '+@newSLOTINDEX+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
END
/* for _RefScrapOfPackageItem */
IF EXISTS (SELECT RefPackageItemCodeName FROM _RefScrapOfPackageItem WHERE RefPackageItemCodeName = 'Package_'+@CodeName AND RefItemCodeName = @CodeName)
BEGIN
print '##Check the following lines @ RefScrapOfPackageItem.txt!'
Declare @ScrapIndex1 varchar(15)
SET @ScrapIndex1 = (SELECT [Index] FROM _RefScrapOfPackageItem WHERE RefItemCodeName = @CodeName)
Declare @Data1 varchar(15) SET @Data1 = (SELECT Data FROM _RefScrapOfPackageItem WHERE RefItemCodeName = @CodeName)
print '1 15 '+'PACKAGE_'+@CodeName+' '+@CodeName+' 0 0 '+@Data1+' 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 xxx -1 xxx -1 xxx -1 xxx '+@ScrapIndex1
print ''
END
ELSE BEGIN
INSERT INTO _RefScrapOfPackageItem (Service,Country,RefPackageItemCodeName,RefItemCodeName,OptLevel,Variance,Data,MagParamNum,MagParam1,MagParam2,MagParam3,MagParam4,MagParam5,MagParam6,MagParam7,MagParam8,MagParam9,MagParam10,MagParam11,MagParam12,Param1,Param1_Desc128,Param2,Param2_Desc128,Param3,Param3_Desc128,Param4,Param4_Desc128)
VALUES (1,15,'PACKAGE_'+@CodeName,@CodeName,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
Declare @ScrapIndex varchar(15)
SET @ScrapIndex = (SELECT [Index] FROM _RefScrapOfPackageItem WHERE RefItemCodeName = @CodeName)
print ''
print 'Add the following line @ refscrapofpackageitem.txt'
print '1 15 '+'PACKAGE_'+@CodeName+' '+@CodeName+' 0 0 '+@Data+' 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 xxx -1 xxx -1 xxx -1 xxx '+@ScrapIndex
print ''
END
print ''
print ''
print 'Done!'
END
ELSE BEGIN
print 'The @WhichTAB value is incorrect!'
END
END
else begin
print '@CodeName value does not exist.'
end
In order to keep the right spaces between each words I attached the .txt file as well, and I recommend you to use only the query from the textfile.
-> Only Copy Pasta from the Message Box to the .txt files @ the Media.
المشاركة الأصلية كتبت بواسطة name00300
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
كود PHP:
use sro_vt_shard /* items to mall for silk by caipi */
declare @codename varchar (74)
declare @yourprice int
declare @whichtab varchar(74)
set @codename = 'item_mall_avatar_m_dragondress' /* the spawncode of the item you want to add */
set @yourprice = 130 /* silkprice */
set @whichtab = 'mall_avatar_dress' /* to which tab of the item mall do you want to add the item*/
declare @data varchar(15) set @data = '0' /*leave '0' as long as you're adding avatars - otherwise quantity of item*/
if exists(select codename128 from _refobjcommon where codename128 = @codename)
begin
/*only avatar tabs possible at the moment*/if (@whichtab = 'mall_avatar_attach' or @whichtab = 'mall_avatar_dress' or @whichtab = 'mall_avatar_hat') /*to make sure that the tab is correct (in order to missspellings)*/
begin
/* codename instead of the id */
declare @itemid int set @itemid = (select id from _refobjcommon where codename128 = @codename)
/* which itemdata.txt is affected in the media.pk2*/
declare @newitemid varchar(5)
if (@itemid < 5000) set @newitemid = 5000
else if (@itemid < 10000) set @newitemid = 10000
else if (@itemid < 15000) set @newitemid = 15000
else if (@itemid < 20000) set @newitemid = 20000
else if (@itemid < 25000) set @newitemid = 25000
else if (@itemid < 30000) set @newitemid = 30000
else if (@itemid < 35000) set @newitemid = 35000
else if (@itemid < 40000) set @newitemid = 40000
else set @newitemid = 45000
print ''
print @codename + ' from media\server_dep\silkroad\textdata\itemdata_'+@newitemid+'.txt'
print ''
/*end which itemdata.txt*/
/* for _refpackageitem */
if exists (select codename128 from _refpackageitem where codename128 = 'package_'+@codename)
begin
declare @sn1 varchar(74) set @sn1 = (select namestrid from _refpackageitem where codename128 = 'package_'+@codename)
declare @desc1 varchar(74) set @desc1 = (select descstrid from _refpackageitem where codename128 = 'package_'+@codename)
declare @ddj1 varchar(74) set @ddj1 = (select assocfileicon from _refpackageitem where codename128 = 'package_'+@codename)
declare @topid1 varchar (10) set @topid1 = (select id from _refpackageitem where codename128 = 'package_'+@codename)
print '##check the following lines @ refpackageitem.txt!'
print '1 15 '+@topid1+' package_'+@codename+' 0 expand_term_all '+@sn1+' '+@desc1+' '+@ddj1+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
end
else begin
declare @sn varchar(74) set @sn = (select namestrid128 from _refobjcommon where id = @itemid)
declare @desc varchar(74) set @desc = (select descstrid128 from _refobjcommon where id = @itemid)
declare @ddj varchar(74) set @ddj = (select assocfileicon128 from _refobjcommon where id = @itemid)
insert into _refpackageitem (service,country,codename128,saletag,expandterm,namestrid,descstrid,assocfileicon,param1,param1_desc128,param2,param2_desc128,param3,param3_desc128,param4,param4_desc128)
values (1,15,'package_'+@codename,0,'expand_term_all',@sn,@desc,@ddj,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
declare @topid varchar (10) set @topid = (select max(id) from _refpackageitem)
print ''
print 'add the following line @ refpackageitem.txt'
print '1 15 '+@topid+' package_'+@codename+' 0 expand_term_all '+@sn+' '+@desc+' '+@ddj+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
end
/* for _refpricepolicyofitem */
if exists (select refpackageitemcodename from _refpricepolicyofitem where refpackageitemcodename = 'package_'+@codename)
begin
print '##check the following lines @ refpricepolicyofitem.txt!'
declare @newprice1 varchar(15) set @newprice1 = (select cost from _refpricepolicyofitem where refpackageitemcodename = 'package_'+@codename and paymentdevice = 2)
print '1 15 package_'+@codename+' 2 0 '+@newprice1+' -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 package_'+@codename+' 4 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 package_'+@codename+' 16 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
end
else begin
insert into _refpricepolicyofitem (service,country,refpackageitemcodename,paymentdevice,previouscost,cost,param1,param1_desc128,param2,param2_desc128,param3,param3_desc128,param4,param4_desc128)
values (1,15,'package_'+@codename,2,0,@yourprice,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
insert into _refpricepolicyofitem (service,country,refpackageitemcodename,paymentdevice,previouscost,cost,param1,param1_desc128,param2,param2_desc128,param3,param3_desc128,param4,param4_desc128)
values (1,15,'package_'+@codename,4,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
insert into _refpricepolicyofitem (service,country,refpackageitemcodename,paymentdevice,previouscost,cost,param1,param1_desc128,param2,param2_desc128,param3,param3_desc128,param4,param4_desc128)
values (1,15,'package_'+@codename,16,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
declare @newprice varchar(15) set @newprice = @yourprice
print ''
print 'add the following lines @ refpricepolicyofitem.txt'
print '1 15 package_'+@codename+' 2 0 '+@newprice+' -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 package_'+@codename+' 4 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print '1 15 package_'+@codename+' 16 0 0 -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
end
/* for _refshopgoods */
if exists (select refpackageitemcodename from _refshopgoods where refpackageitemcodename = 'package_'+@codename and reftabcodename = @whichtab)
begin
print '##check the following lines @ refshopgoods.txt!'
declare @whichtab1 varchar(74) set @whichtab1 = (select reftabcodename from _refshopgoods where refpackageitemcodename = 'package_'+@codename)
declare @newslotindex1 varchar(15) set @newslotindex1 = (select slotindex from _refshopgoods where refpackageitemcodename = 'package_'+@codename and reftabcodename = @whichtab1)
print '1 15 '+@whichtab1+' '+'package_'+@codename+' '+@newslotindex1+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
end
else begin
declare @newslotindex varchar(15) set @newslotindex = (select max(slotindex) from _refshopgoods where reftabcodename = @whichtab)+1
insert into _refshopgoods (service,country,reftabcodename,refpackageitemcodename,slotindex,param1,param1_desc128,param2,param2_desc128,param3,param3_desc128,param4,param4_desc128)
values (1,15,@whichtab,'package_'+@codename,@newslotindex,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
print ''
print 'add the following line @ refshopgoods.txt'
print '1 15 '+@whichtab+' '+'package_'+@codename+' '+@newslotindex+' -1 xxx -1 xxx -1 xxx -1 xxx'
print ''
end
/* for _refscrapofpackageitem */
if exists (select refpackageitemcodename from _refscrapofpackageitem where refpackageitemcodename = 'package_'+@codename and refitemcodename = @codename)
begin
print '##check the following lines @ refscrapofpackageitem.txt!'
declare @scrapindex1 varchar(15)
set @scrapindex1 = (select [index] from _refscrapofpackageitem where refitemcodename = @codename)
declare @data1 varchar(15) set @data1 = (select data from _refscrapofpackageitem where refitemcodename = @codename)
print '1 15 '+'package_'+@codename+' '+@codename+' 0 0 '+@data1+' 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 xxx -1 xxx -1 xxx -1 xxx '+@scrapindex1
print ''
end
else begin
insert into _refscrapofpackageitem (service,country,refpackageitemcodename,refitemcodename,optlevel,variance,data,magparamnum,magparam1,magparam2,magparam3,magparam4,magparam5,magparam6,magparam7,magparam8,magparam9,magparam10,magparam11,magparam12,param1,param1_desc128,param2,param2_desc128,param3,param3_desc128,param4,param4_desc128)
values (1,15,'package_'+@codename,@codename,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx')
declare @scrapindex varchar(15)
set @scrapindex = (select [index] from _refscrapofpackageitem where refitemcodename = @codename)
print ''
print 'add the following line @ refscrapofpackageitem.txt'
print '1 15 '+'package_'+@codename+' '+@codename+' 0 0 '+@data+' 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 xxx -1 xxx -1 xxx -1 xxx '+@scrapindex
print ''
end
print ''
print ''
print 'done!'
end
else begin
print 'the @whichtab value is incorrect!'
end
end
else begin
print '@codename value does not exist.'
end
in order to keep the right spaces between each words i attached the .txt file as well, and i recommend you to use only the query from the textfile.
-> only copy pasta from the message box to the .txt files @ the media.
Msg 156, Level 15, State 1, Line 139
Incorrect syntax near the keyword 'In'.
Msg 911, Level 16, State 1, Line 139
Database 'only' does not exist. Make sure that the name is entered correctly.