Respawn команда

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
chillblaze
Извън линия
Потребител
Потребител
Мнения: 11
Регистриран на: 12 Окт 2016, 14:53

Respawn команда

Мнение от chillblaze » 22 Окт 2016, 02:33

Плугин , който да респаунва играча с написване на командата /respawn и /res
Без значение дали играча е жив или мъртъв.
Да запомня играчите по ип или никнейм с право на респаун - 1 път на карта.
п.с. Благодаря на JustInCase и OciXCrom :beer:
Последно промяна от chillblaze на 23 Окт 2016, 01:57, променено общо 2 пъти.

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

Re: Respawn команда

Мнение от JustInCase » 22 Окт 2016, 11:01

Тествай. Провери и дали може след смяна на картата пак да се използва командата защото не съм добавил такава проверка.


EDIT :
Тествал съм го вече. Всичко работи! :)

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

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "Respawn Command"
#define VERSION "1.0"
#define AUTHOR "JustInCase"

new const szLimit = 1
new szUses[33]

new szChatCommands[][] = {
    "say /respawn", "say_team /respawn",
    "say /res", "say_team /res"
}


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	for ( new i = 0; i < sizeof szChatCommands; i++)
	register_clcmd( szChatCommands[i], "RespawnF" )
	
}
public RespawnF(id)
{
	if(szUses[id]++ >= szLimit)
	{
		client_print(id, print_center, "You can use this command once per map")
		return PLUGIN_HANDLED
	}
	else ExecuteHamB(Ham_CS_RoundRespawn, id)
	return PLUGIN_HANDLED
}
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Respawn команда

Мнение от OciXCrom » 22 Окт 2016, 15:28

  • Не си добавил запазване до края на картата.
  • Ако не рестартираш стойността на szUses когато играч влезне в сървъра, тя ще се прехвърли на напълно друг играч, който ще получи id-то на предишния.
  • szLimit, szUses - "sz" се ползва за стрингове, в случая ползваш числа (интежер) и правилно е да се пишат iLimit, iUses.
Поправен код:

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

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "Respawn Command"
#define VERSION "1.0"
#define AUTHOR "AMXX-BG.info"

new const g_iLimit = 1
new g_iUses[33]

new Trie:g_tUses
new g_szIP[33][16]

new g_szChatCommands[][] = {
    "say /respawn", "say_team /respawn",
    "say /res", "say_team /res"
}

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    for(new i; i < sizeof(g_szChatCommands); i++)
        register_clcmd(g_szChatCommands[i], "RespawnF")
        
    g_tUses = TrieCreate()
}

public plugin_end()
    TrieDestroy(g_tUses)

public RespawnF(id)
{
    if(g_iUses[id]++ >= g_iLimit)
        client_print(id, print_center, "You can use this command once per map")
    else
        ExecuteHamB(Ham_CS_RoundRespawn, id)
        
    return PLUGIN_HANDLED
}

public client_putinserver(id)
{
    g_iUses[id] = 0
    get_user_ip(id, g_szIP[id], charsmax(g_szIP[]))
    TrieGetCell(g_tUses, g_szIP[id], g_iUses[id])
}

public client_disconnect(id)
    TrieSetCell(g_tUses, g_szIP[id], g_iUses[id]) 

Аватар
chillblaze
Извън линия
Потребител
Потребител
Мнения: 11
Регистриран на: 12 Окт 2016, 14:53

Re: Respawn команда

Мнение от chillblaze » 22 Окт 2016, 17:27

Мерси. Ще го тествам днес по някое време.

п.с. Перфектен 8)

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

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

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 27 госта