|
You last visited: Today at 07:39
Advertisement
Silk Script
Discussion on Silk Script within the SRO PServer Guides & Releases forum part of the SRO Private Server category.
11/16/2011, 17:47
|
#1
|
elite*gold: 1046
Join Date: Sep 2011
Posts: 791
Received Thanks: 252
|
Silk Script
Hey EPVP
ENG:
I am Searching for a Silk Script for the Vsro Files.
The script should do that when a Member create a account that be 50000 Silks on the account.
Can anyone Help me?
GER:
Ich suche ein Silk Script für die Vsro Files,
der Script sollte es übernehmen wenn jemand sich neu Registriert das 50000 Silks direkt auf dem Account sind.
Kann mir wer Helfen?
|
|
|
11/16/2011, 18:01
|
#2
|
elite*gold: 0
Join Date: Jul 2011
Posts: 1,189
Received Thanks: 531
|
Try this..
PHP Code:
<?php
require_once('_inc/security.class.php');
require_once('_inc/config.php');
if(!isset($_POST['submit']))
{
echo "<table border='1'>
<form method='post'>
<td>Username</td><td><input type='text' name='username' maxlength='16'></td><tr/>
<td>Password[1]</td><td><input type='password' name='pw1' maxlength='32'></td><tr/>
<td>Password[2]</td><td><input type='password' name='pw2' maxlength='32'></td><tr/>
<td></td><td><input type='submit' name='submit' value='Register'></td>
</form>
</table>";
}
else
{
if(strlen($_POST['username']) < 3) $msg[] = "Username too short";
if(strlen($_POST['username']) > 16)$msg[] = "Username too long";
if(strlen($_POST['pw1']) < 6) $msg[] = "Password [1] too short";
if(strlen($_POST['pw1']) > 32)$msg[] = "Password [1] too long";
if(strlen($_POST['pw2']) < 6) $msg[] = "Password [2] too short";
if(strlen($_POST['pw']) > 32) $msg[] = "Password [2] too long";
if($_POST['pw1'] != $_POST['pw2']) $msg[] = "Passwords are not the same";
$sec = new security();
if($sec->is_secure($_POST['username']) == false) $msg[] = "Username contains forbidden symbols";
if($sec->is_secure($_POST['pw1']) == false) $msg[] = "Password [1] contains forbidden symbols";
if($sec->is_secure($_POST['pw2']) == false) $msg[] = "Password [2] contains forbidden symbols";
if(count($msg) > 0)
{
for($i = 0; $i < count($msg); $i++)
{
echo $msg[$i]."<br/>";
}
return;
}
else
{
//checking damn mssql stuff
$accountExists = mssql_num_rows(mssql_query("select StrUserID from TB_User where StrUserID='$_POST[username]'"));
if($accountExists > 0) echo "Account with such username already exists<br/>";
else
{
$pwd = md5($_POST['pw1']);
mssql_query("insert into TB_User(StrUserID,password,sec_primary,sec_seconda ry) values('$_POST[username]','$pwd','3','3')");
echo "Account successfully created<br/>";
$sql = mssql_query("SELECT * FROM TB_User WHERE StrUserId='$_POST[username]'");
$row = mssql_fetch_array($sql);
$silk = mssql_query("INSERT INTO SK_Silk(JID,silk_own,silk_gift,silk_point) VALUES ('$row[JID]','SILK VALUE HERE','4000','0');
}
}
}
?>
|
|
|
11/16/2011, 18:14
|
#3
|
elite*gold: 1046
Join Date: Sep 2011
Posts: 791
Received Thanks: 252
|
Dont work, i use this Page
Quote:
<?php
include("config.php");
$connect = odbc_connect("Driver={SQL Server};Server={$host}; Database={$dbname}", $user, $pass) or die("Can't connect the MSSQL server.");
?>
<html>
<head>
<title>Silkroad Registration</title>
</head>
<body>
<table width='350'>
<form action='reg.php?act=regis' method='POST'>
<tr>
<td><b><font size="5" color="white">Silkroad Registration</font></b></td><br><br>
</tr>
<tr>
</tr>
<tr>
<td width='50px'><input value='Username' type='text' name='username'></td>
</tr>
<tr>
<td width='50px'><input value='password' type='password' name='password'></td>
</tr>
<tr>
<td width='50px'><input value='Player Name' type='text' name='playername'></td>
</tr>
<tr>
<td width='50px'><input value='E-Mail' type='text' name='email'></td>
</tr>
<tr>
<td width='50px'><input type='submit' value='Register'></td>
</tr>
<div style="position:relative; top:-30px; left:135px;">
<a href="recover.php">Forgot Account ID/Pass?</a>
</div>
<?php
$ip = ($_SERVER['REMOTE_ADDR']);
if (isset($_GET['act']) AND $_GET['act'] == "regis")
{
$regdate = date("Y-m-d H:i:s");
function anti_injection($sql) {
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|'|\"|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
return $sql;
}
$username=anti_injection($_POST['username']);
$password=md5($_POST['password']);
$password2=anti_injection($_POST['password']);
$playername=anti_injection($_POST['playername']);
$email=anti_injection($_POST['email']);
if (!$_POST['username'] )
{
echo "<script>alert('Username is empty');location.href='reg.php';</script>";
die();
}
else
if (!$_POST['password'] )
{
echo "<script>alert('Password is empty');location.href='reg.php';</script>";
die();
}
else
if (!$_POST['playername'] )
{
echo "<script>alert('player name is empty');location.href='reg.php';</script>";
die();
}
else
if (!$_POST['email'] )
{
echo "<script>alert('E-Mail is empty');location.href='reg.php';</script>";
die();
}
$query = odbc_exec($connect, "SELECT StrUserID FROM TB_User WHERE StrUserID = '$username'");
$existing_users = odbc_num_rows($query);
if($existing_users != 0) {
echo "<script>alert('Username already taken!');location.href='reg.php';</script>";
die();
} else
odbc_exec($connect, "INSERT INTO TB_User (StrUserID, password, Name, Email, sec_primary, sec_content, AccPlayTime, LatestUpdateTime_ToPlayTime) VALUES ('$username', '$password', '$playername', '$email', '3', '3', '0', '0')");
echo "<script>alert('Account Registration Successful! \\nUsername: $username \\nPassword: $password2');location.href='$index';</script>";
}
?>
<br/>
</body>
<tr>
</tr>
</table>
</html>
|
|
|
|
11/16/2011, 18:32
|
#4
|
elite*gold: 0
Join Date: Feb 2011
Posts: 112
Received Thanks: 199
|
You could make it easier,
There is a procedure in SRO_SHARD_DB called dbo.AddNewChar
Open this procedure and add this at the bottom:
Update SRO_ACCOUNT_DB.dbo.SK_Silk SET silk_own = '50000' where UserJID = @UserJID
Deutsch:
Ein noch einfacher Weg ist, es durch die Prozeduren zu machen.
Gehe zu SRO_SHARD_DB -> Programmability -> Stored Procedures -> [dbo].[_AddNewChar]
Öffne sie (Rechtsklick, Modify) , füge diesen code einfach am ende der prozedur hinzu:
Update SRO_ACCOUNT_DB.dbo.SK_Silk SET silk_own = '50000' where UserJID = @UserJID
Dann klick auf Execute.
Leere accounts haben dann keine Silks, aber sobald jemand einen char erstellt bekommt er automatisch 50k silks.
|
|
|
11/16/2011, 18:42
|
#5
|
elite*gold: 1046
Join Date: Sep 2011
Posts: 791
Received Thanks: 252
|
Quote:
Originally Posted by evelknievel10
You could make it easier,
There is a procedure in SRO_SHARD_DB called dbo.AddNewChar
Open this procedure and add this at the bottom:
Update SRO_ACCOUNT_DB.dbo.SK_Silk SET silk_own = '50000' where UserJID = @UserJID
Deutsch:
Ein noch einfacher Weg ist, es durch die Prozeduren zu machen.
Gehe zu SRO_SHARD_DB -> Programmability -> Stored Procedures -> [dbo].[_AddNewChar]
Öffne sie (Rechtsklick, Modify) , füge diesen code einfach am ende der prozedur hinzu:
Update SRO_ACCOUNT_DB.dbo.SK_Silk SET silk_own = '50000' where UserJID = @UserJID
Dann klick auf Execute.
Leere accounts haben dann keine Silks, aber sobald jemand einen char erstellt bekommt er automatisch 50k silks.
|
Ger:
Erstmal Danke, ich werds mal So versuchen, melde mich wenns Klappt oder nicht
Eng:
First Thanks, i give it a Try and will write back when it works or not.
|
|
|
11/16/2011, 19:18
|
#6
|
elite*gold: 0
Join Date: Feb 2011
Posts: 112
Received Thanks: 199
|
Sorry the script wasnt right.
Here the right one:
Quote:
-----------------------------------------------------------------------------
-- FREE SILK
-----------------------------------------------------------------------------
INSERT INTO SRO_ACCOUNT_DB.SK_Silk (JID, silk_own, silk_gift, silk_points)
Values (@UserJID, 50000, 0, 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -20
END
|
Simply add it under
Quote:
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ö±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -19
END
|
Here the whole procedure if you use clean one:
Quote:
USE [SRO_SHARD_DB]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 11/16/2011 18:26:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName varchar (64),
@CharScale tinyINT,
@StartRegionID INT,
@StartPos_X real,
@StartPos_Y real,
@StartPos_Z real,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail tinyINT,
@DurPants tinyINT,
@DurBoots tinyINT,
@DurWeapon tinyINT,
@DurShield tinyINT,
@DefaultArrow INT
AS
SET NOCOUNT ON
DECLARE @Slot INT
DECLARE @temp INT
DECLARE @NewCharID INT
SET @NewCharID = 0
-----------------------------------------------------------------------------
-- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4)
BEGIN
-- ³Ê¹« ¸¹ÀÚ³ª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯ÅÍ Ãß°¡Çϱâ
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!
RETURN -3
END
EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!
INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,
GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..
INSERT INTO _User VALUES (@UserJID, @NewCharID)
-- finish by novice.
-----------------------------------------------------------------------------
-- 3-1. Àåºñ ½½·Ô ä¿ì±â
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 109
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -7
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...
/* ¿ä·± ¼ø¼*·Î Á¤ÀǵǾî ÀÖ´Ù.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »ó°©
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹ÙÁö
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- ¹æÆÐ
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- Ȥ½Ã default·Î ¼±ÅÃÇÑ ¹«±â°¡ ȰÀ̶ó¸é È*»ì 250°³µéÀÌ È°Åëµµ ÇÔ²² ÁØ´Ù. ÁÒÄ¡?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
END
END
-----------------------------------------------------------------------------
-- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
-- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 5
IF (@@ERROR <> 0)
BEGIN
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -14
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-----------------------------------------------------------------------------
-- default skill³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
DECLARE @country tinyINT
EXEC @country = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END
-----------------------------------------------------------------------------
-- Static Avatar Initial Record ³Ö±â
-----------------------------------------------------------------------------
INSERT INTO _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ö±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- FREE SILK
-----------------------------------------------------------------------------
INSERT INTO SRO_ACCOUNT_DB.SK_Silk (JID, silk_own, silk_gift, silk_points)
Values (@UserJID, 50000, 0, 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -20
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_60EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_NEWBIE_01',20,1
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
|
|
|
|
11/16/2011, 22:11
|
#7
|
elite*gold: 1046
Join Date: Sep 2011
Posts: 791
Received Thanks: 252
|
Sorry, aber das geht auch nicht kommt eine Fehlermeldung mit dem Fehler (1030).. !
Anyone have help? Another try..?
Btw.
i have Tried to delet the "S" by Points..
|
|
|
11/17/2011, 14:38
|
#8
|
elite*gold: 0
Join Date: Feb 2011
Posts: 112
Received Thanks: 199
|
Then use this
Quote:
USE [SRO_SHARD_DB]
GO
/****** Object: StoredProcedure [dbo].[_AddNewChar] Script Date: 11/16/2011 18:26:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_AddNewChar]
@UserJID INT,
--@CharSlot INT,
@RefCharID INT,
@CharName varchar (64),
@CharScale tinyINT,
@StartRegionID INT,
@StartPos_X real,
@StartPos_Y real,
@StartPos_Z real,
@DefaultTeleport INT,
@RefMailID INT,
@RefPantsID INT,
@RefBootsID INT,
@RefWeaponID INT,
@RefShield INT,
@DurMail tinyINT,
@DurPants tinyINT,
@DurBoots tinyINT,
@DurWeapon tinyINT,
@DurShield tinyINT,
@DefaultArrow INT
AS
SET NOCOUNT ON
DECLARE @Slot INT
DECLARE @temp INT
DECLARE @NewCharID INT
SET @NewCharID = 0
-----------------------------------------------------------------------------
-- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.
-----------------------------------------------------------------------------
-- start by novice.
SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID
IF (@temp >= 4)
BEGIN
-- ³Ê¹« ¸¹ÀÚ³ª
RETURN -2
END
-- finish by novice.
-----------------------------------------------------------------------------
-- 2. ij¸¯ÅÍ Ãß°¡Çϱâ
-----------------------------------------------------------------------------
IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!
RETURN -3
END
EXEC @temp = _IsExistingCharName @CharName
IF (@temp <> 0)
BEGIN
-- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?
RETURN -4
END
BEGIN TRANSACTION
-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!
INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,
LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID)
VALUES (@RefCharID, @CharName, @CharScale, 20, 20, @StartRegionID, @StartPos_X, @StartPos_Y, @StartPos_Z, @DefaultTeleport, 45,
GetDate(), 1, 1, 0, 0, 0, 200,200, 1, 1, 1, 1)
SET @NewCharID = @@IDENTITY
IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
BEGIN
-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -5
END
-- start by novice.
-- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..
INSERT INTO _User VALUES (@UserJID, @NewCharID)
-- finish by novice.
-----------------------------------------------------------------------------
-- 3-1. Àåºñ ½½·Ô ä¿ì±â
-- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _Inventory(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 109
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -7
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...
/* ¿ä·± ¼ø¼*·Î Á¤ÀǵǾî ÀÖ´Ù.
0: EQUIP_SLOT_HELM
1: EQUIP_SLOT_MAIL,
2: EQUIP_SLOT_SHOULDERGUARD,
3: EQUIP_SLOT_GAUNTLET,
4: EQUIP_SLOT_PANTS,
5: EQUIP_SLOT_BOOTS,
6: EQUIP_SLOT_WEAPON,
7: EQUIP_SLOT_SHIELD or ARROW,
8: EQUIP_SLOT_EARRING,
9: EQUIP_SLOT_NECKLACE,
10: EQUIP_SLOT_L_RING,
11: EQUIP_SLOT_R_RING,
*/
DECLARE @ItemID BIGINT
SET @ItemID = 0
-- »ó°©
IF (@RefMailID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -8
END
END
-- ¹ÙÁö
IF (@RefPantsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -9
END
END
-- Boots
IF (@RefBootsID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -10
END
END
-- Weapon
IF (@RefWeaponID <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -11
END
END
-- ¹æÆÐ
IF (@RefShield <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -12
END
END
-- Ȥ½Ã default·Î ¼±ÅÃÇÑ ¹«±â°¡ ȰÀ̶ó¸é È*»ì 250°³µéÀÌ È°Åëµµ ÇÔ²² ÁØ´Ù. ÁÒÄ¡?
IF (@DefaultArrow <> 0)
BEGIN
EXEC @ItemID = _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250
IF (@ItemID <= 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -13
END
END
-----------------------------------------------------------------------------
-- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â
-- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
-- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
-----------------------------------------------------------------------------
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID)
SELECT @NewCharID, cnt, 0
FROM _RefDummySlot with( nolock )
WHERE cnt < 5
IF (@@ERROR <> 0)
BEGIN
-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -14
END
--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!
-----------------------------------------------------------------------------
-- default skill³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
DECLARE @country tinyINT
EXEC @country = _GetObjCountry @RefCharID
INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)
SELECT @NewCharID, MasteryID, 0
FROM _RefCharDefault_SkillMastery with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -15
END
INSERT INTO _CharSkill (CharID,SkillID,Enable)
SELECT @NewCharID, SkillID, 1
FROM _RefCharDefault_Skill with(nolock)
WHERE Race = @country or Race = 3
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -16
END
-----------------------------------------------------------------------------
-- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)
SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0
FROM _RefQuest
WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
IF (@@error <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -17
END
-----------------------------------------------------------------------------
-- Static Avatar Initial Record ³Ö±â
-----------------------------------------------------------------------------
INSERT INTO _StaticAvatar(CharID) values(@NewCharID)
IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -18
END
-----------------------------------------------------------------------------
-- Trijob ä¿ö³Ö±â!!!!!
-----------------------------------------------------------------------------
INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)
IF (@@ERROR <> 0)
BEGIN
-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!
ROLLBACK TRANSACTION
RETURN -19
END
-----------------------------------------------------------------------------
-- FREE SILK
-----------------------------------------------------------------------------
INSERT INTO SRO_ACCOUNT_DB.dbo.SK_Silk (JID, silk_own, silk_gift, silk_points)
Values (@UserJID, 50000, 0, 0)
BEGIN
ROLLBACK TRANSACTION
RETURN -20
END
-----------------------------------------------------------------------------
-- CharList¿¡ ID ³Ö¾îÁÖ±â
-----------------------------------------------------------------------------
INSERT _CharNameList VALUES(@CharName, @NewCharID)
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_60EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_E060118_100EXP_HELP',1,1
exec _ADD_ITEM_EXTERN @CharName,'ITEM_ETC_SCROLL_RETURN_NEWBIE_01',20,1
-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!
exec _AddNewClientConfig @NewCharID -- by novice...... for saving client configurations...
COMMIT TRANSACTION
RETURN @NewCharID
|
Changed SRO_ACCOUNT_DB.SK_Silk to SRO_ACCOUNT_DB.dbo.SK_Silk
|
|
|
12/04/2011, 09:21
|
#9
|
elite*gold: 0
Join Date: Sep 2007
Posts: 432
Received Thanks: 66
|
after i execute them i cannot make new character...he say error..
|
|
|
12/06/2011, 15:16
|
#10
|
elite*gold: 0
Join Date: Aug 2011
Posts: 101
Received Thanks: 61
|
:O
will how can i hack silk in sro servers? Or inject d=silk dll help
|
|
|
12/07/2011, 01:34
|
#11
|
elite*gold: 0
Join Date: Oct 2010
Posts: 275
Received Thanks: 85
|
Quote:
Originally Posted by anasaono44
:O
will how can i hack silk in sro servers? Or inject d=silk dll help
|
Alt+Ctrl+Delete then restart ur pc.
|
|
|
All times are GMT +1. The time now is 07:41.
|
|