Заявка за Auto Map Change...

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Заключена
Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 359
Регистриран: 17 мар 2018, 15:34
Се отблагодари: 101 пъти
Получена благодарност: 10 пъти

Заявка за Auto Map Change...

Мнение от iv69 » 12 мар 2019, 11:00

Здравейте,

Трябва ми колкото се може по-опростен плъгин(доколкото е възможно) , който през определен интервал(примерно 30сек) да проверява колко живи играча има в сървъра, и ако броят им спадне под 3 ( 2, 1 или 0 играча) - автоматично да сменя картата на друга определена ( най-популярна- в случая за мен е awp_india) !? Плъгина ми трябва за DeathMatch сървър с PODBot (ако е от значение) .
Благодаря предварително !

Потребителски аватар

<VeCo>
AMXX Скриптър
AMXX Скриптър
Мнения: 115
Регистриран: 28 яну 2019, 19:01
Се отблагодари: 4 пъти
Получена благодарност: 37 пъти

Заявка за Auto Map Change...

Мнение от <VeCo> » 12 мар 2019, 18:26

Код: Избери всички

#include <amxmodx>

#define MIN_PLAYERS 3
#define CHANGE_TIME 30.0
new const preferred_map[] = "awp_india"

new real_players_num = 0

public plugin_init()
{
    register_plugin("Auto Map Change", "1.1","<VeCo>")
    
    new current_map[sizeof preferred_map]
    get_mapname(current_map, charsmax(current_map))
    if(equal(current_map, preferred_map)) pause("ad")
}

public client_connect(id)
{
    if(is_user_bot(id)) return
    
    if(++real_players_num >= MIN_PLAYERS) remove_task()
    else if(real_players_num < MIN_PLAYERS && !task_exists()) start_task()
}
public client_disconnect(id) if(!is_user_bot(id) && --real_players_num < MIN_PLAYERS && !task_exists()) start_task()

public start_task() set_task(CHANGE_TIME, "change_map")
public change_map() server_cmd("amx_map ^"%s^"", preferred_map)
Ако ползваш АМХХ 1.8.3, замени client_disconnect с client_disconnected.
:pepo_think3:

Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 359
Регистриран: 17 мар 2018, 15:34
Се отблагодари: 101 пъти
Получена благодарност: 10 пъти

Заявка за Auto Map Change...

Мнение от iv69 » 12 мар 2019, 19:55

<VeCo> написа:
12 мар 2019, 18:26

Код: Избери всички

#include <amxmodx>

#define MIN_PLAYERS 3
#define CHANGE_TIME 30.0
new const preferred_map[] = "awp_india"

new real_players_num = 0

public plugin_init()
{
    register_plugin("Auto Map Change", "1.1","<VeCo>")
    
    new current_map[sizeof preferred_map]
    get_mapname(current_map, charsmax(current_map))
    if(equal(current_map, preferred_map)) pause("ad")
}

public client_connect(id)
{
    if(is_user_bot(id)) return
    
    if(++real_players_num >= MIN_PLAYERS) remove_task()
    else if(real_players_num < MIN_PLAYERS && !task_exists()) start_task()
}
public client_disconnect(id) if(!is_user_bot(id) && --real_players_num < MIN_PLAYERS && !task_exists()) start_task()

public start_task() set_task(CHANGE_TIME, "change_map")
public change_map() server_cmd("amx_map ^"%s^"", preferred_map)
Ако ползваш АМХХ 1.8.3, замени client_disconnect с client_disconnected.
Ъхъ, Благодаря "VeCo". Ще направя това което ми обясни , но за момента няма как да го тествам, нека остане отворена темата за сега... За "жалост" имало и хора в сървъра :drunk: .

Добавено преди 8 минути 13 секунди:
iv69 написа:
12 мар 2019, 19:55
<VeCo> написа:
12 мар 2019, 18:26

Код: Избери всички

#include <amxmodx>

#define MIN_PLAYERS 3
#define CHANGE_TIME 30.0
new const preferred_map[] = "awp_india"

new real_players_num = 0

public plugin_init()
{
    register_plugin("Auto Map Change", "1.1","<VeCo>")
    
    new current_map[sizeof preferred_map]
    get_mapname(current_map, charsmax(current_map))
    if(equal(current_map, preferred_map)) pause("ad")
}

public client_connect(id)
{
    if(is_user_bot(id)) return
    
    if(++real_players_num >= MIN_PLAYERS) remove_task()
    else if(real_players_num < MIN_PLAYERS && !task_exists()) start_task()
}
public client_disconnect(id) if(!is_user_bot(id) && --real_players_num < MIN_PLAYERS && !task_exists()) start_task()

public start_task() set_task(CHANGE_TIME, "change_map")
public change_map() server_cmd("amx_map ^"%s^"", preferred_map)
Ако ползваш АМХХ 1.8.3, замени client_disconnect с client_disconnected.
Ъхъ, Благодаря "VeCo". Ще направя това което ми обясни , но за момента няма как да го тествам, нека остане отворена темата за сега... За "жалост" имало и хора в сървъра :drunk: .
Но не ми "комилира" кода - ето грешките:

changemap.sma(1) : error 010: invalid function or declaration

