Заявка за "Become an Admin"

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
hackera457
Извън линия
Потребител
Потребител
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Re: Заявка за "Become an Admin"

Мнение от hackera457 » 03 Яну 2017, 11:22

За да се премахват админите автоматично, трява да се слага време, когато да изтичат правата. Другия вариант е да се запазват в users.ini и да си ги триеш ръчно
Моите плъгини

Код за потвърждение: Избери целия код

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
AKM
Извън линия
Потребител
Потребител
Мнения: 81
Регистриран на: 23 Дек 2016, 11:02
Се отблагодари: 8 пъти

Re: Заявка за "Become an Admin"

Мнение от AKM » 03 Яну 2017, 11:58

hackera457, аз не зная как да го направя да е така както казваш.
Трябва да се намери начин веднага да се премахва такъв админ, защото може да злоупотребява с правата си, а аз да не мога да го махна.
Последно промяна от AKM на 03 Яну 2017, 14:03, променено общо 1 път.

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: Заявка за "Become an Admin"

Мнение от JustInCase » 03 Яну 2017, 12:13

hackera457 написа:За да се премахват админите автоматично, трява да се слага време, когато да изтичат правата. Другия вариант е да се запазват в users.ini и да си ги триеш ръчно

Ще чакаме release-а на твоята версия тогава :). Наистина не знам как да го направя да се записват в user.ini Единствения начин за който се сетих е този с NVault-a.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
AKM
Извън линия
Потребител
Потребител
Мнения: 81
Регистриран на: 23 Дек 2016, 11:02
Се отблагодари: 8 пъти

Re: Заявка за "Become an Admin"

Мнение от AKM » 03 Яну 2017, 15:26

JustInCase, плъгинът нещо не работи както трябва. При излизане от сървъра не помни убийствата. Дава ми, че имам 0 убийства.

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: Заявка за "Become an Admin"

Мнение от JustInCase » 03 Яну 2017, 17:28

Код за потвърждение: Избери целия код

 #include <amxmodx>
#include <amxmisc>
#include <playedTime>
#include <nvault>
#include <colorchat>

#define PLUGIN "Become Admin"
#define VERSION "1.0"
#define AUTHOR "Just In Case @ amxx-bg.info/forum"
    
new g_iAVault, g_iKVault
new bool:IsAdmin[33]
new szChatCommands[][] = {
    "say /ba", "say_team /ba",
    "say ba", "say_team ba"
}
new Points [ 33 ]
new Kills, Minutes, iMenuTitle, Flags
new iKills, iMinutes
new szFlags[ 30 ]

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    Kills = register_cvar("ba_kills", "2000")
    iKills = get_pcvar_num(Kills)
    Minutes = register_cvar("ba_minutes", "5000")
    iMinutes = get_pcvar_num(Minutes)
    iMenuTitle = register_cvar("ba_menutitle", "EXAMPLE")
    Flags = register_cvar("ba_flags", "bcejp")
    get_pcvar_string(Flags, szFlags, charsmax(szFlags))
    for ( new i = 0; i < sizeof( szChatCommands ); i++ )
        register_concmd(szChatCommands[ i ], "ShowMenu")
    
    register_event ( "DeathMsg", "eDeath", "a" );
    
    g_iAVault = nvault_open("Become Admin - Admins")
}
public client_disconnect(id)
{
    UseVault(id, 0)
}
public client_connect(id)
{
    IsAdmin[ id ] = false  
}
public client_putinserver(id)
{
    if(is_user_admin(id))
        IsAdmin[ id ] = true
    UseVault(id, 1)
}
public ShowMenu(id)
{
    new Title[ 128 ], Item1[128], Item2[128], Item1a[128], Item2a[128]
    new gKills = Points[ id ]
    new gMinutes = get_user_ptime(id)
    formatex(Title, 127, "%s", GetMenuName())
    formatex(Item1, 127, "\wImate izigrani \r[ \y%i \r] \wminuti", gMinutes)
    formatex(Item2, 127, "\wImate napraveni \r[ \y%i \r] \wubiistva", gKills)
    formatex(Item1a, 127, "\wImate izigrani \r[ \y%i \r] \wminuti \y[ IZPULNENO ]", iMinutes)
    formatex(Item2a, 127, "\wImate napraveni \r[ \y%i \r] \wminuti \y[ IZPULNENO ]", iKills)
    
    
    new menu = menu_create(Title, "BA_menu_handler")
    
    if(gMinutes < iMinutes)
        menu_additem(menu, Item1)
    else
        menu_additem(menu, Item1a)
    if(gKills < iKills)
        menu_additem(menu, Item2)
    else
        menu_additem(menu, Item2a)
    if(gKills > iKills && gMinutes > iMinutes)
    {
        if(IsAdmin[ id ] == true)
        {
            menu_addtext(menu, "^n\r --------------------^n")
            menu_additem(menu, "\dStani ADMIN", "", 1)
        }
        else
        {
            menu_addtext(menu, "^n\r --------------------^n")
            menu_additem(menu, "\yStani ADMIN")
        }
    }
    menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
    menu_display(id, menu, 0)
    
}
public BA_menu_handler(id, menu, item)
{
    switch ( item )
    {
        case 2:
        {
            if(is_user_admin(id))
            {
                ColorChat(id, RED, "^4[ BA ] ^1Nqma kak da stanesh ^3ADMIN ^1dva puti")
                return PLUGIN_HANDLED
            }
            
            new gKills = Points[ id ]
            new gMinutes = get_user_ptime(id)
            if(gKills > iKills && gMinutes > iMinutes)
            {
                set_user_flags(id, read_flags(szFlags), 0)
                ColorChat(id, RED, "^4[ BA ] ^1Pozdravleniq ^4!^1!^4! ^1Ti toku shto stana ^3ADMIN")
                UseVault(id, 0)
                IsAdmin[ id ] = true
            }
            
        }
    }
    menu_destroy( menu );
    return PLUGIN_HANDLED;
}
public eDeath ( )
{
    new Killer = read_data ( 1 );
    new Victim = read_data ( 2 );
    
    if ( Killer == Victim )
        return PLUGIN_HANDLED;
    
    Points [ Killer ] += 1;
    
    return PLUGIN_CONTINUE;
}
UseVault(id, iType) {        
    new szName[32], szData[16]
    get_user_name(id, szName, charsmax(szName))
    
    switch(iType)
    {
        case 0:
        {
            str_to_num(Points [ id ])
            formatex(szData, charsmax(szData), "%i", Points[ id ])
            nvault_set(g_iAVault, szName, szData)
        }
        case 1:
        {
            nvault_get(g_iAVault, szName, flags, szData, charsmax(szData))
            //replace_all(szData, charsmax(szData), "|", " ")
            
            new szArg[30]
            parse(szData, szArg, charsmax(szArg))
            Points[ id ] = str_to_num(szArg)
        }
    }
}
stock GetMenuName()
{
    new String[128]
    get_pcvar_string(iMenuTitle, String, charsmax(String))
    return String
}
 
Моя грешка извинявай.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
hackera457
Извън линия
Потребител
Потребител
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Re: Заявка за "Become an Admin"

Мнение от hackera457 » 03 Яну 2017, 18:50

JustInCase написа:
hackera457 написа:За да се премахват админите автоматично, трява да се слага време, когато да изтичат правата. Другия вариант е да се запазват в users.ini и да си ги триеш ръчно

Ще чакаме release-а на твоята версия тогава :). Наистина не знам как да го направя да се записват в user.ini Единствения начин за който се сетих е този с NVault-a.
Релииза моя скоро ще е готов. Става по-бавно, защото имам и други странични задачи. И моя релииз е със съвсем различна логика. Това, което мога за кажа е, че за запис се използва функциите за работа със файлове fopen, fget, fprintf() и т.н за да запишеш в users.ini, а времето можеш да го запишеш в nvault. И да си направиш едно мислещо entity, което да проверяваш дали е дошло времето за изтриване и да му махаш флаговете
Моите плъгини

Код за потвърждение: Избери целия код

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
AKM
Извън линия
Потребител
Потребител
Мнения: 81
Регистриран на: 23 Дек 2016, 11:02
Се отблагодари: 8 пъти

Re: Заявка за "Become an Admin"

Мнение от AKM » 17 Яну 2017, 12:59

Тази тема е решение на моята. Благодаря на участвалите! Специални благодарности на hackera457 !
viewtopic.php?f=21&p=3634&sid=136fe8a34 ... e338#p3634

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Bing [Bot] и 21 госта