Raised This Month: $32 Target: $400
 8% 

Base Builder Locking


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Avalon1300
Junior Member
Join Date: Dec 2019
Old 02-24-2021 , 10:28   Base Builder Locking
Reply With Quote #1

Hi, I'm looking for a plugin for Base Builder mode, the plugin is when someone uses an object, other players can't take the object used by that person, only by the person who took it. - Other servers had such a system, even at one time it was public, but now it is no longer found that the station has been deleted. Server administrators could move the track, even if it was used.
Avalon1300 is offline
Send a message via AIM to Avalon1300 Send a message via Yahoo to Avalon1300 Send a message via Skype™ to Avalon1300
Avalon1300
Junior Member
Join Date: Dec 2019
Old 02-25-2021 , 20:27   Re: Base Builder Locking
Reply With Quote #2

UP
Avalon1300 is offline
Send a message via AIM to Avalon1300 Send a message via Yahoo to Avalon1300 Send a message via Skype™ to Avalon1300
Avalon1300
Junior Member
Join Date: Dec 2019
Old 06-21-2021 , 08:34   Re: Base Builder Locking
Reply With Quote #3

Up
Avalon1300 is offline
Send a message via AIM to Avalon1300 Send a message via Yahoo to Avalon1300 Send a message via Skype™ to Avalon1300
Supremache
Veteran Member
Join Date: Sep 2019
Location: Egypt
Old 06-21-2021 , 17:04   Re: Base Builder Locking
Reply With Quote #4

Quote:
Originally Posted by Avalon1300 View Post
Hi, I'm looking for a plugin for Base Builder mode, the plugin is when someone uses an object, other players can't take the object used by that person, only by the person who took it. - Other servers had such a system, even at one time it was public, but now it is no longer found that the station has been deleted. Server administrators could move the track, even if it was used.
There is already lock opject option for locking your own opjects and what you want will do some problems with other players for example if we playing on map have limited opjects and the builder locked much opjects it will make others can't built because they will haven't more opjects for build.

You will say why not make it limited, everyone have limited moves opject?
So badly, also we have the same thing with lock opjects option.

If you still need this then wait until I back.
__________________
Youtube.com/Supremache

Bank System [Nvault - SQL Support]
VIP System
  • If you think it's that simple, then do it yourself.
Supremache is offline
Avalon1300
Junior Member
Join Date: Dec 2019
Old 07-10-2021 , 11:10   Re: Base Builder Locking
Reply With Quote #5

Quote:
Originally Posted by Supremache View Post
There is already lock opject option for locking your own opjects and what you want will do some problems with other players for example if we playing on map have limited opjects and the builder locked much opjects it will make others can't built because they will haven't more opjects for build.

You will say why not make it limited, everyone have limited moves opject?
So badly, also we have the same thing with lock opjects option.

If you still need this then wait until I back.

I know about the bb claim option, but in addition to this option, I want something like this in the basic 6.5 constructor mode - A player cannot steal players' objects. But I want it to be at the claim option, only for Admini, meaning only administrators can color.
Avalon1300 is offline
Send a message via AIM to Avalon1300 Send a message via Yahoo to Avalon1300 Send a message via Skype™ to Avalon1300
Supremache
Veteran Member
Join Date: Sep 2019
Location: Egypt
Old 07-10-2021 , 11:45   Re: Base Builder Locking
Reply With Quote #6

So you want automatic lock for the players without giving them access to color the objects and only admin can lock it with color ?
__________________
Youtube.com/Supremache

Bank System [Nvault - SQL Support]
VIP System
  • If you think it's that simple, then do it yourself.
Supremache is offline
Avalon1300
Junior Member
Join Date: Dec 2019
Old 07-10-2021 , 11:56   Re: Base Builder Locking
Reply With Quote #7

Quote:
Originally Posted by Supremache View Post
So you want automatic lock for the players without giving them access to color the objects and only admin can lock it with color ?
Yes, that's how I want it, can you make a change for me, if you know how?

