View Single Post
Electr000999
Senior Member
Join Date: Aug 2011
Old 04-21-2015 , 11:07   Re: SourceMod 1.7.1 Released
#15

I am found bug in checks with new view_as.. and enum i writed example for repeating mistakes.., or it features new syntax?

Code:
#include <sourcemod>

#pragma	semicolon 1
#pragma newdecls required

enum TestType
{
	TYPE_ONE = 1,	TYPE_TWO,		TYPE_THREE
}

public void OnPluginStart()
{
	RegConsoleCmd ( "sm_test"					, CmdTest, "");
}

public Action CmdTest(int client, int args)
{
	int iVar = 3;
	
	// WORKS CORRECT
	if(iVar != 3)
	{
		PrintToChatAll("[test 1] %i != 3", iVar);
	}
	else
	{
		PrintToChatAll("[test 1] %i == 3", iVar);
	}
	
	// WORKS CORRECT
	if(!(iVar == 2 || iVar == 3))
	{
		PrintToChatAll("[test 2] %i != 2 or 3", iVar);
	}
	
	// OLD variant view_as work fine
	if(!(iVar == _:TYPE_TWO || iVar == _:TYPE_THREE))
	{
		PrintToChatAll("[test 3] %i != %i or %i", iVar, TYPE_TWO, TYPE_THREE);
	}
	
	// BROKEN
	if(!(iVar == view_as<int>TYPE_TWO || iVar == view_as<int>TYPE_THREE))
	{
		PrintToChatAll("[test 4] %i != %i or %i - !BUG!", iVar, TYPE_TWO, TYPE_THREE);
	}
	
	// WORKS CORRECT if i am place check in ()
	if(!((iVar == view_as<int>TYPE_TWO) || (iVar == view_as<int>TYPE_THREE)))
	{
		PrintToChatAll("[test 5] %i != %i or %i", iVar, TYPE_TWO, TYPE_THREE);
	}
}
Attached Files
File Type: sp Get Plugin or Get Source (test_checks.sp - 1018 views - 1.1 KB)

Last edited by Electr000999; 04-21-2015 at 11:16.
Electr000999 is offline
Send a message via Skype™ to Electr000999