Иконка ресурса

[ ARMY ] Оружие/Weapons 1.3

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #1
Пользователь Саша Шеин разместил новый ресурс:

[ ARMY ] Оружие/Weapons - Модуль добавляет для звания основное оружие и пистолет!

Модуль добавляет для звания основное оружие и пистолет!

В звании прописать:
C-подобный:
        "WeaponPrimary"            "Оружие:Название оружия для меню"        //Добавляет основное оружие определенное звание!
        "WeaponSecondary"            "Пистолет:Название пистолета для меню"       //Добавляет пистолет определенное звание!  
        "WeaponCount"                "Целое число"        //Кол-во раз, которые будет открываться меню! Лучше 2!

В перевод добавить:...

Узнать больше об этом ресурсе...
 

L\O\R\D

Участник
Сообщения
13
Реакции
0
Минус модуля в том что каждый новый раунд появляется меню с тем оружием которое предназначенодля определённого звания, лучше б сделали возможность откл. этого меню либо авто установка оружия.
 

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #3
Минус модуля в том что каждый новый раунд появляется меню с тем оружием которое предназначенодля определённого звания, лучше б сделали возможность откл. этого меню либо авто установка оружия.
Поидее должно работать

PHP:
#include <army_ranks>
#include <sdktools>

#define CS_SLOT_PRIMARY        0 /* AWP | Ak47 | AUG ... */
#define CS_SLOT_SECONDARY    1 /* USP | DEAGLE ... */
#define CS_SLOT_KNIFE        2
#define CS_SLOT_C4            4

new Count[MAXPLAYERS+1] = 0;

public Plugin:myinfo =
{
    name = "[ ARMY ] Оружие/Weapons",
    author = "sahapro33",
    description = "",
    version = "1.3"
}

public ARMY_OnLoad() LoadTranslations("army_ranks/modules.phrases.txt");

public ARMY_PlayerConnect(client,g_sRank[],g_iKills[],g_iDeaths[])
{
    if(Army_GetNumAtributes(client,"WeaponCount",-1) > 0)
    {
        decl String:Buffer[100];
        FormatEx(Buffer,sizeof(Buffer),"%t","WEAPON");
        Army_RegisterItem(client,"Weapon",Buffer);
    }
}

public OnPluginStart()
{
    RegConsoleCmd("sm_armyweapon",armyweapon);
}

public ARMY_ArmyUp(client)
{
    if(Army_GetNumAtributes(client,"WeaponCount",-1) > 0)
    {
        decl String:Buffer[100];
        FormatEx(Buffer,sizeof(Buffer),"%t","WEAPON");
        Army_RegisterItem(client,"Weapon",Buffer);
    }
}

/*public ARMY_PlayerSpawn(client)
{
    Count[client] = Army_GetNumAtributes(client,"WeaponCount",0);
    if(Count[client]>0)ShowMenu(client);
}*/
public Action:armyweapon(client, args)
{
    if (client && IsPlayerAlive(client))
    {
        ShowMenu(client);
    }
    return Plugin_Handled;
}

ShowMenu(client)
{
    decl String:buffer[2][256];
    new i = 0;
    new Handle:menu = CreateMenu(Handle_WeaponMenu);
    SetMenuTitle(menu,"[-ARMY-] Оружие\n\n ");
   
    if(Army_GetStringAtributes(client,"WeaponPrimary","0",buffer[0],256))
    {
        if(strcmp(buffer[0],"0") && ExplodeString(buffer[0],":",buffer,2,256))
        {
            Format(buffer[0],sizeof(buffer[]),"0|%s",buffer[0]);
            AddMenuItem(menu,buffer[0],buffer[1]);
            i++;
        }
    }
   
    if(Army_GetStringAtributes(client,"WeaponSecondary","0",buffer[0],256))
    {
        if(strcmp(buffer[0],"0") && ExplodeString(buffer[0],":",buffer,2,256))
        {
            Format(buffer[0],sizeof(buffer[]),"1|%s",buffer[0]);
            AddMenuItem(menu,buffer[0],buffer[1]);
            i++;
        }
    }
    if(i>0)DisplayMenu(menu,client,0);
}
public Handle_WeaponMenu(Handle:menu, MenuAction:action, client, iSlot)
{
    if(action == MenuAction_Select)
    {
        decl String:info[2][256];
        GetMenuItem(menu,iSlot,info[0],sizeof(info[]));
        ExplodeString(info[0],"|",info,sizeof(info),sizeof(info[]));
       
        Format(info[1],sizeof(info[]),"weapon_%s",info[1]);
       
        ChangeWeapon(client, StringToInt(info[0]), info[1])
        Count[client]--;
        if(Count[client]>0)ShowMenu(client);
    }
}
ChangeWeapon(client, slot, String:WP[])
{
    new weaponIdx;
    if ((weaponIdx = GetPlayerWeaponSlot(client, slot)) > 0)
    {
        decl String:classname[20];
        GetEdictClassname(weaponIdx, classname, sizeof(classname));
        if (strcmp(WP, classname) == 0)
        {
            // PrintToChat(client, "У вас уже есть %s",classname);
            GivePlayerItem(client, WP);
        }
        else
        {
            RemovePlayerItem(client, weaponIdx);
            AcceptEntityInput(weaponIdx, "Kill");
            GivePlayerItem(client, WP);
            // PrintToChat(client, "У вас есть %s=нужно %s изменим",classname,WP);
        }
    }
    else
    {
        GivePlayerItem(client, WP);
        // PrintToChat(client, "У вас ничего нет в слоте №%d выдадим %s",slot,WP);
    }
}

sm_armyweapon вызовет меню
----
Пните кто там знающий, если накосячил
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #5
Уже не скомпилируется
nh2Y7
 

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #7
Типа, без исправлений?
Верно
Всё равно, для такого должна быть своя функция. Мало ли, ядро не запустится или рано запустится модуль, а ядро ещё нет .
Да не спорю, у него тип такого есть
OnArmyLoad = CreateGlobalForward("ARMY_OnLoad", ET_Hook);
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #8
Этот ресурс был удалён и более недоступен для скачивания.
 
Сверху Снизу