Code:
public fw_Traceline(Float:start[3], Float:end[3], conditions, id, trace)
{
	if (!is_user_alive(id))
		return PLUGIN_HANDLED
	
	new ent = get_tr2(trace, TR_pHit)
	
	if (is_valid_ent(ent))
	{
		new ent,body
		get_user_aiming(id,ent,body)
		
		new szClass[10], szTarget[7];
		entity_get_string(ent, EV_SZ_classname, szClass, 9);
		entity_get_string(ent, EV_SZ_targetname, szTarget, 6);
		if (equal(szClass, "func_wall") && !equal(szTarget, "ignore") && ent != g_iEntBarrier && g_iShowMovers == 1)
		{
			if (g_boolCanBuild || access(id, ADMIN_SLAY))
			{
				set_hudmessage(0, 50, 255, -1.0, 0.55, 1, 0.01, 3.0, 0.01, 0.01);
				if (!BlockLocker(ent))
				{
					new szCurMover[32], szLastMover[32]
					if (GetEntMover(ent))
					{
						get_user_name(GetEntMover(ent),szCurMover,31)
						if (!GetLastMover(ent))
							ShowSyncHudMsg(id, g_HudSync, "Current Mover: %s^nLast Mover: NONE", szCurMover);
					}
					if (GetLastMover(ent))
					{
						get_user_name(GetLastMover(ent),szLastMover,31)
						if (!GetEntMover(ent))
							ShowSyncHudMsg(id, g_HudSync, "Current Mover: NONE^nLast Mover: %s", szLastMover);
					}
					if (GetEntMover(ent) && GetLastMover(ent))
						ShowSyncHudMsg(id, g_HudSync, "Current Mover: %s^nLast Mover: %s", szCurMover, szLastMover);
					else if (!GetEntMover(ent) && !GetLastMover(ent))
						ShowSyncHudMsg(id, g_HudSync, "This object hasn't been moved");
				}
				else
				{
					new szEntOwner[32]
					get_user_name(BlockLocker(ent),szEntOwner,31)
					ShowSyncHudMsg(id, g_HudSync, "Claimed by: %s", szEntOwner);
				}
			}
		}
	}
	else ClearSyncHud(id, g_HudSync);
	
	return PLUGIN_HANDLED
}
Avalon1300 is offline
Send a message via AIM to Avalon1300 Send a message via Yahoo to Avalon1300 Send a message via Skype™ to Avalon1300
Avalon1300
Junior Member
Join Date: Dec 2019
Old 07-10-2021 , 12:00   Re: Base Builder Locking
Reply With Quote #8

And please, when the player wants to take the piece used by another, to display a message like "This piece is already used"

Edit: ShowSyncHudMsg(id, g_HudSync, "This object is already used");

Last edited by Avalon1300; 07-10-2021 at 12:11.
Avalon1300 is offline
Send a message via AIM to Avalon1300 Send a message via Yahoo to Avalon1300 Send a message via Skype™ to Avalon1300
Supremache
Veteran Member
Join Date: Sep 2019
Location: Egypt
Old 07-10-2021 , 12:20   Re: Base Builder Locking
Reply With Quote #9

