Raised This Month: $51 Target: $400
 12% 

Lysis: An experimental .smx decompiler


Post New Thread Reply   
 
Thread Tools Display Modes
sahapro33
Member
Join Date: Mar 2014
Old 03-24-2016 , 09:33   Re: Lysis: An experimental .smx decompiler
Reply With Quote #291

You can?
sahapro33 is offline
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 03-24-2016 , 10:44   Re: Lysis: An experimental .smx decompiler
Reply With Quote #292

Quote:
Originally Posted by sahapro33 View Post
Hi.
Decompiled.)
This constant battle just keep patches to this decompiler coming. Where do you get those binaries?

PHP Code:
new MaxClients;
new 
NULL_STRING;
new 
NULL_VECTOR;
public 
Extension:__ext_core =
{
    
name "Core",
    
file "core",
    
autoload 0,
    
required 0,
};
public 
Extension:__ext_smsock =
{
    
name "Socket",
    
file "socket.ext",
    
autoload 1,
    
required 1,
};
public 
PlVers:__version =
{
    
version 5,
    
filevers "1.6.4-dev+4615",
    
date "03/23/2016",
    
time "21:55:05"
};
public 
Plugin:myinfo =
{
    
name "",
    
description "",
    
author "KK",
    
version "0.00",
    
url ""
};
new 
g_var44c;
public 
OnGameFrame()
{
    if (
g_var44c)
    {
        
g_var44c += 1;
    }
    else
    {
        
g_var44c -= 1;
    }
    return 
0;
}

