//Edit: I changed the announcement part!!! Now the letter with money will only send when a player created his/her first character. If he makes a new one on the same account, he won´t will get the message!
BTW: To make the permament mount system work you have to change your code with this one in TGAME_GSP>dbo>functions>TChangedPetSystemToMountSy stem
PHP Code:
ALTER PROCEDURE [dbo].[TChangedPetSystemToMountSystem] @dwUserID INT AS
DECLARE @wCount SMALLINT
--ItemChanged SET @wCount = 0 SELECT @wCount = COUNT(dlID) FROM TITEMTABLE WHERE dwOwnerID IN(SELECT dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID) AND bOwnerType = 0 AND wItemID IN(7549,7550,7551,7552,7553,7554,7555,7556,7557) SELECT @wCount = @wCount + COUNT(dlID) FROM TGLOBAL_GSP.DBO.TCASHITEMCABINETTABLE WHERE dwUserID = @dwUserID AND wItemID IN(7549,7550,7551,7552,7553,7554,7555,7556,7557)
======================================================== RETURN VALUE ======================================================== 0 : SUCCESS 1 : NO GROUP 2 : DUPLICATE NAME 3 : INVALID SLOT 4 : Non Class ID
======================================================== PROCESS ======================================================== 1. Check duplicate name 2. Check slot 3. Insert character data
AS DECLARE @dwCharSeq INT DECLARE @dwMP INT DECLARE @dwHP INT DECLARE @fPosX FLOAT DECLARE @fPosY FLOAT DECLARE @fPosZ FLOAT DECLARE @wDIR SMALLINT DECLARE @wSpawnID SMALLINT DECLARE @nCheckGlobal INT DECLARE @bRealSex TINYINT
SET @bCreateCnt = 0 SET @dwCharID = 0 SET @dwMP = 2 SET @dwHP = 2
SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TCLASSCHART WHERE bClassID = @bClass SELECT TOP 1 @dwHP = @dwHP + wCON, @dwMP = @dwMP + wMEN FROM TRACECHART WHERE bRaceID = @bRace
SET @dwHP = 7 * @dwHP + 1 SET @dwMP = 9 * @dwMP + 1
IF EXISTS( SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE szNAME = @szNAME) RETURN 2 /* * Duplicate npc name */ IF EXISTS(SELECT TOP 1 * FROM TNPCCHART WHERE szNAME = @szNAME) RETURN 2 /* * Duplicate monster name */ IF EXISTS(SELECT TOP 1 * FROM TMONSTERCHART WHERE szNAME = @szNAME) RETURN 2 /* * Invalid slot */ IF EXISTS(SELECT TOP 1 dwCharID FROM TCHARTABLE WHERE dwUserID = @dwUserID AND bSlot = @bSlot AND bDelete = 0) RETURN 3 /* * Check the country */
DECLARE @bOriCountry TINYINT DECLARE @bLevel TINYINT DECLARE @dwExp INT DECLARE @wSkillPoint SMALLINT DECLARE @dwGold INT
/* * Hier könnt ihr die Variablen ändern! */ SET @bOriCountry = 3 SET @bLevel = 90 SET @dwExp = 0 SET @wSpawnID = 15003 SET @wSkillPoint = 200 SET @dwGold = 20
SELECT TOP 1 @bOriCountry = bOriCountry FROM TCHARTABLE WHERE dwUserID=@dwUserID AND bDelete=0 AND bOriCountry < 2 IF(@bOriCountry < 2) BEGIN SET @bCountry = @bOriCountry SET @bLevel = 90 SET @wSkillPoint = 200 SET @dwGold = 20 SELECT @dwExp = dwExp FROM TLEVELCHART WHERE bLevel = 8
IF(@bOriCountry = 0) SET @wSpawnID = 15001 ELSE SET @wSpawnID = 15002 END ELSE IF(@bCountry <> 4) RETURN 4
SET @fPosX = 587.04 SET @fPosY = 31.33 SET @fPosZ = 603.82 SET @wDIR = 1640
INSERT INTO TCABINETTABLE VALUES(@dwCharID, 0, 1) INSERT INTO TSKILLTABLE SELECT @dwCharID, wSkillID, 1, 0 FROM TSTARTSKILL WHERE bClassID=@bClass COMMIT TRAN TCREATECHAR
DECLARE @bStartInven TINYINT DECLARE @bStartSlot TINYINT DECLARE @bStartChartType TINYINT DECLARE @wStartItemID SMALLINT DECLARE @bStartCount TINYINT DECLARE CUR_STARTITEM CURSOR FOR SELECT bInven, bSlot, bChartType, wItemID, bCount FROM TSTARTITEMCHART WHERE bCountry=@bCountry AND bClass = @bClass OPEN CUR_STARTITEM FETCH NEXT FROM CUR_STARTITEM INTO @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount WHILE @@FETCH_STATUS = 0 BEGIN EXEC TPutItemInInven @dwCharID, @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount FETCH NEXT FROM CUR_STARTITEM INTO @bStartInven, @bStartSlot, @bStartChartType, @wStartItemID, @bStartCount END CLOSE CUR_STARTITEM DEALLOCATE CUR_STARTITEM
SET @szTitle = 'Welcome On Our Server! ' SET @szMessage = 'Hey ' + @szName +' Nice to meet you here. We are proud to announce that we offer more chances to new player now. Every new player will get a 175% permanent mount! Visit us on www.4Story.com Thank you for playing.' SET @bLenTitle = DATALENGTH(@szTitle) SET @bLenMessage = DATALENGTH(@szMessage) SET @szT = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenTitle), 8) SET @szTitle = @szT + @szTitle SET @szM = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenMessage), 8) SET @szMessage = @szM + @szMessage EXEC TSavePost @dwPostID OUTPUT, @dwRecvID OUTPUT, 0, @dwCharID, @szName, 'Server Announcement',@szTitle,@szMessage,0,0,10,0,0,@dateCreated
UPDATE THOTKEYTABLE SET wID12 = 1+@bRace WHERE dwCharID = @dwCharID and bInvenID = 1
IF EXISTS( SELECT bClassID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry) BEGIN DECLARE @dwMonID INT DECLARE @wMonTemp SMALLINT DECLARE @dwATTR INT DECLARE @dwMaxHP INT DECLARE @dwMaxMP INT SET @wMonTemp = 0 SELECT @wMonTemp = wMonID FROM TSTARTRECALL WHERE bClassID = @bClass AND bCountryID = @bCountry IF(@wMonTemp > 0) BEGIN SELECT @dwATTR = wSummonAttr FROM TMONSTERCHART WHERE wID= @wMonTemp SELECT @dwMaxHP=dwMaxHP, @dwMaxMP = dwMaxMP FROM TMONATTRCHART WHERE wID=@dwATTR AND bLevel=1 UPDATE TCHARTABLE SET wTemptedMon = @wMonTemp WHERE dwCharID = @dwCharID SET @dwATTR = @dwATTR + POWER(2,16) EXEC TCreateRecallMon @dwMonID OUTPUT, @dwCharID, @wMonTemp, 0, @dwATTR, 1, @dwMaxHP, @dwMaxMP, 1, @fPosX, @fPosY,
@fPosZ, 0 END END IF NOT EXISTS(SELECT dwUserID FROM TPETTABLE WHERE dwUserID = @dwUserID)
BEGIN DECLARE @szMountName VARCHAR(50) SET @szMountName = @szNAME+'''s Mount' SET @szMountName = REPLACE(@szMountName, 's''s', 's''') INSERT INTO TPETTABLE (dwUserID, wPetID, szName, timeuse) VALUES(@dwUserID, 6, @szMountName, 0) END
IF NOT EXISTS(SELECT dwUserID FROM TGLOBAL_GSP.dbo.TCASHTESTTABLE WHERE dwUserID = @dwUserID)
BEGIN INSERT INTO TGLOBAL_GSP.dbo.TCASHTESTTABLE (dwUserID, dwCash, dwBonus) VALUES(@dwUserID, 100, 100) END
Habe selbst nochmal alles Datenbanken neu gemahct und jede einzelne FUnktion selbst getestet. Es entstehen durch diese Function garantiert keine weiteren Fehler wie Netzwerk oder das man einmal aus dem Spiel fliegt etc.
Hans you shouldn't share this ... just think about rival servers, it's definitely not good for your server, if you have one.
It will affect the players count on your server. I mean not by any function syntax error or anything, I mean players prefers to play on a server who have this fix.
Well you would like to say but you have that fix too, okay I agree, but what If an user find an other server first?
Hans you shouldn't share this ... just think about rival servers, it's definitely not good for your server, if you have one.
It will affect the players count on your server. I mean not by any function syntax error or anything, I mean players prefers to play on a server who have this fix.
Well you would like to say but you have that fix too, okay I agree, but what If an user find an other server first?
I only use my server for friends, my own and fun so i dont care others I just want to help making fixxed server for all
Oh and i hope when improving things here i will get other improves from developers which I cant develop at my own.
But i have a question on the first Function: when you have replace it, for have a mount, i must just execute the function and put my ID ? And for my futur login, i get a mount ??
But i have a question on the first Function: when you have replace it, for have a mount, i must just execute the function and put my ID ? And for my futur login, i get a mount ??
No its more easyer You don´t have to execute anything. It´s autmatically when you create the first character of your account
So, when i create a new char, with your 2 function, i have no mount ! But in my table "TPETTABLE", i have the "BlaBla's mount"... That is the problem !
Can you help me ?
777 katar 1,5k cash + 32 mount 10€ psc 02/25/2011 - Last Chaos Trading - 0 Replies oben stehts mit oder ohne pw egal meldet euch
mount ist phönix pferd
brauche psc schnell^^
Kill people with your mount (Passenger mount needed) 04/15/2009 - WoW Exploits, Hacks, Tools & Macros - 0 Replies Couldn't find anything that was similar to this but I'm sorry if its a repost.
First of all you need a passenger mount (Mammoths preferable)
Next pick up some people that will ride with you and run to the Dalaran well and jump in it.
Now the trick is that you will get teleported normally down into the sewers but the passengers have a 50% chance to get bugged and fall trough Dalaran and die.
Will try to update it with pictures later and sorry if its a bad guide, its mainly just to piss...
Dalaran Sewer Mount arena (Aq 40 opening mount) 02/09/2009 - WoW Exploits, Hacks, Tools & Macros - 14 Replies Well, you cant use any mounts in dalaran arena, except Black Qiraji Resonating Crystal. I know not much people have it, but still it is not intended to be able to mount in this arena, so i posted it there) Btw, you still can get the Scarab Lord title and mount, there are several servers, where gates are not open yet, all new servers where transfer is closed for first 3 months have their gates closed, so you can make the scepter on your server and then transfer to another server with closed...