Quote:
Originally Posted by Avalon1300 View Post
Yes, that's how I want it, can you make a change for me, if you know how?
Replace these functions:
PHP Code:
public cmdGrabEnt(id)
{
    if (
g_fBuildDelay[id] + BUILD_DELAY get_gametime())
    {
        
g_fBuildDelay[id] = get_gametime()
        
client_print (idprint_center"%L"LANG_SERVER"BUILD_SPAM")
        return 
PLUGIN_HANDLED
    
}
    else
        
g_fBuildDelay[id] = get_gametime()

    if (
g_isBuildBan[id])
    {
        
client_print (idprint_center"%L"LANG_SERVER"BUILD_BANNED")
        
client_cmd(id"spk %s"LOCK_FAIL);
        return 
PLUGIN_HANDLED;
    }
    
    if (
g_isZombie[id] && !access(idFLAGS_OVERRIDE))
        return 
PLUGIN_HANDLED
        
    
if (!g_boolCanBuild && !access(idFLAGS_BUILD) && !access(idFLAGS_OVERRIDE))
    {
        
client_print (idprint_center"%L"LANG_SERVER"BUILD_NOTIME")
        return 
PLUGIN_HANDLED
    
}
    
    if (
g_iOwnedEnt[id] && is_valid_ent(g_iOwnedEnt[id])) 
        
cmdStopEnt(id)
    
    new 
entbodypart
    get_user_aiming 
(id,ent,bodypart)
    
    if (!
is_valid_ent(ent) || ent == g_iEntBarrier || is_user_alive(ent) || IsMovingEnt(ent))
        return 
PLUGIN_HANDLED;
    
    if ((
BlockLocker(ent) && BlockLocker(ent) != id) || (BlockLocker(ent) && !access(idFLAGS_OVERRIDE)))
        return 
PLUGIN_HANDLED;
    
    new 
szClass[10], szTarget[7];
    
entity_get_string(entEV_SZ_classnameszClass9);
    
entity_get_string(entEV_SZ_targetnameszTarget6);
    if (!
equal(szClass"func_wall") || equal(szTarget"ignore"))
        return 
PLUGIN_HANDLED;
        
    
ExecuteForward(g_fwGrabEnt_Preg_fwDummyResultident);

    new 
Float:fOrigin[3], iAiming[3], Float:fAiming[3]
    
    
get_user_origin(idiAiming3);
    
IVecFVec(iAimingfAiming);
    
entity_get_vector(entEV_VEC_originfOrigin);

    
g_fOffset1[id] = fOrigin[0] - fAiming[0];
    
g_fOffset2[id] = fOrigin[1] - fAiming[1];
    
g_fOffset3[id] = fOrigin[2] - fAiming[2];
    
    
g_fEntDist[id] = get_user_aiming(identbodypart);
        
    if (
g_fEntMinDist)
    {
        if (
g_fEntDist[id] < g_fEntMinDist)
            
g_fEntDist[id] = g_fEntSetDist;
    }
    else if (
g_fEntMaxDist)
    {
        if (
g_fEntDist[id] > g_fEntMaxDist)
            return 
PLUGIN_HANDLED
    
}

    
set_pev(ent,pev_rendermode,kRenderTransColor)
    
set_pev(ent,pev_rendercolorg_fColor[g_iColor[id]] )
    
set_pev(ent,pev_renderamtg_fRenderAmt[g_iColor[id]] )
        
    
MovingEnt(ent);
    
SetEntMover(entid);
    
g_iOwnedEnt[id] = ent

    
//Checked after object is successfully grabbed
    
if (!g_boolCanBuild && (access(idFLAGS_BUILD) || access(idFLAGS_OVERRIDE)))
    {
        new 
adminauthid[32],adminname[32]
        
get_user_authid (id,adminauthid,31)
        
get_user_name(id,adminname,31)
        
Log("[MOVE] Admin: %s || SteamID: %s moved an entity"adminnameadminauthid)
    }
    
    
client_cmd(id"spk %s"GRAB_START);
    
    
cmdLockBlock(id)
    
ExecuteForward(g_fwGrabEnt_Postg_fwDummyResultident);
    
    return 
PLUGIN_HANDLED
}

