Jump to content

MaJeStiC

Inactive Member
  • Posts

    20
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by MaJeStiC

  1. 9 hours ago, dx11 said:

    in database and in acocount database and design table for account and for example put gold expire '2030-01-24 23:59:59'
    and no thing changes 
     

    you mean you change the default with design

    need to update records too for example gold_expire

    UPDATE `account` SET `gold_expire`='2030-01-24 23:59:59';

  2. 10 hours ago, Exygo said:

    Because you need serverside too

    VegaS is bored and shares cancer

     

    EDIT:

    this is the code that I wrote long time ago(6 Octombrie 2017) for a client (rumble event fight etc)

     

    
    bool CInstanceBase::IsAttackableInstance(CInstanceBase& rkInstVictim)
    {
    	if (__IsMainInstance())
    	{
    		CPythonPlayer& rkPlayer=CPythonPlayer::Instance();
    		if(rkPlayer.IsObserverMode())
    			return false;
    	}
    
    	if (GetVirtualID() == rkInstVictim.GetVirtualID())
    		return false;
    
    	if (IsStone())
    	{
    		if (rkInstVictim.IsPC())
    			return true;
    	}
    	else if (IsPC())
    	{
    		if (rkInstVictim.IsStone())
    			return true;
    
    		if (rkInstVictim.IsPC())
    		{
    #ifdef ENABLE_RUMBLE_EVENT
    			std::string strMapName = CPythonBackground::Instance().GetWarpMapName();
    			if (strMapName == "metin2_map_name")
    				return true;
    #endif
    
    bool battle_is_attackable(LPCHARACTER ch, LPCHARACTER victim)
    {
    	// 상대방이 죽었으면 중단한다.
    	if (victim->IsDead())
    		return false;
    	// 안전지대면 중단
    	{
    		SECTREE	*sectree = NULL;
    
    		sectree	= ch->GetSectree();
    		if (sectree && sectree->IsAttr(ch->GetX(), ch->GetY(), ATTR_BANPK))
    			return false;
    
    		sectree = victim->GetSectree();
    		if (sectree && sectree->IsAttr(victim->GetX(), victim->GetY(), ATTR_BANPK))
    			return false;
    	}
    	
    
    	// 내가 죽었으면 중단한다.
    	if (ch->IsStun() || ch->IsDead())
    		return false;
    
    	if (ch->IsPC() && victim->IsPC())
    	{
    		CGuild* g1 = ch->GetGuild();
    		CGuild* g2 = victim->GetGuild();
    
    		if (g1 && g2)
    		{
    			if (g1->UnderWar(g2->GetID()))
    				return true;
    		}
    	}
    
    #ifdef ENABLE_RUMBLE_EVENT
    	// rumble event can attack in a map by Exygo // 6 Octombrie 2017
    	if (ch->IsPC() && victim->IsPC() && ch->GetMapIndex() == 41) // map index
    			return true;
    	//
    #endif

     

    same result no dmg

  3. 9 hours ago, VegaS™ said:

    I didn't test it, but you can try.

    
    //@Srcs\Client\UserInterface\InstanceBase.cpp
    //@bool CInstanceBase::IsAttackableInstance(CInstanceBase& rkInstVictim)
    //Search for:
    	if (GetVirtualID() == rkInstVictim.GetVirtualID())
    		return false;
    //Add after:
    	if (IsPC() && rkInstVictim.IsPC())
    	{
    		const std::string & c_rstrMapFileName = CPythonBackground::Instance().GetWarpMapName();
    		if (!c_rstrMapFileName.compare("MAP_NAME"))
    			return true;
    	}
    	
    //@Srcs\Server\game\src\pvp.cpp
    //bool CPVPManager::CanAttack(LPCHARACTER pkChr, LPCHARACTER pkVictim)
    //Search for:
    	if (pkChr == pkVictim)
    		return false;
    //Add after:
    	if (pkChr->GetMapIndex() == MAP_INDEX)
    		return true;

     

    thanks Vegas i will test it and post here the result

  4. yes i use this source

    enum EWearPositions
    {
        WEAR_BODY,        // 0
        WEAR_HEAD,        // 1
        WEAR_FOOTS,        // 2
        WEAR_WRIST,        // 3
        WEAR_WEAPON,    // 4
        WEAR_NECK,        // 5
        WEAR_EAR,        // 6
        WEAR_UNIQUE1,    // 7
        WEAR_UNIQUE2,    // 8
        WEAR_ARROW,        // 9
        WEAR_SHIELD,    // 10
        WEAR_ABILITY1,  // 11
        WEAR_ABILITY2,  // 12
        WEAR_ABILITY3,  // 13
        WEAR_ABILITY4,  // 14
        WEAR_ABILITY5,  // 15
        WEAR_ABILITY6,  // 16
        WEAR_ABILITY7,  // 17
        WEAR_ABILITY8,  // 18
        WEAR_COSTUME_BODY,    // 19
        WEAR_COSTUME_HAIR,    // 20

    #ifdef ENABLE_MOUNT_COSTUME_SYSTEM
        WEAR_COSTUME_MOUNT, //21
    #endif

    #ifdef ENABLE_ACCE_COSTUME_SYSTEM
        WEAR_COSTUME_ACCE, //22
    #endif

    #ifdef __WEAPON_COSTUME_SYSTEM__
        WEAR_COSTUME_WEAPON, //23
    #endif
    #ifdef __EFFECT_SYSTEM__
        WEAR_EFFECT_ARMOR, //24
        WEAR_EFFECT_WEAPON, //25
    #endif
        WEAR_RING1,        //c_Equipment_Ring1 =0 =26
        WEAR_RING2,        //c_Equipment_Ring2 =1 =27

        WEAR_BELT,        //c_Equipment_Belt =2 =28
        
        WEAR_MAX = 32    //

  5. Just now, Retro said:

    uiscript costumewindow.py , post it there if you don't know how to do it .

    import uiScriptLocale
    import item

    COSTUME_START_INDEX = item.COSTUME_SLOT_START

    window = {
        "name" : "CostumeWindow",
        "x" : SCREEN_WIDTH - 175 - 140,
        "y" : SCREEN_HEIGHT - 37 - 565,
        "style" : ("movable", "float",),
        "width" : 140,
        "height" : 180 + 47,
        "children" :
        (
            {
                "name" : "board",
                "type" : "board",
                "style" : ("attach",),
                "x" : 0,
                "y" : 0,
                "width" : 140,
                "height" : 180 + 47,
                "children" :
                (
                    {
                        "name" : "TitleBar",
                        "type" : "titlebar",
                        "style" : ("attach",),
                        "x" : 6,
                        "y" : 6,
                        "width" : 130,
                        "color" : "yellow",
                        "children" :
                        (
                            { "name":"TitleName", "type":"text", "x":60, "y":3, "text":uiScriptLocale.COSTUME_WINDOW_TITLE, "text_horizontal_align":"center"},
                        ),
                    },
                    
                    {
                        "name" : "Costume_Base",
                        "type" : "image",
                        "x" : 13,
                        "y" : 38,
                        "image" : "locale/ae/ui/costume/new_costume_bg.jpg",
                        "children" :
                        (
                            {
                                "name" : "CostumeSlot",
                                "type" : "slot",
                                "x" : 3,
                                "y" : 3,
                                "width" : 127,
                                "height" : 145,
                                "slot" : (
                                            {"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64},
                                            {"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32},
                                            {"index":COSTUME_START_INDEX+2, "x":61, "y":125, "width":32, "height":32},
                                            {"index":COSTUME_START_INDEX+3, "x":10, "y":125, "width":32, "height":32},
                                            {"index":COSTUME_START_INDEX+4, "x":10, "y":5, "width":32, "height":96},
                                ),
                            },
                        ),
                    },
                ),
            },
        ),
    }

     

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.