Jump to content


Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Posted Image Posted Image

Guest Message by DevFuse
 

[ROZWIĄZANE] Otwieranie menu przez CT


Best Answer Zabijaka Gryps , 22.01.2014 20:09

Spróbuj. Go to the full post


  • This topic is locked This topic is locked
15 replies to this topic

#1 killer98

    Wszechpomocny

  • Użytkownik

  • Reputacja: 59
    Pomocny

  • Postów:370
  • GG:
  • Lokalizacja:Małopolska
Offline

Posted 22.01.2014 19:04

Chcę aby to menu było otwierane przez CT i flagę ADMIN_KICK

/*    Autor: grankee
*   Plugin pisany z myslą o tych, którzy giną przy przenoszeniu do drugiej drużyny przez admina ;)
*   W przypadku gdy admin przenosi żywego gracza do drugiej drużyny jest on zabijany.
*   Ten plugin sprawia, że przenoszony gracz pojawia sie na respie drużyny, do której został przeniesiony
*   (lub zostaje w miejscu w przypadku amx_teammenuspawn=0)
*
*    Robiony na podstawie kodu plmenu.sma
*
*/
#include <amxmodx>
#include <amxmisc>
#include <fun>

/** skip autoloading since it's optional */
//#define AMXMODX_NOAUTOLOAD
#include <cstrike>

new g_menuPosition[33]
new g_menuPlayers[33][32]
new g_menuPlayersNum[33]
new g_menuOption[33]
#define MAX_CLCMDS 24
new g_coloredMenus
new g_cstrike = 0

public plugin_natives()
{
    set_module_filter("module_filter")
    set_native_filter("native_filter")
}

public plugin_init()
{
    register_plugin("Teammenu nokill v4.0", "v4.0", "grankee")
    register_dictionary("common.txt")
    register_dictionary("admincmd.txt")
    register_dictionary("plmenu.txt")

    
    register_clcmd("amx_teammenu", "cmdTeamMenu")
    register_clcmd("teammenu", "cmdTeamMenu")
    register_cvar("amx_teammenuspawn", "1")
    register_menucmd(register_menuid("Team Menu"), 1023, "actionTeamMenu")
    

    g_coloredMenus = colored_menus()

    

    if (module_exists("cstrike"))
        g_cstrike = 1
}

public module_filter(const module[])
{
    if (equali(module, "cstrike"))
        return PLUGIN_HANDLED
    
    return PLUGIN_CONTINUE
}

public native_filter(const name[], index, trap)
{
    if (!trap)
        return PLUGIN_HANDLED
        
    return PLUGIN_CONTINUE
}





public actionTeamMenu(id, key)
{
//new teamname[32]
    switch (key)
    {
        case 7:
        {
            g_menuOption[id] = 1 - g_menuOption[id]
            displayTeamMenu(id, g_menuPosition[id])
        }
        case 8: displayTeamMenu(id, ++g_menuPosition[id])
        case 9: displayTeamMenu(id, --g_menuPosition[id])
        default:
        {
            new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
            new authid[32], authid2[32], name[32], name2[32]

            get_user_name(player, name2, 31)
            get_user_authid(id, authid, 31)
            get_user_authid(player, authid2, 31)
            get_user_name(id, name, 31)
                
            log_amx("Cmd: ^"%s<%d><%s><>^" transfer ^"%s<%d><%s><>^" (team ^"%s^")", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2, g_menuOption[id] ? "TERRORIST" : "CT")
            
            if (get_cvar_num("amx_hideactivity")==1)
            {
                for (new a=1;a<=32;a++)
                {
                    if (is_user_connected(a))
                    {
                        if (get_user_flags(a) & ADMIN_RESERVATION)
                        {
                            client_print(a, print_chat, "%L", id, "ADMIN_TRANSF_2", name, name2, g_menuOption[id] ? "TERRORIST" : "CT")
                        }
            
                    }
                }
            }
            else
            {
                switch (get_cvar_num("amx_show_activity"))
                {
                    case 2: client_print(0, print_chat, "%L", id, "ADMIN_TRANSF_2", name, name2, g_menuOption[id] ? "TERRORIST" : "CT")
                    case 1: client_print(0, print_chat, "%L", id, "ADMIN_TRANSF_1", name2, g_menuOption[id] ? "TERRORIST" : "CT")
                }
            }

            if (g_cstrike)
            {
                if (is_user_alive(player))
                {
                    if(g_menuOption[id]==1)
                    {
                        cs_set_user_team(player, CS_TEAM_T)
                        if (get_cvar_num("amx_teammenuspawn") > 0)
                        spawn(player)
                        
                    }
                    else
                    {
                        cs_set_user_team(player, CS_TEAM_CT)
                        if (get_cvar_num("amx_teammenuspawn") > 0)
                        spawn(player)
                    }
                }
                else
                {
                    if(g_menuOption[id]==1)
                    {
                        cs_set_user_team(player, CS_TEAM_T)
                        cs_reset_user_model(player)    
                    }
                    else
                    {
                        cs_set_user_team(player, CS_TEAM_CT)
                        cs_reset_user_model(player)    
                    }
                }    
                
            }
                
            

            displayTeamMenu(id, g_menuPosition[id])
        }
    }
    
    return PLUGIN_HANDLED
}

displayTeamMenu(id, pos)
{
    if (pos < 0)
        return

    get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new menuBody[512]
    new b = 0
    new i, iteam
    new name[32], team[4]
    new start = pos * 7
    new ja[32]
    get_user_name (id, ja, 31)
    if (start >= g_menuPlayersNum[id])
        start = pos = g_menuPosition[id] = 0

    new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "TEAM_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))
    new end = start + 7
    new keys = MENU_KEY_0|MENU_KEY_8

    if (end > g_menuPlayersNum[id])
        end = g_menuPlayersNum[id]

    for (new a = start; a < end; ++a)
    {
        i = g_menuPlayers[id][a]
        get_user_name(i, name, 31)
        
        if (g_cstrike)
        {
            iteam = _:cs_get_user_team(i)
            
            if (iteam == 1)
            {
                copy(team, 3, "TE")
            }
            else if (iteam == 2)
            {
                copy(team, 3, "CT")
            } else {
                get_user_team(i, team, 3)
            }
        } else {
            iteam = get_user_team(i, team, 3)
        }

        if ((iteam == (g_menuOption[id] ? 1 : 2)) || (access(i, ADMIN_IMMUNITY)&&(i!=id)))
        {
            ++b
            
            if (g_coloredMenus)
                len += format(menuBody[len], 511-len, "\d%d. %s\R%s^n\w", b, name, team)
            else
                len += format(menuBody[len], 511-len, "#. %s   %s^n", name, team)        
        } else {
            keys |= (1<<b)
                
            if (is_user_admin(i))
                len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*\y\R%s^n\w" : "%d. %s *   %s^n", ++b, name, team)
            else
                len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s\y\R%s^n\w" : "%d. %s   %s^n", ++b, name, team)
        }
    }

    len += format(menuBody[len], 511-len, "^n8. %L^n", id, "TRANSF_TO", g_menuOption[id] ? "TERRORIST" : "CT")

    if (end != g_menuPlayersNum[id])
    {
        format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
        keys |= MENU_KEY_9
    }
    else
        format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")
    
    show_menu(id, keys, menuBody, -1, "Team Menu")
}

public cmdTeamMenu(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED

    g_menuOption[id] = 0

    displayTeamMenu(id, g_menuPosition[id] = 0)

    return PLUGIN_HANDLED
}

Edited by killer98, 22.01.2014 19:16.

  • +
  • -
  • 0

Pomogłem? Kliknij rep_up.png

b_350_20_FF0000_FF0000_000000_000000.png

Moimi autorytetami są: 6262 & 10153

Robię zabawy JailBreak i klasy CoD na zamówienie.


#2 MAGNET

    SourceLearned ;)

  • Moderator

  • Reputacja: 661
    Wszechmogący

  • Postów:1,535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Posted 22.01.2014 19:16

Chodzi tobie o to, że menu może być otwierane tylko przez  CT? Jeśli tak, to przy tworzeniu menu warunek:

if(cs_get_user_team(index) == CS_TEAM_CT).....

+ moduł cstrike


  • +
  • -
  • 0

#3 killer98

    Wszechpomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 59
    Pomocny

  • Postów:370
  • GG:
  • Lokalizacja:Małopolska
Offline

Posted 22.01.2014 19:19

Chodzi tobie o to, że menu może być otwierane tylko przez  CT? Jeśli tak, to przy tworzeniu menu warunek:

if(cs_get_user_team(index) == CS_TEAM_CT).....

+ moduł cstrike

 

No ale gdzie to dodać bo to nie jest normalne menu ...


Edited by killer98, 22.01.2014 19:21.

  • +
  • -
  • 0

Pomogłem? Kliknij rep_up.png

b_350_20_FF0000_FF0000_000000_000000.png

Moimi autorytetami są: 6262 & 10153

Robię zabawy JailBreak i klasy CoD na zamówienie.


#4 .K3K

    Ja tu tylko sprzątam :s

  • Zbanowany

  • Reputacja: 46
    Pomocny

  • Postów:263
  • Imię:Karol
  • Lokalizacja:Poznań
Offline

Posted 22.01.2014 19:24

x


Edited by PsYYchol, 22.01.2014 19:35.

b_350_20_18CE03_051005_FFFFFF_111111.png

#5 Zabijaka Gryps

    Wszechwiedzący

  • Power User

  • Reputacja: 266
    Wszechwidzący

  • Postów:563
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Świdnica
Offline

Posted 22.01.2014 19:28

warunek przy otwieraniu menu





if(cs_get_user_team(id) == CS_TEAM_CT && ADMIN_KICK && is_user_connected(id))

:facepalm:
Przecież napisał że nie wie jak dodać to po kiego grzyba mu taki warunek dajesz (wcześniej już magnet podał podobny). + jaki jest sens sprawdzenia podłączenia osoby wywołującej na samym końcu?
Już wogóle pominę fakt że Twój warunek nawet się nie skompiluje, co to jest za warunek ADMIN_KICK?

@topic
Autorze, powiedz dokładnie co i jak ma być - komu ma się odpalać menu. Tylko osobie będącej w ct (każdej)? Czy może tylko osobie w ct mającej jakąś flagę? Czy może i osobie w ct (każdej, bez flagi) jak i osobie mającej flagę obojętnie w jakim jest teamie?
  • +
  • -
  • 1

#6 killer98

    Wszechpomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 59
    Pomocny

  • Postów:370
  • GG:
  • Lokalizacja:Małopolska
Offline

Posted 22.01.2014 19:32

Każdemu w ct, oraz adminowi z flagą kick, dobrze by było aby to było dla prowadzącego. Próbowałem dodać do menu Cypisa ale wywala error. Więc dla CT i Admin_KICK I fajnie by było żeby zamiast korzystać z plmenu.txt były napisy "Strażnik nick przeniósł nick do TT" :)


Edited by killer98, 22.01.2014 19:33.

  • +
  • -
  • 0

Pomogłem? Kliknij rep_up.png

b_350_20_FF0000_FF0000_000000_000000.png

Moimi autorytetami są: 6262 & 10153

Robię zabawy JailBreak i klasy CoD na zamówienie.


#7 Zabijaka Gryps

    Wszechwiedzący

  • Power User

  • Reputacja: 266
    Wszechwidzący

  • Postów:563
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Świdnica
Offline

Posted 22.01.2014 19:41

Nad zmianą tekstu oraz prowadzącym (znam się na jb cypisa więc spokojnie mogę zrobić żeby coś tam dla prowadzącego było) to później się pomyśli. Na razie spróbuj to, czy działa tak jak chciałeś - menu odpala obojętnie jaki ct lub osoba z flagą c niezależnie od teamu.

//edit
Łap w załączniku, bo w forumowych tagach [sma] coś się tabulacja rozwala.

Attached Files


  • +
  • -
  • 1

#8 killer98

    Wszechpomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 59
    Pomocny

  • Postów:370
  • GG:
  • Lokalizacja:Małopolska
Offline

Posted 22.01.2014 19:44

<220> undefinied symbol "B"

keys |= (1<< B)

@edit poprzedni się nie kompilował

@edit2 Wszystko miodzio. Mam prośbę, chcę żeby dla ct była inna komenda, bo amx_teammenu zna każdy.

@edit3 ten co dałeś w <code> się lokalnie nie kompilował, pewnie przez tabulację.


Edited by killer98, 22.01.2014 19:48.

  • +
  • -
  • 0

Pomogłem? Kliknij rep_up.png

b_350_20_FF0000_FF0000_000000_000000.png

Moimi autorytetami są: 6262 & 10153

Robię zabawy JailBreak i klasy CoD na zamówienie.


#9 Zabijaka Gryps

    Wszechwiedzący

  • Power User

  • Reputacja: 266
    Wszechwidzący

  • Postów:563
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Świdnica
Offline

Posted 22.01.2014 19:47

<220> undefinied symbol "B"


keys |= (1<< B)
@edit poprzedni się nie kompilował

Coś może źle skopiowałeś, kliknij na plug.amxx (pod sma) to automatycznie się skompiluje (i wszystko działa, normalnie idzie).
  • +
  • -
  • 1

#10 Zabijaka Gryps

    Wszechwiedzący

  • Power User

  • Reputacja: 266
    Wszechwidzący

  • Postów:563
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Świdnica
Offline

Posted 22.01.2014 20:00

@edit2 Wszystko miodzio. Mam prośbę, chcę żeby dla ct była inna komenda, bo amx_teammenu zna każdy.

To teraz tak, podaj, na jaką chcesz komendę, oraz powiedz o co Ci chodziło z prowadzącym. Zamienić, aby nie każdy ct lub admin tylko prowadzący lub admin?
 

@edit3 ten co dałeś w się lokalnie nie kompilował, pewnie przez tabulację.

Musiałeś coś za mało lub za dużo skopiować, przez niepoprawną tabulację wyskakują tylko warningi (ostrzeżenia), ale kompiluje się poprawnie.
  • +
  • -
  • 1

#11 killer98

    Wszechpomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 59
    Pomocny

  • Postów:370
  • GG:
  • Lokalizacja:Małopolska
Offline

Posted 22.01.2014 20:01

Komenda:

teammenu_ct

Chciałem żeby tylko prowadzący (zwykły gracz) miał dostęp do menu. Oczywiście admin ma dostęp do zwykłego amx_teammenu


  • +
  • -
  • 0

Pomogłem? Kliknij rep_up.png

b_350_20_FF0000_FF0000_000000_000000.png

Moimi autorytetami są: 6262 & 10153

Robię zabawy JailBreak i klasy CoD na zamówienie.


#12 Zabijaka Gryps

    Wszechwiedzący

  • Power User

  • Reputacja: 266
    Wszechwidzący

  • Postów:563
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Świdnica
Offline

Posted 22.01.2014 20:09   Best Answer

Spróbuj.

Attached Files


  • +
  • -
  • 1

#13 killer98

    Wszechpomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 59
    Pomocny

  • Postów:370
  • GG:
  • Lokalizacja:Małopolska
Offline

Posted 22.01.2014 20:17

Ok. dziala.A zrobisz tak, że wyświetla się "Straznik nick przeniosl nick do TT" ?


  • +
  • -
  • 0

Pomogłem? Kliknij rep_up.png

b_350_20_FF0000_FF0000_000000_000000.png

Moimi autorytetami są: 6262 & 10153

Robię zabawy JailBreak i klasy CoD na zamówienie.


#14 KillerBee

    Banned

  • Zbanowany

  • Reputacja: 6
    Nowy

  • Postów:36
  • Lokalizacja:Rzeszów
Offline

Posted 22.01.2014 20:53

public cmdTeamMenu(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED

    g_menuOption[id] = 0

    displayTeamMenu(id, g_menuPosition[id] = 0)

    return PLUGIN_HANDLED
}

zamien na 

public cmdTeamMenu(id)
{
    if (get_user_flags(id) & ADMIN_KICK || get_user_team(id) == 2)
    {

        g_menuOption[id] = 0

        displayTeamMenu(id, g_menuPosition[id] = 0)

    }
    return PLUGIN_HANDLED
}

Edited by KillerBee, 22.01.2014 20:54.


#15 Engi

    [EKSiD] playaz44

  • Power User

  • Reputacja: 315
    Wszechpomocny

  • Postów:1,071
  • GG:
  • Imię:Seba
  • Lokalizacja:Praga
Offline

Posted 22.01.2014 21:09

public cmdTeamMenu(id, level, cid)
{
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED

    g_menuOption[id] = 0

    displayTeamMenu(id, g_menuPosition[id] = 0)

    return PLUGIN_HANDLED
}

zamien na 

public cmdTeamMenu(id)
{
    if (get_user_flags(id) & ADMIN_KICK || get_user_team(id) == 2)
    {

        g_menuOption[id] = 0

        displayTeamMenu(id, g_menuPosition[id] = 0)

    }
    return PLUGIN_HANDLED
}

 

 

Dlaczego?
 


  • +
  • -
  • 0
Użytkowniku! Zanim napiszesz wiadomość wiedz, że:

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
Nie pomagam za darmo na pw.

#16 killer98

    Wszechpomocny

  • Autor tematu
  • Użytkownik

  • Reputacja: 59
    Pomocny

  • Postów:370
  • GG:
  • Lokalizacja:Małopolska
Offline

Posted 22.01.2014 21:22

get_user_team(id) == 2 -> CT

get_user_flags(id) & ADMIN_KICK -> ADMIN_KICK

Kolega nie zauważył, że Zabijaka mi pomógł :) + za chęci :D


  • +
  • -
  • 0

Pomogłem? Kliknij rep_up.png

b_350_20_FF0000_FF0000_000000_000000.png

Moimi autorytetami są: 6262 & 10153

Robię zabawy JailBreak i klasy CoD na zamówienie.





  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In