public 
cmdStopEnt(id)
{
    if (!
g_iOwnedEnt[id])
        return 
PLUGIN_HANDLED;
        
    new 
ent g_iOwnedEnt[id]
    
    
ExecuteForward(g_fwDropEnt_Preg_fwDummyResultident);
    
    if (
BlockLocker(ent))
    {
        switch(
g_iLockBlocks)
        {
            case 
0:
            {
                
set_pev(ent,pev_rendermode,kRenderTransColor)
                
set_pev(ent,pev_rendercolorFloat:{ LOCKED_COLOR })
                
set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
            case 
1:
            {
                
set_pev(ent,pev_rendermode,kRenderTransColor)
                if(
is_user_admin(id))
                {
                    
set_pev(ent,pev_rendercolor,g_fColor[g_iColor[id]])
                }
                
set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
        }
    }
    else
        
set_pev(ent,pev_rendermode,kRenderNormal)    
    
    
UnsetEntMover(ent);
    
SetLastMover(ent,id);
    
g_iOwnedEnt[id] = 0;
    
UnmovingEnt(ent);
    
    
client_cmd(id"spk %s"GRAB_STOP);
    
    
ExecuteForward(g_fwDropEnt_Postg_fwDummyResultident);
    
    return 
PLUGIN_HANDLED;
}

public 
cmdLockBlock(id)
{
    if (!
g_boolCanBuild && g_iLockBlocks)
    {
        
client_print(idprint_center"%L"LANG_SERVER"FAIL_LOCK");
        return 
PLUGIN_HANDLED;
    }
    
    if (!
access(idFLAGS_LOCK) || (g_isZombie[id] && !access(idFLAGS_OVERRIDE)))
        return 
PLUGIN_HANDLED;
        
    new 
entbodypart
    get_user_aiming 
(id,ent,bodypart)
    
    new 
szTarget[7], szClass[10];
    
entity_get_string(entEV_SZ_targetnameszTarget6);
    
entity_get_string(entEV_SZ_classnameszClass9);
    if (!
ent || !is_valid_ent(ent) || is_user_alive(ent) || ent == g_iEntBarrier || !equal(szClass"func_wall") || equal(szTarget"ignore"))
        return 
PLUGIN_HANDLED;
    
    
ExecuteForward(g_fwLockEnt_Preg_fwDummyResultident);
    
    switch (
g_iLockBlocks)
    {
        case 
0:
        {
            if (!
BlockLocker(ent) && !IsMovingEnt(ent))
            {
                
LockBlock(entid);
                
set_pev(ent,pev_rendermode,kRenderTransColor)
                
set_pev(ent,pev_rendercolor,Float:{LOCKED_COLOR})
                
set_pev(ent,pev_renderamt,Float:{LOCKED_RENDERAMT})
                
client_cmd(id"spk %s"LOCK_OBJECT);
            }
            else if (
BlockLocker(ent))
            {
                
UnlockBlock(ent)
                
set_pev(ent,pev_rendermode,kRenderNormal)
                
client_cmd(id"spk %s"LOCK_OBJECT);
            }
        }
        case 
1:
        {
            if (!
BlockLocker(ent) && !IsMovingEnt(ent))
            {
                if (
g_iOwnedEntities[id]<g_iLockMax || !g_iLockMax)
                {
                    
LockBlock(entid)
                    
g_iOwnedEntities[id]++
                    
set_pev(ent,pev_rendermode,kRenderTransColor)
                    if(
is_user_admin(id))
                    {
                        
set_pev(ent,pev_rendercolor,g_fColor[g_iColor[id]])
                    }
                    
set_pev(ent,pev_renderamt,Float:{LOCKED_RENDERAMT})
                    
                    
client_print(idprint_center"%L [ %d / %d ]"LANG_SERVER"BUILD_CLAIM_NEW"g_iOwnedEntities[id], g_iLockMax)
                    
client_cmd(id"spk %s"LOCK_OBJECT);
                }
                else if (
g_iOwnedEntities[id]>=g_iLockMax)
                {
                    
client_print(idprint_center"%L"LANG_SERVER"BUILD_CLAIM_MAX"g_iLockMax)
                    
client_cmd(id"spk %s"LOCK_FAIL);
                }
            }
            else if (
BlockLocker(ent))
            {
                if (
BlockLocker(ent) == id || access(idFLAGS_OVERRIDE))
                {
                    
g_iOwnedEntities[BlockLocker(ent)]--
                    
set_pev(ent,pev_rendermode,kRenderNormal)
                    
                    
client_print(BlockLocker(ent), print_center"%L [ %d / %d ]"LANG_SERVER"BUILD_CLAIM_LOST"g_iOwnedEntities[BlockLocker(ent)], g_iLockMax)
                    
                    
UnlockBlock(ent)
                    
client_cmd(id"spk %s"LOCK_OBJECT);
                }
                else
                {
                    
client_print(idprint_center"%L"LANG_SERVER"BUILD_CLAIM_FAIL")
                    
client_cmd(id"spk %s"LOCK_FAIL);
                }
            }    
        }
    }
    
    
ExecuteForward(g_fwLockEnt_Postg_fwDummyResultident);
    
    return 
PLUGIN_HANDLED

__________________
Youtube.com/Supremache

Bank System [Nvault - SQL Support]
VIP System
  • If you think it's that simple, then do it yourself.

Last edited by Supremache; 07-10-2021 at 12:22.
Supremache is offline
Avalon1300
Junior Member
Join Date: Dec 2019
Old 07-10-2021 , 12:32   Re: Base Builder Locking
Reply With Quote #10

Quote:
Originally Posted by Supremache View Post
Replace these functions:
PHP Code:
public cmdGrabEnt(id)
{
    if (
g_fBuildDelay[id] + BUILD_DELAY get_gametime())
    {
        
g_fBuildDelay[id] = get_gametime()
        
client_print (idprint_center"%L"LANG_SERVER"BUILD_SPAM")
        return 
PLUGIN_HANDLED
    
}
    else
        
g_fBuildDelay[id] = get_gametime()

    if (
g_isBuildBan[id])
    {
        
client_print (idprint_center"%L"LANG_SERVER"BUILD_BANNED")
        
client_cmd(id"spk %s"LOCK_FAIL);
        return 
PLUGIN_HANDLED;
    }
    
    if (
g_isZombie[id] && !access(idFLAGS_OVERRIDE))
        return 
PLUGIN_HANDLED
        
    
if (!g_boolCanBuild && !access(idFLAGS_BUILD) && !access(idFLAGS_OVERRIDE))
    {
        
client_print (idprint_center"%L"LANG_SERVER"BUILD_NOTIME")
        return 
PLUGIN_HANDLED
    
}
    
    if (
g_iOwnedEnt[id] && is_valid_ent(g_iOwnedEnt[id])) 
        
cmdStopEnt(id)
    
    new 
entbodypart
    get_user_aiming 
(id,ent,bodypart)
    
    if (!
is_valid_ent(ent) || ent == g_iEntBarrier || is_user_alive(ent) || IsMovingEnt(ent))
        return 
PLUGIN_HANDLED;
    
    if ((
BlockLocker(ent) && BlockLocker(ent) != id) || (BlockLocker(ent) && !access(idFLAGS_OVERRIDE)))
        return 
PLUGIN_HANDLED;
    
    new 
szClass[10], szTarget[7];
    
entity_get_string(entEV_SZ_classnameszClass9);
    
entity_get_string(entEV_SZ_targetnameszTarget6);
    if (!
equal(szClass"func_wall") || equal(szTarget"ignore"))
        return 
PLUGIN_HANDLED;
        
    
ExecuteForward(g_fwGrabEnt_Preg_fwDummyResultident);

    new 
Float:fOrigin[3], iAiming[3], Float:fAiming[3]
    
    
get_user_origin(idiAiming3);
    
IVecFVec(iAimingfAiming);
    
entity_get_vector(entEV_VEC_originfOrigin);

    
g_fOffset1[id] = fOrigin[0] - fAiming[0];
    
g_fOffset2[id] = fOrigin[1] - fAiming[1];
    
g_fOffset3[id] = fOrigin[2] - fAiming[2];
    
    
g_fEntDist[id] = get_user_aiming(identbodypart);
        
    if (
g_fEntMinDist)
    {
        if (
g_fEntDist[id] < g_fEntMinDist)
            
g_fEntDist[id] = g_fEntSetDist;
    }
    else if (
g_fEntMaxDist)
    {
        if (
g_fEntDist[id] > g_fEntMaxDist)
            return 
PLUGIN_HANDLED
    
}

    
set_pev(ent,pev_rendermode,kRenderTransColor)
    
set_pev(ent,pev_rendercolorg_fColor[g_iColor[id]] )
    
set_pev(ent,pev_renderamtg_fRenderAmt[g_iColor[id]] )
        
    
MovingEnt(ent);
    
SetEntMover(entid);
    
g_iOwnedEnt[id] = ent

    
//Checked after object is successfully grabbed
    
if (!g_boolCanBuild && (access(idFLAGS_BUILD) || access(idFLAGS_OVERRIDE)))
    {
        new 
adminauthid[32],adminname[32]
        
get_user_authid (id,adminauthid,31)
        
get_user_name(id,adminname,31)
        
Log("[MOVE] Admin: %s || SteamID: %s moved an entity"adminnameadminauthid)
    }
    
    
client_cmd(id"spk %s"GRAB_START);
    
    
cmdLockBlock(id)
    
ExecuteForward(g_fwGrabEnt_Postg_fwDummyResultident);
    
    return 
PLUGIN_HANDLED
}

public 
cmdStopEnt(id)
{
    if (!
g_iOwnedEnt[id])
        return 
PLUGIN_HANDLED;
        
    new 
ent g_iOwnedEnt[id]
    
    
ExecuteForward(g_fwDropEnt_Preg_fwDummyResultident);
    
    if (
BlockLocker(ent))
    {
        switch(
g_iLockBlocks)
        {
            case 
0:
            {
                
set_pev(ent,pev_rendermode,kRenderTransColor)
                
set_pev(ent,pev_rendercolorFloat:{ LOCKED_COLOR })
                
set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
            case 
1:
            {
                
set_pev(ent,pev_rendermode,kRenderTransColor)
                if(
is_user_admin(id))
                {
                    
set_pev(ent,pev_rendercolor,g_fColor[g_iColor[id]])
                }
                
set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
        }
    }
    else
        
set_pev(ent,pev_rendermode,kRenderNormal)    
    
    
UnsetEntMover(ent);
    
SetLastMover(ent,id);
    
g_iOwnedEnt[id] = 0;
    
UnmovingEnt(ent);
    
    
client_cmd(id"spk %s"GRAB_STOP);
    
    
ExecuteForward(g_fwDropEnt_Postg_fwDummyResultident);
    
    return 
PLUGIN_HANDLED;
}

public 
cmdLockBlock(id)
{
    if (!
g_boolCanBuild && g_iLockBlocks)
    {
        
client_print(idprint_center"%L"LANG_SERVER"FAIL_LOCK");
        return 
PLUGIN_HANDLED;
    }
    
    if (!
access(idFLAGS_LOCK) || (g_isZombie[id] && !access(idFLAGS_OVERRIDE)))
        return 
PLUGIN_HANDLED;
        
    new 
entbodypart
    get_user_aiming 
(id,ent,bodypart)
    
    new 
szTarget[7], szClass[10];
    
entity_get_string(entEV_SZ_targetnameszTarget6);
    
entity_get_string(entEV_SZ_classnameszClass9);
    if (!
ent || !is_valid_ent(ent) || is_user_alive(ent) || ent == g_iEntBarrier || !equal(szClass"func_wall") || equal(szTarget"ignore"))
        return 
PLUGIN_HANDLED;
    
    
ExecuteForward(g_fwLockEnt_Preg_fwDummyResultident);
    
    switch (
g_iLockBlocks)
    {
        case 
0:
        {
            if (!
BlockLocker(ent) && !IsMovingEnt(ent))
            {
                
LockBlock(entid);
                
set_pev(ent,pev_rendermode,kRenderTransColor)
                
set_pev(ent,pev_rendercolor,Float:{LOCKED_COLOR})
                
set_pev(ent,pev_renderamt,Float:{LOCKED_RENDERAMT})
                
client_cmd(id"spk %s"LOCK_OBJECT);
            }
            else if (
BlockLocker(ent))
            {
                
UnlockBlock(ent)
                
set_pev(ent,pev_rendermode,kRenderNormal)
                
client_cmd(id"spk %s"LOCK_OBJECT);
            }
        }
        case 
1:
        {
            if (!
BlockLocker(ent) && !IsMovingEnt(ent))
            {
                if (
g_iOwnedEntities[id]<g_iLockMax || !g_iLockMax)
                {
                    
LockBlock(entid)
                    
g_iOwnedEntities[id]++
                    
set_pev(ent,pev_rendermode,kRenderTransColor)
                    if(
is_user_admin(id))
                    {
                        
set_pev(ent,pev_rendercolor,g_fColor[g_iColor[id]])
                    }
                    
set_pev(ent,pev_renderamt,Float:{LOCKED_RENDERAMT})
                    
                    
client_print(idprint_center"%L [ %d / %d ]"LANG_SERVER"BUILD_CLAIM_NEW"g_iOwnedEntities[id], g_iLockMax)
                    
client_cmd(id"spk %s"LOCK_OBJECT);
                }
                else if (
g_iOwnedEntities[id]>=g_iLockMax)
                {
                    
client_print(idprint_center"%L"LANG_SERVER"BUILD_CLAIM_MAX"g_iLockMax)
                    
client_cmd(id"spk %s"LOCK_FAIL);
                }
            }
            else if (
BlockLocker(ent))
            {
                if (
BlockLocker(ent) == id || access(idFLAGS_OVERRIDE))
                {
                    
g_iOwnedEntities[BlockLocker(ent)]--
                    
set_pev(ent,pev_rendermode,kRenderNormal)
                    
                    
client_print(BlockLocker(ent), print_center"%L [ %d / %d ]"LANG_SERVER"BUILD_CLAIM_LOST"g_iOwnedEntities[BlockLocker(ent)], g_iLockMax)
                    
                    
UnlockBlock(ent)
                    
client_cmd(id"spk %s"LOCK_OBJECT);
                }
                else
                {
                    
client_print(idprint_center"%L"LANG_SERVER"BUILD_CLAIM_FAIL")
                    
client_cmd(id"spk %s"LOCK_FAIL);
                }
            }    
        }
    }
    
    
ExecuteForward(g_fwLockEnt_Postg_fwDummyResultident);
    
    return 
PLUGIN_HANDLED

And please, when the player wants to take the piece used by another, to display a message like "This piece is already used"

Edit: ShowSyncHudMsg(id, g_HudSync, "This object is already used");
Avalon1300 is offline
Send a message via AIM to Avalon1300 Send a message via Yahoo to Avalon1300 Send a message via Skype™ to Avalon1300
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 12:47.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode