[HELP] Dont drop Item

Results 1 to 3 of 3
  1. #1
    Enthusiast ghbb is offline
    MemberRank
    Oct 2013 Join Date
    31Posts

    [HELP] Dont drop Item

    I've probably got all but another problem with
    http://forum.ragezone.com/f790/relea...lease-1028155/ source
    When I die things fall but they remain in the inventory.
    WZ_Char_SRV_SetStatus
    Code:
    
    
    -- ----------------------------
    -- Procedure structure for [WZ_Char_SRV_SetStatus]
    -- ----------------------------
    
    
    ALTER PROCEDURE [dbo].[WZ_Char_SRV_SetStatus]
        @in_CustomerID int,
        @in_MapID int,
        @in_CharID int,
        @in_Alive int,
        @in_GamePos varchar(256),
        @in_GameFlags int,
        @in_Health float,
        @in_Hunger float,
        @in_Thirst float,
        @in_Toxic float,
        @in_TimePlayed int,
        @in_XP int,
        @in_Reputation int,
        @in_GameDollars int,
        @in_Stat00 int,
        @in_Stat01 int,
        @in_Stat02 int,
        @in_Stat03 int,
        @in_Stat04 int,
        @in_Stat05 int,
        @in_SkillID0 int,
        @in_SkillID1 int,
        @in_SkillID2 int,
        @in_SkillID3 int,
        @in_SkillID4 int,
        @in_SkillID5 int,
        @in_SkillID6 int,
        @in_SkillID7 int,
        @in_SkillID8 int,
        @in_SkillID9 int,
        @in_SkillID10 int,
        @in_SkillID11 int,
        @in_SkillID12 int,
        @in_SkillID13 int,
        @in_SkillID14 int,
        @in_SkillID15 int,
        @in_SkillID16 int,
        @in_SkillID17 int,
        @in_SkillID18 int,
        @in_SkillID19 int,
        @in_SkillID20 int,
        @in_SkillID21 int,
        @in_SkillID22 int,
        @in_SkillID23 int,
        @in_SkillID24 int,
        @in_SkillID25 int,
        @in_SkillID26 int,
        @in_SkillID27 int,
        @in_SkillID28 int,
        @in_SkillID29 int,
        @in_SkillID30 int,
        @in_SkillID31 int,
        @in_SkillID32 int,
        @in_SkillID33 int,
        @in_Mission1 int,
        @in_GroupID int,
        @in_Wood int,
        @in_Stone int,
        @in_Metal int
    AS
    BEGIN
        SET NOCOUNT ON;
        
        --
        -- this function should be called only by server, so we skip all validations
        --
        
        -- record last game update
        update UsersData set GameDollars=@in_GameDollars, lastgamedate=GETDATE() where CustomerID=@in_CustomerID
    
    
      -- id of the map
        declare @ismaPID int = 3
        select     @ismaPID = GameMapId from UsersChars where CustomerID=@in_CustomerID
    
    
        -- update basic character data
        if @in_MapID = 2
        update UsersChars set
        GamePos2=@in_GamePos,
        GameFlags=@in_GameFlags,
        Alive=@in_Alive,
        Health=@in_Health,
        Food=@in_Hunger,
        Water=@in_Thirst,
        Toxic=@in_Toxic,
        TimePlayed=@in_TimePlayed,
        LastUpdateDate=GETDATE(),
        XP=@in_XP,
        Reputation=@in_Reputation,
        Stat00=@in_Stat00,
        Stat01=@in_Stat01,
        Stat02=@in_Stat02,
        Stat03=@in_Stat03,
        Stat04=@in_Stat04,
        Stat05=@in_Stat05,
        SkillID0=@in_SkillID0,
        SkillID1=@in_SkillID1,
        SkillID2=@in_SkillID2,
        SkillID3=@in_SkillID3,
        SkillID4=@in_SkillID4,
        SkillID5=@in_SkillID5,
        SkillID6=@in_SkillID6,
        SkillID7=@in_SkillID7,
        SkillID8=@in_SkillID8,
        SkillID9=@in_SkillID9,
        SkillID10=@in_SkillID10,
        SkillID11=@in_SkillID11,
        SkillID12=@in_SkillID12,
        SkillID13=@in_SkillID13,
        SkillID14=@in_SkillID14,
        SkillID15=@in_SkillID15,
        SkillID16=@in_SkillID16,
        SkillID17=@in_SkillID17,
        SkillID18=@in_SkillID18,
        SkillID19=@in_SkillID19,
        SkillID20=@in_SkillID20,
        SkillID21=@in_SkillID21,
        SkillID22=@in_SkillID22,
        SkillID23=@in_SkillID23,
        SkillID24=@in_SkillID24,
        SkillID25=@in_SkillID25,
        SkillID26=@in_SkillID26,
        SkillID27=@in_SkillID27,
        SkillID28=@in_SkillID28,
        SkillID29=@in_SkillID29,
        SkillID30=@in_SkillID30,
        SkillID31=@in_SkillID31,
        SkillID32=@in_SkillID32,
        SkillID33=@in_SkillID33,
        Mission1=@in_Mission1,
        GroupID=@in_GroupID,
        Wood=@in_Wood,
        Stone=@in_Stone,
        Metal=@in_Metal
        where CharID=@in_CharID
        else if @in_MapID = 3
        update UsersChars set
        GamePos3=@in_GamePos,
        GameFlags=@in_GameFlags,
        Alive=@in_Alive,
        Health=@in_Health,
        Food=@in_Hunger,
        Water=@in_Thirst,
        Toxic=@in_Toxic,
        TimePlayed=@in_TimePlayed,
        LastUpdateDate=GETDATE(),
        XP=@in_XP,
        Reputation=@in_Reputation,
        Stat00=@in_Stat00,
        Stat01=@in_Stat01,
        Stat02=@in_Stat02,
        Stat03=@in_Stat03,
        Stat04=@in_Stat04,
        Stat05=@in_Stat05,
        SkillID0=@in_SkillID0,
        SkillID1=@in_SkillID1,
        SkillID2=@in_SkillID2,
        SkillID3=@in_SkillID3,
        SkillID4=@in_SkillID4,
        SkillID5=@in_SkillID5,
        SkillID6=@in_SkillID6,
        SkillID7=@in_SkillID7,
        SkillID8=@in_SkillID8,
        SkillID9=@in_SkillID9,
        SkillID10=@in_SkillID10,
        SkillID11=@in_SkillID11,
        SkillID12=@in_SkillID12,
        SkillID13=@in_SkillID13,
        SkillID14=@in_SkillID14,
        SkillID15=@in_SkillID15,
        SkillID16=@in_SkillID16,
        SkillID17=@in_SkillID17,
        SkillID18=@in_SkillID18,
        SkillID19=@in_SkillID19,
        SkillID20=@in_SkillID20,
        SkillID21=@in_SkillID21,
        SkillID22=@in_SkillID22,
        SkillID23=@in_SkillID23,
        SkillID24=@in_SkillID24,
        SkillID25=@in_SkillID25,
        SkillID26=@in_SkillID26,
        SkillID27=@in_SkillID27,
        SkillID28=@in_SkillID28,
        SkillID29=@in_SkillID29,
        SkillID30=@in_SkillID30,
        SkillID31=@in_SkillID31,
        SkillID32=@in_SkillID32,
        SkillID33=@in_SkillID33,
        Mission1=@in_Mission1,
        GroupID=@in_GroupID,
        Wood=@in_Wood,
        Stone=@in_Stone,
        Metal=@in_Metal
        where CharID=@in_CharID
        else if @in_MapID = 4
        update UsersChars set
        GamePos4=@in_GamePos,
        GameFlags=@in_GameFlags,
        Alive=@in_Alive,
        Health=@in_Health,
        Food=@in_Hunger,
        Water=@in_Thirst,
        Toxic=@in_Toxic,
        TimePlayed=@in_TimePlayed,
        LastUpdateDate=GETDATE(),
        XP=@in_XP,
        Reputation=@in_Reputation,
        Stat00=@in_Stat00,
        Stat01=@in_Stat01,
        Stat02=@in_Stat02,
        Stat03=@in_Stat03,
        Stat04=@in_Stat04,
        Stat05=@in_Stat05,
        SkillID0=@in_SkillID0,
        SkillID1=@in_SkillID1,
        SkillID2=@in_SkillID2,
        SkillID3=@in_SkillID3,
        SkillID4=@in_SkillID4,
        SkillID5=@in_SkillID5,
        SkillID6=@in_SkillID6,
        SkillID7=@in_SkillID7,
        SkillID8=@in_SkillID8,
        SkillID9=@in_SkillID9,
        SkillID10=@in_SkillID10,
        SkillID11=@in_SkillID11,
        SkillID12=@in_SkillID12,
        SkillID13=@in_SkillID13,
        SkillID14=@in_SkillID14,
        SkillID15=@in_SkillID15,
        SkillID16=@in_SkillID16,
        SkillID17=@in_SkillID17,
        SkillID18=@in_SkillID18,
        SkillID19=@in_SkillID19,
        SkillID20=@in_SkillID20,
        SkillID21=@in_SkillID21,
        SkillID22=@in_SkillID22,
        SkillID23=@in_SkillID23,
        SkillID24=@in_SkillID24,
        SkillID25=@in_SkillID25,
        SkillID26=@in_SkillID26,
        SkillID27=@in_SkillID27,
        SkillID28=@in_SkillID28,
        SkillID29=@in_SkillID29,
        SkillID30=@in_SkillID30,
        SkillID31=@in_SkillID31,
        SkillID32=@in_SkillID32,
        SkillID33=@in_SkillID33,
        Mission1=@in_Mission1,
        GroupID=@in_GroupID,
        Wood=@in_Wood,
        Stone=@in_Stone,
        Metal=@in_Metal
        where CharID=@in_CharID
        else if @in_MapID = 5
        update UsersChars set
        GamePos5=@in_GamePos,
        GameFlags=@in_GameFlags,
        Alive=@in_Alive,
        Health=@in_Health,
        Food=@in_Hunger,
        Water=@in_Thirst,
        Toxic=@in_Toxic,
        TimePlayed=@in_TimePlayed,
        LastUpdateDate=GETDATE(),
        XP=@in_XP,
        Reputation=@in_Reputation,
        Stat00=@in_Stat00,
        Stat01=@in_Stat01,
        Stat02=@in_Stat02,
        Stat03=@in_Stat03,
        Stat04=@in_Stat04,
        Stat05=@in_Stat05,
        SkillID0=@in_SkillID0,
        SkillID1=@in_SkillID1,
        SkillID2=@in_SkillID2,
        SkillID3=@in_SkillID3,
        SkillID4=@in_SkillID4,
        SkillID5=@in_SkillID5,
        SkillID6=@in_SkillID6,
        SkillID7=@in_SkillID7,
        SkillID8=@in_SkillID8,
        SkillID9=@in_SkillID9,
        SkillID10=@in_SkillID10,
        SkillID11=@in_SkillID11,
        SkillID12=@in_SkillID12,
        SkillID13=@in_SkillID13,
        SkillID14=@in_SkillID14,
        SkillID15=@in_SkillID15,
        SkillID16=@in_SkillID16,
        SkillID17=@in_SkillID17,
        SkillID18=@in_SkillID18,
        SkillID19=@in_SkillID19,
        SkillID20=@in_SkillID20,
        SkillID21=@in_SkillID21,
        SkillID22=@in_SkillID22,
        SkillID23=@in_SkillID23,
        SkillID24=@in_SkillID24,
        SkillID25=@in_SkillID25,
        SkillID26=@in_SkillID26,
        SkillID27=@in_SkillID27,
        SkillID28=@in_SkillID28,
        SkillID29=@in_SkillID29,
        SkillID30=@in_SkillID30,
        SkillID31=@in_SkillID31,
        SkillID32=@in_SkillID32,
        SkillID33=@in_SkillID33,
        Mission1=@in_Mission1,
        GroupID=@in_GroupID,
        Wood=@in_Wood,
        Stone=@in_Stone,
        Metal=@in_Metal
        where CharID=@in_CharID
        else
        update UsersChars set
        GamePos=@in_GamePos,
        GameFlags=@in_GameFlags,
        Alive=@in_Alive,
        Health=@in_Health,
        Food=@in_Hunger,
        Water=@in_Thirst,
        Toxic=@in_Toxic,
        TimePlayed=@in_TimePlayed,
        LastUpdateDate=GETDATE(),
        XP=@in_XP,
        Reputation=@in_Reputation,
        Stat00=@in_Stat00,
        Stat01=@in_Stat01,
        Stat02=@in_Stat02,
        Stat03=@in_Stat03,
        Stat04=@in_Stat04,
        Stat05=@in_Stat05,
        SkillID0=@in_SkillID0,
        SkillID1=@in_SkillID1,
        SkillID2=@in_SkillID2,
        SkillID3=@in_SkillID3,
        SkillID4=@in_SkillID4,
        SkillID5=@in_SkillID5,
        SkillID6=@in_SkillID6,
        SkillID7=@in_SkillID7,
        SkillID8=@in_SkillID8,
        SkillID9=@in_SkillID9,
        SkillID10=@in_SkillID10,
        SkillID11=@in_SkillID11,
        SkillID12=@in_SkillID12,
        SkillID13=@in_SkillID13,
        SkillID14=@in_SkillID14,
        SkillID15=@in_SkillID15,
        SkillID16=@in_SkillID16,
        SkillID17=@in_SkillID17,
        SkillID18=@in_SkillID18,
        SkillID19=@in_SkillID19,
        SkillID20=@in_SkillID20,
        SkillID21=@in_SkillID21,
        SkillID22=@in_SkillID22,
        SkillID23=@in_SkillID23,
        SkillID24=@in_SkillID24,
        SkillID25=@in_SkillID25,
        SkillID26=@in_SkillID26,
        SkillID27=@in_SkillID27,
        SkillID28=@in_SkillID28,
        SkillID29=@in_SkillID29,
        SkillID30=@in_SkillID30,
        SkillID31=@in_SkillID31,
        SkillID32=@in_SkillID32,
        SkillID33=@in_SkillID33,
        Mission1=@in_Mission1,
        GroupID=@in_GroupID,
        Wood=@in_Wood,
        Stone=@in_Stone,
        Metal=@in_Metal
        where CharID=@in_CharID
        
    if(@in_Alive = 2) begin
            update UsersChars set DeathUtcTime=GETUTCDATE() where CharID=@in_CharID
    
    
            if @ismaPID = 3) begin -- only colorado map will drop items
                -- set default backpack on death
                update UsersChars set BackpackID=20176, BackpackSize=12 where CharID=@in_CharID
                -- delete stuff from backpack
                delete from UsersInventory where CustomerID=@in_CustomerID and CharID=@in_CharID
            end
    
    
        end
        select 0 as ResultCode
    END
    And my
    api_SrvCharUpdate.aspx.cs
    Code:
    using System;using System.Collections.Generic;
    using System.Collections.Specialized;
    using System.Data;
    using System.Text;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    
    
    public partial class api_SrvCharUpdate : WOApiWebPage
    {
        string CustomerID = null;
        string CharID = null;
    
    
        void UpdateCharStatus()
        {
            SqlCommand sqcmd = new SqlCommand();
            sqcmd.CommandType = CommandType.StoredProcedure;
            sqcmd.CommandText = "WZ_Char_SRV_SetStatus";
            sqcmd.Parameters.AddWithValue("@in_CustomerID", CustomerID);
            sqcmd.Parameters.AddWithValue("@in_MapID", web.Param("map"));
            sqcmd.Parameters.AddWithValue("@in_CharID", CharID);
            sqcmd.Parameters.AddWithValue("@in_Alive", web.Param("s1"));
            sqcmd.Parameters.AddWithValue("@in_GamePos", web.Param("s2"));
            sqcmd.Parameters.AddWithValue("@in_Health", web.Param("s3"));
            sqcmd.Parameters.AddWithValue("@in_Hunger", web.Param("s4"));
            sqcmd.Parameters.AddWithValue("@in_Thirst", web.Param("s5"));
            sqcmd.Parameters.AddWithValue("@in_Toxic", web.Param("s6"));
            sqcmd.Parameters.AddWithValue("@in_TimePlayed", web.Param("s7"));
            sqcmd.Parameters.AddWithValue("@in_XP", web.Param("s8"));
            sqcmd.Parameters.AddWithValue("@in_Reputation", web.Param("s9"));
            sqcmd.Parameters.AddWithValue("@in_GameFlags", web.Param("sA"));
            sqcmd.Parameters.AddWithValue("@in_GameDollars", web.Param("sB"));
            // generic trackable stats
            sqcmd.Parameters.AddWithValue("@in_Stat00", web.Param("ts00"));
            sqcmd.Parameters.AddWithValue("@in_Stat01", web.Param("ts01"));
            sqcmd.Parameters.AddWithValue("@in_Stat02", web.Param("ts02"));
            sqcmd.Parameters.AddWithValue("@in_Stat03", web.Param("ts03"));
            sqcmd.Parameters.AddWithValue("@in_Stat04", web.Param("ts04"));
            sqcmd.Parameters.AddWithValue("@in_Stat05", web.Param("ts05"));
        sqcmd.Parameters.AddWithValue("@in_Mission1", web.Param("Mission1"));
            
            sqcmd.Parameters.AddWithValue("@in_SkillID0", web.Param("SkillID0"));
            sqcmd.Parameters.AddWithValue("@in_SkillID1", web.Param("SkillID1"));
            sqcmd.Parameters.AddWithValue("@in_SkillID2", web.Param("SkillID2"));
            sqcmd.Parameters.AddWithValue("@in_SkillID3", web.Param("SkillID3"));
            sqcmd.Parameters.AddWithValue("@in_SkillID4", web.Param("SkillID4"));
            sqcmd.Parameters.AddWithValue("@in_SkillID5", web.Param("SkillID5"));
            sqcmd.Parameters.AddWithValue("@in_SkillID6", web.Param("SkillID6"));
            sqcmd.Parameters.AddWithValue("@in_SkillID7", web.Param("SkillID7"));
            sqcmd.Parameters.AddWithValue("@in_SkillID8", web.Param("SkillID8"));
            sqcmd.Parameters.AddWithValue("@in_SkillID9", web.Param("SkillID9"));
            sqcmd.Parameters.AddWithValue("@in_SkillID10", web.Param("SkillID10"));
            sqcmd.Parameters.AddWithValue("@in_SkillID11", web.Param("SkillID11"));
            sqcmd.Parameters.AddWithValue("@in_SkillID12", web.Param("SkillID12"));
            sqcmd.Parameters.AddWithValue("@in_SkillID13", web.Param("SkillID13"));
            sqcmd.Parameters.AddWithValue("@in_SkillID14", web.Param("SkillID14"));
            sqcmd.Parameters.AddWithValue("@in_SkillID15", web.Param("SkillID15"));
            sqcmd.Parameters.AddWithValue("@in_SkillID16", web.Param("SkillID16"));
            sqcmd.Parameters.AddWithValue("@in_SkillID17", web.Param("SkillID17"));
            sqcmd.Parameters.AddWithValue("@in_SkillID18", web.Param("SkillID18"));
            sqcmd.Parameters.AddWithValue("@in_SkillID19", web.Param("SkillID19"));
            sqcmd.Parameters.AddWithValue("@in_SkillID20", web.Param("SkillID20"));
            sqcmd.Parameters.AddWithValue("@in_SkillID21", web.Param("SkillID21"));
            sqcmd.Parameters.AddWithValue("@in_SkillID22", web.Param("SkillID22"));
            sqcmd.Parameters.AddWithValue("@in_SkillID23", web.Param("SkillID23"));
            sqcmd.Parameters.AddWithValue("@in_SkillID24", web.Param("SkillID24"));
            sqcmd.Parameters.AddWithValue("@in_SkillID25", web.Param("SkillID25"));
            sqcmd.Parameters.AddWithValue("@in_SkillID26", web.Param("SkillID26"));
            sqcmd.Parameters.AddWithValue("@in_SkillID27", web.Param("SkillID27"));
            sqcmd.Parameters.AddWithValue("@in_SkillID28", web.Param("SkillID28"));
            sqcmd.Parameters.AddWithValue("@in_SkillID29", web.Param("SkillID29"));
            sqcmd.Parameters.AddWithValue("@in_SkillID30", web.Param("SkillID30"));
            sqcmd.Parameters.AddWithValue("@in_SkillID31", web.Param("SkillID31"));
            sqcmd.Parameters.AddWithValue("@in_SkillID32", web.Param("SkillID32"));
            sqcmd.Parameters.AddWithValue("@in_SkillID33", web.Param("SkillID33"));
            sqcmd.Parameters.AddWithValue("@in_GroupID", web.Param("GroupID"));
            sqcmd.Parameters.AddWithValue("@in_Wood", web.Param("Wood"));
            sqcmd.Parameters.AddWithValue("@in_Stone", web.Param("Stone"));
            sqcmd.Parameters.AddWithValue("@in_Metal", web.Param("Metal"));
            
            if (!CallWOApi(sqcmd))
                return;
        }
    
    
        void UpdateCharBackpack()
        {
            // use a single transaction
            CloseDataReader();
            using (SqlTransaction transaction = sql.BeginTransaction())
            {
                for (int i = 0; i < 999; i++)
                {
                    string BpEntry;
                    try
                    {
                        BpEntry = web.Param("bp" + i.ToString());
                    }
                    catch
                    {
                        break;
                    }
    
    
                    // c++ sprintf("%d %d %d %d %d %d", slot, isAdding, w1.itemID, w1.quantity, w1.Var1, w1.Var2);
                    string[] arr = BpEntry.Split(' ');
                    if (arr.Length != 6)
                        throw new ApiExitException("bad BpEntry");
    
    
                    int Slot = Convert.ToInt32(arr[0]);
                    int Op = Convert.ToInt32(arr[1]);
                    int ItemID = Convert.ToInt32(arr[2]);
                    int Amount = Convert.ToInt32(arr[3]);
                    int Var1 = Convert.ToInt32(arr[4]);
                    int Var2 = Convert.ToInt32(arr[5]);
    
    
                    string cmd = "";
                    switch (Op)
                    {
                        default:
                            throw new ApiExitException("bad op");
                        case 0: // add
                            cmd = "WZ_Backpack_SRV_AddItem";
                            break;
                        case 1: // alter
                            cmd = "WZ_Backpack_SRV_AlterItem";
                            break;
                        case 2: // delete
                            cmd = "WZ_Backpack_SRV_DeleteItem";
                            break;
                    }
    
    
                    SqlCommand sqcmd = new SqlCommand();
                    sqcmd.Transaction = transaction;
                    sqcmd.CommandType = CommandType.StoredProcedure;
                    sqcmd.CommandText = cmd;
                    sqcmd.Parameters.AddWithValue("@in_CustomerID", CustomerID);
                    sqcmd.Parameters.AddWithValue("@in_CharID", CharID);
                    sqcmd.Parameters.AddWithValue("@in_Slot", Slot);
                    sqcmd.Parameters.AddWithValue("@in_ItemID", ItemID);
                    sqcmd.Parameters.AddWithValue("@in_Amount", Amount);
                    sqcmd.Parameters.AddWithValue("@in_Var1", Var1);
                    sqcmd.Parameters.AddWithValue("@in_Var2", Var2);
    
    
                    if (!CallWOApi(sqcmd))
                        return;
                    CloseDataReader();
                }
    
    
                transaction.Commit();
            }
        }
    
    
        void UpdateCharAttachments()
        {
            string attm1 = web.Param("attm1");
            string attm2 = web.Param("attm2");
    
    
            SqlCommand sqcmd = new SqlCommand();
            sqcmd.CommandType = CommandType.StoredProcedure;
            sqcmd.CommandText = "WZ_Char_SRV_SetAttachments";
            sqcmd.Parameters.AddWithValue("@in_CustomerID", CustomerID);
            sqcmd.Parameters.AddWithValue("@in_CharID", CharID);
            sqcmd.Parameters.AddWithValue("@in_Attm1", attm1);
            sqcmd.Parameters.AddWithValue("@in_Attm2", attm2);
    
    
            if (!CallWOApi(sqcmd))
                return;
        }
    
    
        protected override void Execute()
        {
            // we still need to check login credentials in case of double login from other computer
            if (!WoCheckLoginSession())
                return;
    
    
            string skey1 = web.Param("skey1");
            if (skey1 != SERVER_API_KEY)
                throw new ApiExitException("bad key");
    
    
            CustomerID = web.CustomerID();
            CharID = web.Param("CharID");
    
    
            UpdateCharStatus();
            UpdateCharBackpack();
            UpdateCharAttachments();
    
    
            Response.Write("WO_0");
        }
    }
    and
    Code:
    void obj_ServerPlayer::DoDeath(){
    	gServerLogic.LogInfo(peerId_, "Death", ""); CLOG_INDENT;
    	
    	deathTime     = r3dGetTime();
    	if(profile_.ProfileData.AccountType == 2)
    	{
    		// drop all items
    		for(int i=0; i<loadout_->BackpackSize; i++)
    		{
    			const wiInventoryItem& wi = loadout_->Items[i];
    			if(wi.itemID > 0) {
    				BackpackDropItem(i);
    			}
    		}
    		
    		// drop not-default backpack as well
    		if(loadout_->BackpackID != 20176)
    		{
    			// create network object
    			obj_DroppedItem* obj = (obj_DroppedItem*)srv_CreateGameObject("obj_DroppedItem", "obj_DroppedItem", GetRandomPosForItemDrop());
    			obj->SetNetworkID(gServerLogic.GetFreeNetId());
    			obj->NetworkLocal = true;
    			// vars
    			obj->m_Item.itemID   = loadout_->BackpackID;
    			obj->m_Item.quantity = 1;
    		}
    	}
    	// set that character is dead
    	loadout_->Alive   = 0;
    	loadout_->GamePos = GetPosition();
    	loadout_->Health  = 0;
    	// clear attachments
    	if(profile_.ProfileData.AccountType == 2)
    	{
    		loadout_->Attachment[0].Reset();
    		loadout_->Attachment[1].Reset();
    	}
    	//NOTE: server WZ_Char_SRV_SetStatus will clear player backpack, so make that CJobUpdateChar::Exec() won't update it
    	savedLoadout_ = *loadout_;
    
    
    	gServerLogic.ApiPlayerUpdateChar(this);
    
    
    	SetLatePacketsBarrier("death");
    	return;
    }


  2. #2
    Enthusiast ghbb is offline
    MemberRank
    Oct 2013 Join Date
    31Posts

    Re: [HELP] Dont drop Item

    any help?

  3. #3
    Novice Walking Death is offline
    MemberRank
    Dec 2014 Join Date
    4Posts

    Re: [HELP] Dont drop Item

    if @ismaPID = 3) begin -- only colorado map will drop items
    -- set default backpack on death
    update UsersChars set BackpackID=20176, BackpackSize=12 where CharID=@in_CharID
    -- delete stuff from backpack
    delete from UsersInventory where CustomerID=@in_CustomerID and CharID=@in_CharID
    end

    Delete red line and you're find
    And change your code to this:
    Code:
    	if (!profile_.ProfileData.isDevAccount || (!profile_.ProfileData.isPremium && mapId = MAPID_WZ_PVE_Colorado))
    	{
    
    
    		// drop all items
    		for(int i=0; i<loadout_->BackpackSize; i++)
    		{
    			const wiInventoryItem& wi = loadout_->Items[i];
    			if(wi.itemID > 0) {
    				BackpackDropItem(i);
    			}
    		}
    		gServerLogic.ApiPlayerUpdateChar(this);
    
    
    		// drop not-default backpack as well
    		if(loadout_->BackpackID != 20176)
    		{
    			// create network object
    			obj_DroppedItem* obj = (obj_DroppedItem*)srv_CreateGameObject("obj_DroppedItem", "obj_DroppedItem", GetRandomPosForItemDrop());
    			obj->SetNetworkID(gServerLogic.GetFreeNetId());
    			obj->NetworkLocal = true;
    			// vars
    			obj->m_Item.itemID   = loadout_->BackpackID;
    			obj->m_Item.quantity = 1;
    		}
    	}
    You can remove "|| (!profile_.ProfileData.isPremium && mapId = MAPID_WZ_PVE_Colorado)" if you not using this features, this is from my code



Advertisement