public 
__ext_core_SetNTVOptional()
{
    
MarkNativeAsOptional(104);
    
MarkNativeAsOptional(124);
    
MarkNativeAsOptional(140);
    
MarkNativeAsOptional(160);
    
MarkNativeAsOptional(184);
    
MarkNativeAsOptional(196);
    
MarkNativeAsOptional(208);
    
MarkNativeAsOptional(220);
    
MarkNativeAsOptional(236);
    
MarkNativeAsOptional(248);
    
MarkNativeAsOptional(260);
    
MarkNativeAsOptional(276);
    
MarkNativeAsOptional(292);
    
MarkNativeAsOptional(308);
    
MarkNativeAsOptional(324);
    
MarkNativeAsOptional(340);
    
MarkNativeAsOptional(356);
    
MarkNativeAsOptional(376);
    
MarkNativeAsOptional(392);
    
MarkNativeAsOptional(404);
    
MarkNativeAsOptional(416);
    
MarkNativeAsOptional(428);
    
MarkNativeAsOptional(440);
    
MarkNativeAsOptional(452);
    
MarkNativeAsOptional(464);
    
MarkNativeAsOptional(476);
    
MarkNativeAsOptional(492);
    
MarkNativeAsOptional(508);
    
MarkNativeAsOptional(520);
    
MarkNativeAsOptional(532);
    
MarkNativeAsOptional(548);
    
MarkNativeAsOptional(564);
    
MarkNativeAsOptional(580);
    
MarkNativeAsOptional(600);
    
MarkNativeAsOptional(612);
    
MarkNativeAsOptional(624);
    
MarkNativeAsOptional(636);
    
MarkNativeAsOptional(652);
    
MarkNativeAsOptional(664);
    
MarkNativeAsOptional(676);
    
MarkNativeAsOptional(692);
    
MarkNativeAsOptional(708);
    
MarkNativeAsOptional(732);
    
MarkNativeAsOptional(744);
    
MarkNativeAsOptional(756);
    
MarkNativeAsOptional(768);
    
MarkNativeAsOptional(780);
    
MarkNativeAsOptional(792);
    
MarkNativeAsOptional(804);
    
MarkNativeAsOptional(816);
    
MarkNativeAsOptional(832);
    
MarkNativeAsOptional(844);
    
MarkNativeAsOptional(856);
    
MarkNativeAsOptional(868);
    
MarkNativeAsOptional(880);
    
MarkNativeAsOptional(892);
    
MarkNativeAsOptional(904);
    
MarkNativeAsOptional(916);
    
MarkNativeAsOptional(932);
    
MarkNativeAsOptional(960);
    
MarkNativeAsOptional(976);
    
MarkNativeAsOptional(1000);
    
VerifyCoreVersion();
    return 
0;

__________________
Peace-Maker is offline
sahapro33
Member
Join Date: Mar 2014
Old 03-24-2016 , 14:53   Re: Lysis: An experimental .smx decompiler
Reply With Quote #293

Quote:
Originally Posted by Peace-Maker View Post
This constant battle just keep patches to this decompiler coming. Where do you get those binaries?
I am using modified compiler .
sahapro33 is offline
max13tum
Junior Member
Join Date: Mar 2009
Location: Russia,Tyumen
Old 03-26-2016 , 10:29   Re: Lysis: An experimental .smx decompiler
Reply With Quote #294

I modified lysis to works with AmxModX plugins (.amxx) with debug information. And try support plugins without debug using code from Wraith Disassembler. Current version work very unstable and support limited plugins. Maybe someone wants to improve it.

Code: https://bitbucket.org/quckly/lysis
Use: Compile and copy amxx_include and opcodes.txt to bin folder.
max13tum is offline
Send a message via ICQ to max13tum Send a message via Skype™ to max13tum
sahapro33
Member
Join Date: Mar 2014
Old 03-29-2016 , 07:32   Re: Lysis: An experimental .smx decompiler
Reply With Quote #295

Hello, what has changed in the web decompiler from - 28.03.2016 ?

Last edited by sahapro33; 03-29-2016 at 07:32.
sahapro33 is offline
WildCard65
Veteran Member
Join Date: Aug 2013
Location: Canada
Old 03-29-2016 , 10:08   Re: Lysis: An experimental .smx decompiler
Reply With Quote #296

Quote:
Originally Posted by sahapro33 View Post
Hello, what has changed in the web decompiler from - 28.03.2016 ?
Nothing: https://github.com/peace-maker/lysis...commits/master as there really isn't anything that needs fixing in lysis(if there is, it hasn't been given light yet).

Last edited by WildCard65; 03-29-2016 at 10:08.
WildCard65 is offline
sahapro33
Member
Join Date: Mar 2014
Old 03-30-2016 , 13:35   Re: Lysis: An experimental .smx decompiler
Reply With Quote #297

Thanks!
sahapro33 is offline
zz87
New Member
Join Date: Mar 2016
Old 03-31-2016 , 20:14   Re: Lysis: An experimental .smx decompiler
Reply With Quote #298

hi decomp pls always error
Attached Files
File Type: smx ffmenu(1).smx (11.6 KB, 138 views)

Last edited by zz87; 03-31-2016 at 20:15.
zz87 is offline
Merudo
Senior Member
Join Date: Feb 2016
Old 03-31-2016 , 23:09   Re: Lysis: An experimental .smx decompiler
Reply With Quote #299

You need [INC] More Colors for it to compile.
__________________
Merudo is offline
WildCard65
Veteran Member
Join Date: Aug 2013
Location: Canada
Old 04-01-2016 , 07:58   Re: Lysis: An experimental .smx decompiler
Reply With Quote #300

Quote:
Originally Posted by Merudo View Post
You need [INC] More Colors for it to compile.
UGH where exactly did someone ask for "compile help" in a thread about a decompiler.

Quote:
Originally Posted by zz87 View Post
hi decomp pls always error
PHP Code:
public PlVers:__version =
{
    
version 5,
    
filevers "1.8.0.5843",
    
date "03/09/2016",
    
time "22:05:49"
};
new 
Float:NULL_VECTOR[3];
new 
String:NULL_STRING[4];
public 
Extension:__ext_core =
{
    
name "Core",
    
file "core",
    
autoload 0,
    
required 0,
};
new 
MaxClients;
public 
Extension:__ext_sdktools =
{
    
name "SDKTools",
    
file "sdktools.ext",
    
autoload 1,
    
required 1,
};
public 
Extension:__ext_cstrike =
{
    
name "cstrike",
    
file "games/game.cstrike.ext",
    
autoload 0,
    
required 1,
};
new 
String:CTag[12][0];
new 
String:CTagCode[12][16] =
{
    
"\x01",
    
"\x02",
    
"\x04",
    
"\x03",
    
"\x03",
    
"\x03",
    
"\x05",
    
"",
    
"\x07",
    
"\x03",
    
"\x08",
    
"    "
};
new 
bool:CTagReqSayText2[12] =
{
    
000111000000
};
new 
bool:CEventIsHooked;
new 
bool:CSkipList[66];
new 
bool:CProfile_Colors[12] =
{
    
101000000000
};
new 
CProfile_TeamIndex[10] =
{
    -
1, ...
};
new 
bool:CProfile_SayText2;
new 
Handle:sm_show_activity 1635151433;
new 
Handle:CountdownTimer;
new 
ConVar:g_cvFriendlyFire;
new 
Menu:g_PrimaryWeapon;
new 
Menu:g_SecundaryWeapon;
new 
bool:CountdownActive;
new 
bool:ffAktif;
public 
Plugin:myinfo =
{
    
name "FFMENU",
    
description "dost atesi",
    
author "EmreBulut",
    
version "1.0",
    
url "emrebulut"
};
public 
__ext_core_SetNTVOptional()
{
    
MarkNativeAsOptional("GetFeatureStatus");
    
MarkNativeAsOptional("RequireFeature");
    
MarkNativeAsOptional("AddCommandListener");
    
MarkNativeAsOptional("RemoveCommandListener");
    
MarkNativeAsOptional("BfWriteBool");
    
MarkNativeAsOptional("BfWriteByte");
    
MarkNativeAsOptional("BfWriteChar");
    
MarkNativeAsOptional("BfWriteShort");
    
MarkNativeAsOptional("BfWriteWord");
    
MarkNativeAsOptional("BfWriteNum");
    
MarkNativeAsOptional("BfWriteFloat");
    
MarkNativeAsOptional("BfWriteString");
    
MarkNativeAsOptional("BfWriteEntity");
    
MarkNativeAsOptional("BfWriteAngle");
    
MarkNativeAsOptional("BfWriteCoord");
    
MarkNativeAsOptional("BfWriteVecCoord");
    
MarkNativeAsOptional("BfWriteVecNormal");
    
MarkNativeAsOptional("BfWriteAngles");
    
MarkNativeAsOptional("BfReadBool");
    
MarkNativeAsOptional("BfReadByte");
    
MarkNativeAsOptional("BfReadChar");
    
MarkNativeAsOptional("BfReadShort");
    
MarkNativeAsOptional("BfReadWord");
    
MarkNativeAsOptional("BfReadNum");
    
MarkNativeAsOptional("BfReadFloat");
    
MarkNativeAsOptional("BfReadString");
    
MarkNativeAsOptional("BfReadEntity");
    
MarkNativeAsOptional("BfReadAngle");
    
MarkNativeAsOptional("BfReadCoord");
    
MarkNativeAsOptional("BfReadVecCoord");
    
MarkNativeAsOptional("BfReadVecNormal");
    
MarkNativeAsOptional("BfReadAngles");
    
MarkNativeAsOptional("BfGetNumBytesLeft");
    
MarkNativeAsOptional("BfWrite.WriteBool");
    
MarkNativeAsOptional("BfWrite.WriteByte");
    
MarkNativeAsOptional("BfWrite.WriteChar");
    
MarkNativeAsOptional("BfWrite.WriteShort");
    
MarkNativeAsOptional("BfWrite.WriteWord");
    
MarkNativeAsOptional("BfWrite.WriteNum");
    
MarkNativeAsOptional("BfWrite.WriteFloat");
    
MarkNativeAsOptional("BfWrite.WriteString");
    
MarkNativeAsOptional("BfWrite.WriteEntity");
    
MarkNativeAsOptional("BfWrite.WriteAngle");
    
MarkNativeAsOptional("BfWrite.WriteCoord");
    
MarkNativeAsOptional("BfWrite.WriteVecCoord");
    
MarkNativeAsOptional("BfWrite.WriteVecNormal");
    
MarkNativeAsOptional("BfWrite.WriteAngles");
    
MarkNativeAsOptional("BfRead.ReadBool");
    
MarkNativeAsOptional("BfRead.ReadByte");
    
MarkNativeAsOptional("BfRead.ReadChar");
    
MarkNativeAsOptional("BfRead.ReadShort");
    
MarkNativeAsOptional("BfRead.ReadWord");
    
MarkNativeAsOptional("BfRead.ReadNum");
    
MarkNativeAsOptional("BfRead.ReadFloat");
    
MarkNativeAsOptional("BfRead.ReadString");
    
MarkNativeAsOptional("BfRead.ReadEntity");
    
MarkNativeAsOptional("BfRead.ReadAngle");
    
MarkNativeAsOptional("BfRead.ReadCoord");
    
MarkNativeAsOptional("BfRead.ReadVecCoord");
    
MarkNativeAsOptional("BfRead.ReadVecNormal");
    
MarkNativeAsOptional("BfRead.ReadAngles");
    
MarkNativeAsOptional("BfRead.GetNumBytesLeft");
    
MarkNativeAsOptional("PbReadInt");
    
MarkNativeAsOptional("PbReadFloat");
    
MarkNativeAsOptional("PbReadBool");
    
MarkNativeAsOptional("PbReadString");
    
MarkNativeAsOptional("PbReadColor");
    
MarkNativeAsOptional("PbReadAngle");
    
MarkNativeAsOptional("PbReadVector");
    
MarkNativeAsOptional("PbReadVector2D");
    
MarkNativeAsOptional("PbGetRepeatedFieldCount");
    
MarkNativeAsOptional("PbSetInt");
    
MarkNativeAsOptional("PbSetFloat");
    
MarkNativeAsOptional("PbSetBool");
    
MarkNativeAsOptional("PbSetString");
    
MarkNativeAsOptional("PbSetColor");
    
MarkNativeAsOptional("PbSetAngle");
    
MarkNativeAsOptional("PbSetVector");
    
MarkNativeAsOptional("PbSetVector2D");
    
MarkNativeAsOptional("PbAddInt");
    
MarkNativeAsOptional("PbAddFloat");
    
MarkNativeAsOptional("PbAddBool");
    
MarkNativeAsOptional("PbAddString");
    
MarkNativeAsOptional("PbAddColor");
    
MarkNativeAsOptional("PbAddAngle");
    
MarkNativeAsOptional("PbAddVector");
    
MarkNativeAsOptional("PbAddVector2D");
    
MarkNativeAsOptional("PbRemoveRepeatedFieldValue");
    
MarkNativeAsOptional("PbReadMessage");
    
MarkNativeAsOptional("PbReadRepeatedMessage");
    
MarkNativeAsOptional("PbAddMessage");
    
MarkNativeAsOptional("Protobuf.ReadInt");
    
MarkNativeAsOptional("Protobuf.ReadFloat");
    
MarkNativeAsOptional("Protobuf.ReadBool");
    
MarkNativeAsOptional("Protobuf.ReadString");
    
MarkNativeAsOptional("Protobuf.ReadColor");
    
MarkNativeAsOptional("Protobuf.ReadAngle");
    
MarkNativeAsOptional("Protobuf.ReadVector");
    
MarkNativeAsOptional("Protobuf.ReadVector2D");
    
MarkNativeAsOptional("Protobuf.GetRepeatedFieldCount");
    
MarkNativeAsOptional("Protobuf.SetInt");
    
MarkNativeAsOptional("Protobuf.SetFloat");
    
MarkNativeAsOptional("Protobuf.SetBool");
    
MarkNativeAsOptional("Protobuf.SetString");
    
MarkNativeAsOptional("Protobuf.SetColor");
    
MarkNativeAsOptional("Protobuf.SetAngle");
    
MarkNativeAsOptional("Protobuf.SetVector");
    
MarkNativeAsOptional("Protobuf.SetVector2D");
    
MarkNativeAsOptional("Protobuf.AddInt");
    
MarkNativeAsOptional("Protobuf.AddFloat");
    
MarkNativeAsOptional("Protobuf.AddBool");
    
MarkNativeAsOptional("Protobuf.AddString");
    
MarkNativeAsOptional("Protobuf.AddColor");
    
MarkNativeAsOptional("Protobuf.AddAngle");
    
MarkNativeAsOptional("Protobuf.AddVector");
    
MarkNativeAsOptional("Protobuf.AddVector2D");
    
MarkNativeAsOptional("Protobuf.RemoveRepeatedFieldValue");
    
MarkNativeAsOptional("Protobuf.ReadMessage");
    
MarkNativeAsOptional("Protobuf.ReadRepeatedMessage");
    
MarkNativeAsOptional("Protobuf.AddMessage");
    
VerifyCoreVersion();
    return 
0;
}

public 
.2920.StrEqual(String:str1[], String:str2[], bool:caseSensitive)
{
    return 
strcmp(str1str2caseSensitive) == 0;
}

public 
.2920.StrEqual(String:str1[], String:str2[], bool:caseSensitive)
{
    return 
strcmp(str1str2caseSensitive) == 0;
}

public 
.2972.StartMessageOne(String:msgname[], clientflags)
{
    new 
players[1];
    
players[0] = client;
    return 
StartMessage(msgnameplayers1flags);
}

public 
.2972.StartMessageOne(String:msgname[], clientflags)
{
    new 
players[1];
    
players[0] = client;
    return 
StartMessage(msgnameplayers1flags);
}

public 
.3096.PrintHintTextToAll(String:format[])
{
    
decl String:buffer[256];
    new 
1;
    while (
<= MaxClients)
    {
        if (
IsClientInGame(i))
        {
            
SetGlobalTransTarget(i);
            
VFormat(buffer254format2);
            
PrintHintText(i"%s"buffer);
        }
        
i++;
    }
    return 
0;
}

public 
.3096.PrintHintTextToAll(String:format[])
{
    
decl String:buffer[256];
    new 
1;
    while (
<= MaxClients)
    {
        if (
IsClientInGame(i))
        {
            
SetGlobalTransTarget(i);
            
VFormat(buffer254format2);
            
PrintHintText(i"%s"buffer);
        }
        
i++;
    }
    return 
0;
}

public 
.3348.CPrintToChat(clientString:szMessage[])
{
    new 
var1;
    if (
client <= || client MaxClients)
    {
        
ThrowError(sm_show_activityclient);
    }
    if (!
IsClientInGame(client))
    {
        
ThrowError("Client %d is not in game"client);
    }
    new 
var2;
    
decl String:szBuffer[252];
    
SetGlobalTransTarget(client);
    
Format(szBuffer250"\x01%s"szMessage);
    
VFormat(var2250szBuffer3);
    
var2 .4276.CFormat(var2250, -1);
    if (
var2 == -1)
    {
        
PrintToChat(client"%s"var2);
    }
    else
    {
        
.6120.CSayText2(clientvar2var2);
    }
    return 
0;
}

public 
.3348.CPrintToChat(clientString:szMessage[])
{
    new 
var1;
    if (
client <= || client MaxClients)
    {
        
ThrowError(sm_show_activityclient);
    }
    if (!
IsClientInGame(client))
    {
        
ThrowError("Client %d is not in game"client);
    }
    new 
var2;
    
decl String:szBuffer[252];
    
SetGlobalTransTarget(client);
    
Format(szBuffer250"\x01%s"szMessage);
    
VFormat(var2250szBuffer3);
    
var2 .4276.CFormat(var2250, -1);
    if (
var2 == -1)
    {
        
PrintToChat(client"%s"var2);
    }
    else
    {
        
.6120.CSayText2(clientvar2var2);
    }
    return 
0;
}

public 
.3876.CPrintToChatAll(String:szMessage[])
{
    
decl String:szBuffer[252];
    new 
1;
    while (
<= MaxClients)
    {
        new 
var1;
        if (
IsClientInGame(i) && !IsFakeClient(i) && !CSkipList[i])
        {
            
SetGlobalTransTarget(i);
            
VFormat(szBuffer250szMessage2);
            
.3348.CPrintToChat(i"%s"szBuffer);
        }
        
CSkipList[i] = 0;
        
i++;
    }
    return 
0;
}

public 
.3876.CPrintToChatAll(String:szMessage[])
{
    
decl String:szBuffer[252];
    new 
1;
    while (
<= MaxClients)
    {
        new 
var1;
        if (
IsClientInGame(i) && !IsFakeClient(i) && !CSkipList[i])
        {
            
SetGlobalTransTarget(i);
            
VFormat(szBuffer250szMessage2);
            
.3348.CPrintToChat(i"%s"szBuffer);
        }
        
CSkipList[i] = 0;
        
i++;
    }
    return 
0;
}

public 
.4276.CFormat(String:szMessage[], maxlengthauthor)
{
    
decl String:szGameName[32];
    
GetGameFolderName(szGameName30);
    if (!
CEventIsHooked)
    {
        
.6684.CSetupProfile();
        
HookEvent("server_spawn"CEvent_MapStartEventHookMode:2);
        
CEventIsHooked true;
    }
    new 
iRandomPlayer = -1;
    if (
.2920.StrEqual(szGameName"csgo"false))
    {
        
Format(szMessagemaxlength" \x01 \x01%s"szMessage);
    }
    if (
author != -1)
    {
        if (
CProfile_SayText2)
        {
            
ReplaceString(szMessagemaxlength"{teamcolor}""\x03"false);
            
iRandomPlayer author;
        }
        else
        {
            
ReplaceString(szMessagemaxlength"{teamcolor}"CTagCode[2], false);
        }
    }
    else
    {
        
ReplaceString(szMessagemaxlength"{teamcolor}"""false);
    }
    new 
i;
    while (
12)
    {
        if (!(
StrContains(szMessageCTag[i], false) == -1))
        {
            if (!
CProfile_Colors[i])
            {
                
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[2], false);
            }
            else
            {
                if (!
CTagReqSayText2[i])
                {
                    
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[i], false);
                }
                if (!
CProfile_SayText2)
                {
                    
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[2], false);
                }
                if (
iRandomPlayer == -1)
                {
                    
iRandomPlayer .5868.CFindRandomPlayerByTeam(CProfile_TeamIndex[i]);
                    if (
iRandomPlayer == -2)
                    {
                        
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[2], false);
                    }
                    else
                    {
                        
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[i], false);
                    }
                }
                
ThrowError("Using two team colors in one message is not allowed");
            }
        }
        
i++;
    }
    return 
iRandomPlayer;
}

public 
.4276.CFormat(String:szMessage[], maxlengthauthor)
{
    
decl String:szGameName[32];
    
GetGameFolderName(szGameName30);
    if (!
CEventIsHooked)
    {
        
.6684.CSetupProfile();
        
HookEvent("server_spawn"CEvent_MapStartEventHookMode:2);
        
CEventIsHooked true;
    }
    new 
iRandomPlayer = -1;
    if (
.2920.StrEqual(szGameName"csgo"false))
    {
        
Format(szMessagemaxlength" \x01 \x01%s"szMessage);
    }
    if (
author != -1)
    {
        if (
CProfile_SayText2)
        {
            
ReplaceString(szMessagemaxlength"{teamcolor}""\x03"false);
            
iRandomPlayer author;
        }
        else
        {
            
ReplaceString(szMessagemaxlength"{teamcolor}"CTagCode[2], false);
        }
    }
    else
    {
        
ReplaceString(szMessagemaxlength"{teamcolor}"""false);
    }
    new 
i;
    while (
12)
    {
        if (!(
StrContains(szMessageCTag[i], false) == -1))
        {
            if (!
CProfile_Colors[i])
            {
                
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[2], false);
            }
            else
            {
                if (!
CTagReqSayText2[i])
                {
                    
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[i], false);
                }
                if (!
CProfile_SayText2)
                {
                    
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[2], false);
                }
                if (
iRandomPlayer == -1)
                {
                    
iRandomPlayer .5868.CFindRandomPlayerByTeam(CProfile_TeamIndex[i]);
                    if (
iRandomPlayer == -2)
                    {
                        
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[2], false);
                    }
                    else
                    {
                        
ReplaceString(szMessagemaxlengthCTag[i], CTagCode[i], false);
                    }
                }
                
ThrowError("Using two team colors in one message is not allowed");
            }
        }
        
i++;
    }
    return 
iRandomPlayer;
}

public 
.5868.CFindRandomPlayerByTeam(color_team)
{
    if (
color_team)
    {
        new 
1;
        while (
<= MaxClients)
        {
            new 
var1;
            if (
IsClientInGame(i) && color_team == GetClientTeam(i))
            {
                return 
i;
            }
            
i++;
        }
        return -
2;
    }
    return 
0;
}

public 
.5868.CFindRandomPlayerByTeam(color_team)
{
    if (
color_team)
    {
        new 
1;
        while (
<= MaxClients)
        {
            new 
var1;
            if (
IsClientInGame(i) && color_team == GetClientTeam(i))
            {
                return 
i;
            }
            
i++;
        }
        return -
2;
    }
    return 
0;
}

public 
.6120.CSayText2(clientauthorString:szMessage[])
{
    new 
Handle:hBuffer .2972.StartMessageOne("SayText2"client132);
    new 
var1;
    if (
GetFeatureStatus(FeatureType:0"GetUserMessageType") && GetUserMessageType() == 1)
    {
        
PbSetInt(hBuffer"ent_idx"author, -1);
        
PbSetBool(hBuffer"chat"true, -1);
        
PbSetString(hBuffer"msg_name"szMessage, -1);
        
PbAddString(hBuffer"params""");
        
PbAddString(hBuffer"params""");
        
PbAddString(hBuffer"params""");
        
PbAddString(hBuffer"params""");
    }
    else
    {
        
BfWriteByte(hBufferauthor);
        
BfWriteByte(hBuffer1);
        
BfWriteString(hBufferszMessage);
    }
    
EndMessage();
    return 
0;
}

public 
.6120.CSayText2(clientauthorString:szMessage[])
{
    new 
Handle:hBuffer .2972.StartMessageOne("SayText2"client132);
    new 
var1;
    if (
GetFeatureStatus(FeatureType:0"GetUserMessageType") && GetUserMessageType() == 1)
    {
        
PbSetInt(hBuffer"ent_idx"author, -1);
        
PbSetBool(hBuffer"chat"true, -1);
        
PbSetString(hBuffer"msg_name"szMessage, -1);
        
PbAddString(hBuffer"params""");
        
PbAddString(hBuffer"params""");
        
PbAddString(hBuffer"params""");
        
PbAddString(hBuffer"params""");
    }
    else
    {
        
BfWriteByte(hBufferauthor);
        
BfWriteByte(hBuffer1);
        
BfWriteString(hBufferszMessage);
    }
    
EndMessage();
    return 
0;
}

public 
.6684.CSetupProfile()
{
    
decl String:szGameName[32];
    
GetGameFolderName(szGameName30);
    if (
.2920.StrEqual(szGameName"cstrike"false))
    {
        
CProfile_Colors[3] = 1;
        
CProfile_Colors[4] = 1;
        
CProfile_Colors[5] = 1;
        
CProfile_Colors[6] = 1;
        
CProfile_TeamIndex[3] = 0;
        
CProfile_TeamIndex[4] = 2;
        
CProfile_TeamIndex[5] = 3;
        
CProfile_SayText2 true;
    }
    else
    {
        if (
.2920.StrEqual(szGameName"csgo"false))
        {
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_Colors[6] = 1;
            
CProfile_Colors[1] = 1;
            
CProfile_Colors[7] = 1;
            
CProfile_Colors[8] = 1;
            
CProfile_Colors[9] = 1;
            
CProfile_Colors[10] = 1;
            
CProfile_Colors[11] = 1;
            
CProfile_TeamIndex[4] = 2;
            
CProfile_TeamIndex[5] = 3;
            
CProfile_SayText2 true;
        }
        if (
.2920.StrEqual(szGameName"tf"false))
        {
            
CProfile_Colors[3] = 1;
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_Colors[6] = 1;
            
CProfile_TeamIndex[3] = 0;
            
CProfile_TeamIndex[4] = 2;
            
CProfile_TeamIndex[5] = 3;
            
CProfile_SayText2 true;
        }
        new 
var1;
        if (
.2920.StrEqual(szGameName"left4dead"false) || .2920.StrEqual(szGameName"left4dead2"false))
        {
            
CProfile_Colors[3] = 1;
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_Colors[6] = 1;
            
CProfile_TeamIndex[3] = 0;
            
CProfile_TeamIndex[4] = 3;
            
CProfile_TeamIndex[5] = 2;
            
CProfile_SayText2 true;
        }
        if (
.2920.StrEqual(szGameName"hl2mp"false))
        {
            if (
GetConVarBool(FindConVar("mp_teamplay")))
            {
                
CProfile_Colors[4] = 1;
                
CProfile_Colors[5] = 1;
                
CProfile_Colors[6] = 1;
                
CProfile_TeamIndex[4] = 3;
                
CProfile_TeamIndex[5] = 2;
                
CProfile_SayText2 true;
            }
            else
            {
                
CProfile_SayText2 false;
                
CProfile_Colors[6] = 1;
            }
        }
        if (
.2920.StrEqual(szGameName"dod"false))
        {
            
CProfile_Colors[6] = 1;
            
CProfile_SayText2 false;
        }
        if (
GetUserMessageId("SayText2") == -1)
        {
            
CProfile_SayText2 false;
        }
        
CProfile_Colors[4] = 1;
        
CProfile_Colors[5] = 1;
        
CProfile_TeamIndex[4] = 2;
        
CProfile_TeamIndex[5] = 3;
        
CProfile_SayText2 true;
    }
    return 
0;
}