1 Error.
Could not locate output file changemap.amx (compile failed).

Потребителски аватар

<VeCo>
AMXX Скриптър
AMXX Скриптър
Мнения: 115
Регистриран: 28 яну 2019, 19:01
Се отблагодари: 4 пъти
Получена благодарност: 37 пъти

Заявка за Auto Map Change...

Мнение от <VeCo> » 12 мар 2019, 20:06

Не си копирал кода правилно.
:pepo_think3:

Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 359
Регистриран: 17 мар 2018, 15:34
Се отблагодари: 101 пъти
Получена благодарност: 10 пъти

Заявка за Auto Map Change...

Мнение от iv69 » 12 мар 2019, 21:32

<VeCo> написа:
12 мар 2019, 20:06
Не си копирал кода правилно.
Да, моя е грешката, компилира се , копирало се е и : КОД: ИЗБЕРИ ВСИЧКИ... извинявам се, добре че вие скриптърите си разбирате :) !!!
А да попитам , видях , че освен client_disconnected има и надпис в кода client_connect - преправих го и него на client_connected - понеже съм със АМХХ 1.8.3 ...Нали не е грешка и далище работи или да остане само замяната която по-горе си посочил: client_disconnect с client_disconnected ???

Потребителски аватар

<VeCo>
AMXX Скриптър
AMXX Скриптър
Мнения: 115
Регистриран: 28 яну 2019, 19:01
Се отблагодари: 4 пъти
Получена благодарност: 37 пъти

Заявка за Auto Map Change...

Мнение от <VeCo> » 12 мар 2019, 22:03

iv69 написа:
12 мар 2019, 21:32
<VeCo> написа:
12 мар 2019, 20:06
Не си копирал кода правилно.
Да, моя е грешката, компилира се , копирало се е и : КОД: ИЗБЕРИ ВСИЧКИ... извинявам се, добре че вие скриптърите си разбирате :) !!!
А да попитам , видях , че освен client_disconnected има и надпис в кода client_connect - преправих го и него на client_connected - понеже съм със АМХХ 1.8.3 ...Нали не е грешка и далище работи или да остане само замяната която по-горе си посочил: client_disconnect с client_disconnected ???
client_connect не го пипай, той си е така

Стария disconnect не покриваше всички случаи, в АМХХ 1.8.3 го оправиха и добавиха още функционалност към него, но не знам защо са решили да направят нов вместо да променят стария...
:pepo_think3:

Потребителски аватар

OciXCrom TM
Администратор
Администратор
Мнения: 5193
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 66 пъти
Получена благодарност: 513 пъти
Години: 21
Контакти:

Заявка за Auto Map Change...

Мнение от OciXCrom TM » 12 мар 2019, 22:22

client_connected не съществува. Има client_connectex, обаче не е нужно в този случай.
<VeCo> написа:
12 мар 2019, 22:03
но не знам защо са решили да направят нов вместо да променят стария...
Късно се сетиха, че може да направят това.

Потребителски аватар

<VeCo>
AMXX Скриптър
AMXX Скриптър
Мнения: 115
Регистриран: 28 яну 2019, 19:01
Се отблагодари: 4 пъти
Получена благодарност: 37 пъти

Заявка за Auto Map Change...

Мнение от <VeCo> » 12 мар 2019, 22:38

OciXCrom написа:
12 мар 2019, 22:22
client_connected не съществува. Има client_connectex, обаче не е нужно в този случай.
<VeCo> написа:
12 мар 2019, 22:03
но не знам защо са решили да направят нов вместо да променят стария...
Късно се сетиха, че може да направят това.
Яко осрано тва API.
Викат "хаха dev версия сме нищо тука не е официално", да да добре, затова се правят на ощипани да си оправят тъпотиите да не вземат да развалят някой нов плъгин, който изпозва "нестабилна" версия на АМХХ... :headbang: :headbang:
:pepo_think3:

Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 359
Регистриран: 17 мар 2018, 15:34
Се отблагодари: 101 пъти
Получена благодарност: 10 пъти

Заявка за Auto Map Change...

Мнение от iv69 » 13 мар 2019, 08:26

<VeCo> написа:
12 мар 2019, 22:03
iv69 написа:
12 мар 2019, 21:32
<VeCo> написа:
12 мар 2019, 20:06
Не си копирал кода правилно.
Да, моя е грешката, компилира се , копирало се е и : КОД: ИЗБЕРИ ВСИЧКИ... извинявам се, добре че вие скриптърите си разбирате :) !!!
А да попитам , видях , че освен client_disconnected има и надпис в кода client_connect - преправих го и него на client_connected - понеже съм със АМХХ 1.8.3 ...Нали не е грешка и далище работи или да остане само замяната която по-горе си посочил: client_disconnect с client_disconnected ???
client_connect не го пипай, той си е така

Стария disconnect не покриваше всички случаи, в АМХХ 1.8.3 го оправиха и добавиха още функционалност към него, но не знам защо са решили да направят нов вместо да променят стария...
Благодаря ! Плъгина работи точно както исках ! Мога да го препоръчам и на останалите !!!
:lock:

Заключена

Върни се в “Заявки за плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 1 гост