public 
.6684.CSetupProfile()
{
    
decl String:szGameName[32];
    
GetGameFolderName(szGameName30);
    if (
.2920.StrEqual(szGameName"cstrike"false))
    {
        
CProfile_Colors[3] = 1;
        
CProfile_Colors[4] = 1;
        
CProfile_Colors[5] = 1;
        
CProfile_Colors[6] = 1;
        
CProfile_TeamIndex[3] = 0;
        
CProfile_TeamIndex[4] = 2;
        
CProfile_TeamIndex[5] = 3;
        
CProfile_SayText2 true;
    }
    else
    {
        if (
.2920.StrEqual(szGameName"csgo"false))
        {
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_Colors[6] = 1;
            
CProfile_Colors[1] = 1;
            
CProfile_Colors[7] = 1;
            
CProfile_Colors[8] = 1;
            
CProfile_Colors[9] = 1;
            
CProfile_Colors[10] = 1;
            
CProfile_Colors[11] = 1;
            
CProfile_TeamIndex[4] = 2;
            
CProfile_TeamIndex[5] = 3;
            
CProfile_SayText2 true;
        }
        if (
.2920.StrEqual(szGameName"tf"false))
        {
            
CProfile_Colors[3] = 1;
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_Colors[6] = 1;
            
CProfile_TeamIndex[3] = 0;
            
CProfile_TeamIndex[4] = 2;
            
CProfile_TeamIndex[5] = 3;
            
CProfile_SayText2 true;
        }
        new 
var1;
        if (
.2920.StrEqual(szGameName"left4dead"false) || .2920.StrEqual(szGameName"left4dead2"false))
        {
            
CProfile_Colors[3] = 1;
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_Colors[6] = 1;
            
CProfile_TeamIndex[3] = 0;
            
CProfile_TeamIndex[4] = 3;
            
CProfile_TeamIndex[5] = 2;
            
CProfile_SayText2 true;
        }
        if (
.2920.StrEqual(szGameName"hl2mp"false))
        {
            if (
GetConVarBool(FindConVar("mp_teamplay")))
            {
                
CProfile_Colors[4] = 1;
                
CProfile_Colors[5] = 1;
                
CProfile_Colors[6] = 1;
                
CProfile_TeamIndex[4] = 3;
                
CProfile_TeamIndex[5] = 2;
                
CProfile_SayText2 true;
            }
            else
            {
                
CProfile_SayText2 false;
                
CProfile_Colors[6] = 1;
            }
        }
        if (
.2920.StrEqual(szGameName"dod"false))
        {
            
CProfile_Colors[6] = 1;
            
CProfile_SayText2 false;
        }
        if (
GetUserMessageId("SayText2") == -1)
        {
            
CProfile_SayText2 false;
        }
        
CProfile_Colors[4] = 1;
        
CProfile_Colors[5] = 1;
        
CProfile_TeamIndex[4] = 2;
        
CProfile_TeamIndex[5] = 3;
        
CProfile_SayText2 true;
    }
    return 
0;
}

public 
Action:CEvent_MapStart(Handle:eventString:name[], bool:dontBroadcast)
{
    
.6684.CSetupProfile();
    new 
1;
    while (
<= MaxClients)
    {
        
CSkipList[i] = 0;
        
i++;
    }
    return 
Action:0;
}

public 
void:OnPluginStart()
{
    
RegAdminCmd("sm_ffmenu"calistir128""""0);
    
HookEvent("round_end"OnRoundEndEventHookMode:1);
    
ServerCommand("mp_solid_teammates 0");
    
g_cvFriendlyFire FindConVar("mp_teammates_are_enemies");
    return 
void:0;
}

public 
void:OnMapStart()
{
    
g_PrimaryWeapon .13228.BuildPrimaryWeaponMenu();
    
g_SecundaryWeapon .14016.BuildSecundaryWeaponMenu();
    return 
void:0;
}

public 
void:OnMapEnd()
{
    if (
g_PrimaryWeapon)
    {
        
CloseHandle(g_PrimaryWeapon);
        
g_PrimaryWeapon MissingTAG:0;
        
g_PrimaryWeapon MissingTAG:0;
    }
    if (
g_SecundaryWeapon)
    {
        
CloseHandle(g_SecundaryWeapon);
        
g_SecundaryWeapon MissingTAG:0;
        
g_SecundaryWeapon MissingTAG:0;
    }
    return 
void:0;
}

public 
Action:OnRoundEnd(Handle:eventString:name[], bool:dontBroadcast)
{
    new 
var1;
    if (
ffAktif || CountdownActive)
    {
        
CloseHandle(CountdownTimer);
        
CountdownTimer MissingTAG:0;
        
ConVar.IntValue.set(g_cvFriendlyFire0);
        
ffAktif false;
        
CountdownActive false;
        
ServerCommand("sm_cvar mp_teammates_are_enemies 0");
    }
    return 
Action:0;
}

public 
Action:calistir(clientargs)
{
    new 
maxClients GetMaxClients();
    new 
1;
    while (
<= maxClients)
    {
        new 
var1;
        if (
IsClientInGame(i) && IsPlayerAlive(i) && !IsFakeClient(i))
        {
            
Menu.Display(g_PrimaryWeaponi0);
        }
        
i++;
    }
    new 
Handle:menu CreateMenu(MenuDevamMenuAction:28);
    
SetMenuTitle(menu"FF MENU BY EMRE BULUT");
    
decl String:opcionmenu[124];
    
Format(opcionmenu124"Hemen ff baslat");
    
AddMenuItem(menu"option1"opcionmenu0);
    
Format(opcionmenu124"FF kapat");
    
AddMenuItem(menu"option2"opcionmenu0);
    
Format(opcionmenu124"10 Sn. sonra ff baslat");
    
AddMenuItem(menu"option3"opcionmenu0);
    
Format(opcionmenu124"20 Sn. sonra ff baslat");
    
AddMenuItem(menu"option4"opcionmenu0);
    
Format(opcionmenu124"30 Sn. sonra ff baslat");
    
AddMenuItem(menu"option5"opcionmenu0);
    
Format(opcionmenu124"40 Sn. sonra ff baslat");
    
AddMenuItem(menu"option6"opcionmenu0);
    
Format(opcionmenu124"50 Sn. sonra ff baslat");
    
AddMenuItem(menu"option7"opcionmenu0);
    
Format(opcionmenu124"60 Sn. sonra ff baslat");
    
AddMenuItem(menu"option8"opcionmenu0);
    
SetMenuExitButton(menutrue);
    
DisplayMenu(menuclient0);
    return 
Action:3;
}

public 
MenuDevam(Handle:menuMenuAction:actionclientitemNum)
{
    if (
action == MenuAction:4)
    {
        new 
String:info[32];
        
GetMenuItem(menuitemNuminfo320""0);
        if (
strcmp(info"option1"true))
        {
            if (
strcmp(info"option2"true))
            {
                if (
strcmp(info"option3"true))
                {
                    if (
strcmp(info"option4"true))
                    {
                        if (
strcmp(info"option5"true))
                        {
                            if (
strcmp(info"option6"true))
                            {
                                if (
strcmp(info"option7"true))
                                {
                                    if (!(
strcmp(info"option8"true)))
                                    {
                                        
CountdownActive true;
                                        
CountdownTimer CreateTimer(1.0Countdown6any:01);
                                    }
                                }
                                
CountdownActive true;
                                
CountdownTimer CreateTimer(1.0Countdown5any:01);
                            }
                            
CountdownActive true;
                            
CountdownTimer CreateTimer(1.0Countdown4any:01);
                        }
                        
CountdownActive true;
                        
CountdownTimer CreateTimer(1.0Countdown3any:01);
                    }
                    
CountdownActive true;
                    
CountdownTimer CreateTimer(1.0Countdown2any:01);
                }
                
CountdownActive true;
                
CountdownTimer CreateTimer(1.0Countdownany:01);
            }
            
ServerCommand("sm_cvar mp_teammates_are_enemies 0");
            
.3876.CPrintToChatAll("{darkred}FF Kapatıldı !");
        }
        else
        {
            
ServerCommand("sm_cvar mp_teammates_are_enemies 1");
            
.3876.CPrintToChatAll("{darkred}FF Acıldı Savas Baslasın !");
        }
    }
    return 
0;
}

public 
Action:Countdown(Handle:timer)
{
    static 
numPrinted;
    new 
timeleft 10 numPrinted;
    
.3096.PrintHintTextToAll("Dost atesi %i saniye icerisinde acilacak"timeleft);
    if (
timeleft)
    {
        
numPrinted += 1;
        return 
Action:0;
    }
    
numPrinted 0;
    
FFBaslat();
    return 
Action:4;
}

public 
Action:Countdown2(Handle:timer)
{
    static 
numPrinted;
    new 
timeleft 20 numPrinted;
    
.3096.PrintHintTextToAll("Dost atesi %i saniye icerisinde acilacak"timeleft);
    if (
timeleft)
    {
        
numPrinted += 1;
        return 
Action:0;
    }
    
numPrinted 0;
    
FFBaslat();
    return 
Action:4;
}

public 
Action:Countdown3(Handle:timer)
{
    static 
numPrinted;
    new 
timeleft 30 numPrinted;
    
.3096.PrintHintTextToAll("Dost atesi %i saniye icerisinde acilacak"timeleft);
    if (
timeleft)
    {
        
numPrinted += 1;
        return 
Action:0;
    }
    
numPrinted 0;
    
FFBaslat();
    return 
Action:4;
}

public 
Action:Countdown4(Handle:timer)
{
    static 
numPrinted;
    new 
timeleft 40 numPrinted;
    
.3096.PrintHintTextToAll("Dost atesi %i saniye icerisinde acilacak"timeleft);
    if (
timeleft)
    {
        
numPrinted += 1;
        return 
Action:0;
    }
    
numPrinted 0;
    
FFBaslat();
    return 
Action:4;
}

public 
Action:Countdown5(Handle:timer)
{
    static 
numPrinted;
    new 
timeleft 50 numPrinted;
    
.3096.PrintHintTextToAll("Dost atesi %i saniye icerisinde acilacak"timeleft);
    if (
timeleft)
    {
        
numPrinted += 1;
        return 
Action:0;
    }
    
numPrinted 0;
    
FFBaslat();
    return 
Action:4;
}

public 
Action:Countdown6(Handle:timer)
{
    static 
numPrinted;
    new 
timeleft 60 numPrinted;
    
.3096.PrintHintTextToAll("Dost atesi %i saniye icerisinde acilacak"timeleft);
    if (
timeleft)
    {
        
numPrinted += 1;
        return 
Action:0;
    }
    
numPrinted 0;
    
FFBaslat();
    return 
Action:4;
}

public 
FFBaslat()
{
    
ConVar.IntValue.set(g_cvFriendlyFire1);
    
.3096.PrintHintTextToAll("Dost atesi acildi! Savas baslasin!");
    
CountdownActive false;
    
ffAktif true;
    
CountdownTimer MissingTAG:0;
    return 
0;
}

public 
.13228.BuildPrimaryWeaponMenu()
{
    new 
Menu:menu1 Menu.Menu(Menu_PrimaryMenuAction:28);
    
Menu.AddItem(menu1"weapon_ak47""AK47"0);
    
Menu.AddItem(menu1"weapon_m4a1""M4A4"0);
    
Menu.AddItem(menu1"weapon_m4a1_silencer""M4A1-S"0);
    
Menu.AddItem(menu1"weapon_awp""AWP"0);
    
Menu.AddItem(menu1"weapon_ssg08""SCOUT"0);
    
Menu.AddItem(menu1"weapon_galilar""GALIL"0);
    
Menu.AddItem(menu1"weapon_famas""FAMAS"0);
    
Menu.AddItem(menu1"weapon_p90""P90"0);
    
Menu.AddItem(menu1"weapon_aug""AUG"0);
    
Menu.AddItem(menu1"weapon_sg553""SG553"0);
    
Menu.SetTitle(menu1"Birincil silahinizi secin.");
    return 
menu1;
}

public 
.13228.BuildPrimaryWeaponMenu()
{
    new 
Menu:menu1 Menu.Menu(Menu_PrimaryMenuAction:28);
    
Menu.AddItem(menu1"weapon_ak47""AK47"0);
    
Menu.AddItem(menu1"weapon_m4a1""M4A4"0);
    
Menu.AddItem(menu1"weapon_m4a1_silencer""M4A1-S"0);
    
Menu.AddItem(menu1"weapon_awp""AWP"0);
    
Menu.AddItem(menu1"weapon_ssg08""SCOUT"0);
    
Menu.AddItem(menu1"weapon_galilar""GALIL"0);
    
Menu.AddItem(menu1"weapon_famas""FAMAS"0);
    
Menu.AddItem(menu1"weapon_p90""P90"0);
    
Menu.AddItem(menu1"weapon_aug""AUG"0);
    
Menu.AddItem(menu1"weapon_sg553""SG553"0);
    
Menu.SetTitle(menu1"Birincil silahinizi secin.");
    return 
menu1;
}

public 
Menu_Primary(Menu:menu1MenuAction:actionparam1param2)
{
    if (
action == MenuAction:4)
    {
        new 
String:weapon_id[32];
        
Menu.GetItem(menu1param2weapon_id320""0);
        
GivePlayerItem(param1weapon_id0);
        
Menu.Display(g_SecundaryWeaponparam10);
    }
    return 
0;
}

public 
.14016.BuildSecundaryWeaponMenu()
{
    new 
Menu:menu2 Menu.Menu(Menu_SecundaryMenuAction:28);
    
Menu.AddItem(menu2"weapon_revolver""R8 REVOLVER"0);
    
Menu.AddItem(menu2"weapon_deagle""DEAGLE"0);
    
Menu.AddItem(menu2"weapon_usp_silencer""USP-S"0);
    
Menu.AddItem(menu2"weapon_hkp2000""P2000"0);
    
Menu.AddItem(menu2"weapon_glock""GLOCK"0);
    
Menu.AddItem(menu2"weapon_fiveseven""FIVESEVEN"0);
    
Menu.AddItem(menu2"weapon_tec9""TEC9"0);
    
Menu.AddItem(menu2"weapon_elite""CIFT BERETTA"0);
    
Menu.AddItem(menu2"weapon_p250""P250"0);
    
Menu.AddItem(menu2"weapon_cz75a""CZ75"0);
    
Menu.SetTitle(menu2"Ikincil silahinizi secin.");
    return 
menu2;
}

public 
.14016.BuildSecundaryWeaponMenu()
{
    new 
Menu:menu2 Menu.Menu(Menu_SecundaryMenuAction:28);
    
Menu.AddItem(menu2"weapon_revolver""R8 REVOLVER"0);
    
Menu.AddItem(menu2"weapon_deagle""DEAGLE"0);
    
Menu.AddItem(menu2"weapon_usp_silencer""USP-S"0);
    
Menu.AddItem(menu2"weapon_hkp2000""P2000"0);
    
Menu.AddItem(menu2"weapon_glock""GLOCK"0);
    
Menu.AddItem(menu2"weapon_fiveseven""FIVESEVEN"0);
    
Menu.AddItem(menu2"weapon_tec9""TEC9"0);
    
Menu.AddItem(menu2"weapon_elite""CIFT BERETTA"0);
    
Menu.AddItem(menu2"weapon_p250""P250"0);
    
Menu.AddItem(menu2"weapon_cz75a""CZ75"0);
    
Menu.SetTitle(menu2"Ikincil silahinizi secin.");
    return 
menu2;
}

public 
Menu_Secundary(Menu:menu2MenuAction:actionparam1param2)
{
    if (
action == MenuAction:4)
    {
        new 
String:weapon_id[32];
        
Menu.GetItem(menu2param2weapon_id320""0);
        
GivePlayerItem(param1weapon_id0);
        
GivePlayerItem(param1"weapon_hegrenade"0);
    }
    return 
0;


Last edited by WildCard65; 04-01-2016 at 07:59.
WildCard65 is offline
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 21:45.


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