Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

1 плагин - вопросы)

Статус пользователя fr0x
сообщение 3.9.2009, 15:59
Сообщение #1


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

Решил написать 1 плагин для HUD рекламы.

Код
/*
spAmZz, v0.5
By fr0x
*/

new PLUGIN[]="spAmZz"
new AUTHOR[]="fr0x"
new VERSION[]="0.5"

#include <amxmodx>
#include <amxmisc>

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

set_hudmessage(255, 255, 255, 0.01, 0.23, 0)
show_hudmessage(id, "Visit our site - http://mServ.Net.Ru")

     return PLUGIN_HANDLED
}
public plugin_init()
{
     register_plugin(PLUGIN, VERSION, AUTHOR)
     register_clcmd("amx_spam", "spamfunction", ADMIN_BAN, " : prints Visit our site - http://mServ.Net.Ru to everyone by HUD")
}


вопрос вот в чём:
как сделать, чтобы я не вводил amx_spam в консоли, а чтобы каждые 120 секунд это сообщение появлялось.

Заранее спасибо.

ps: не ругайте, я всего 30 минут этим занимаюсь xD
pss: знаю что есть такие плагины. Но мне хочется сделать самому) ну и с вашей помощью.

Отредактировал: fr0x, - 3.9.2009, 16:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя STR@TEG
сообщение 3.9.2009, 20:39
Сообщение #2
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Можно взять что-нибудь с плагина imessage.amxx или scrollmsg.amxx
Там есть полезные функции.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Fedcomp
сообщение 4.9.2009, 8:21
Сообщение #3
Стаж: 17 лет

Сообщений: 3899
Благодарностей: 701
Полезность: 0

http://www.amxmodx.org/funcwiki.php?search...k&go=search
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pike
сообщение 4.9.2009, 10:14
Сообщение #4


Стаж: 18 лет

Сообщений: 956
Благодарности: выкл.

fr0x,
Код
/*
spAmZz, v0.5
By fr0x
*/

new PLUGIN[]="spAmZz"
new AUTHOR[]="fr0x"
new VERSION[]="0.5"

#include <amxmodx>
#include <amxmisc>

public spamfunction(id)
{
set_hudmessage(255, 255, 255, 0.01, 0.23, 0)
show_hudmessage(id, "Visit our site - http://mServ.Net.Ru")

}
public plugin_init()
{
     register_plugin(PLUGIN, VERSION, AUTHOR)
     //register_clcmd("amx_spam", "spamfunction", ADMIN_BAN, " : prints Visit our site - http://mServ.Net.Ru to everyone by HUD")
     set_task(120.0,"spamfunction",256,_,_,"b")
}


Отредактировал: pike z, - 4.9.2009, 10:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fr0x
сообщение 4.9.2009, 12:32
Сообщение #5


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

pike z, спасибо большое) буду знать теперь :)
Fedcomp, знаю я про это...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fr0x
сообщение 4.9.2009, 13:13
Сообщение #6


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

Маленько поправил :)

Код
/*
spAmZz, v1.0
By fr0x
*/

new PLUGIN[]="spAmZz"
new AUTHOR[]="fr0x"
new VERSION[]="1.0"

#include <amxmodx>
#include <amxmisc>

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

set_hudmessage(255, 255, 255, 0.01, 0.23, 0)
show_hudmessage(id, "Visit our site - http://mServ.Net.Ru")

     return PLUGIN_HANDLED
}
public plugin_init()
{
     register_plugin(PLUGIN, VERSION, AUTHOR)
//     register_clcmd("amx_spam", "spamfunction", ADMIN_BAN, " : prints Visit our site - http://mServ.Net.Ru to everyone by HUD")
     set_task(40.0,"spamfunction",_,_,_,"b")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fr0x
сообщение 4.9.2009, 14:25
Сообщение #7


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

ещё вопрос. Как сделать чтобы вместо правки исходника
Код
show_hudmessage(id, "Visit our site - http://mServ.Net.Ru")

можно было бы прописать в amxx.cfg квар amx_spamzz "text"?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 4.9.2009, 14:37
Сообщение #8
Стаж: 17 лет

Сообщений: 567
Благодарностей: 813
Полезность: 0

Цитата(fr0x @ 4.9.2009, 15:25) *
ещё вопрос. Как сделать чтобы вместо правки исходника
Код
show_hudmessage(id, "Visit our site - http://mServ.Net.Ru")

можно было бы прописать в amxx.cfg квар amx_spamzz "text"?



В функции public plugin_init() напиши

register_cvar("amx_spamzz_ad", "Visit our site - http://mServ.Net.Ru")

В фунции public spamfunction напиши

new spamzz_ad[512]
get_cvar_string("amx_spamzz_ad", spamzz_ad, sizeof(spamzz_ad) - 1)

set_hudmessage(255, 255, 255, 0.01, 0.23, 0)
show_hudmessage(0, spamzz_ad)

Заметь я написал 0 вместо ID, как было раньше, 0 - показывает HUD сообщение всем игрокам на сервере, а при ID ты показывал его только себе))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя fr0x
сообщение 4.9.2009, 14:41
Сообщение #9


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

MastaMan,
Цитата
Заметь я написал 0 вместо ID, как было раньше, 0 - показывает HUD сообщение всем игрокам на сервере, а при ID ты показывал его только себе))

Мде... я баран) спасибо за то что дал знать
Цитата
new spamzz_ad[512]

512 всегда должно быть?

За всё спасибо. Пошёл мудить.
ps: сори за глупые вопросы)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 4.9.2009, 14:44
Сообщение #10
Стаж: 17 лет

Сообщений: 567
Благодарностей: 813
Полезность: 0

Цитата
512 всегда должно быть?


Это означает что ты можешь испльзовать в качестве HUD текста 511 символов, если не хватает поставь больше.
Хотя думаю, столько тебе с головой хватит

Отредактировал: MastaMan, - 4.9.2009, 14:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя fr0x
сообщение 4.9.2009, 14:53
Сообщение #11


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

MastaMan, спасибо большое за помощь. Сразу видно что вы скриптер. :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fr0x
сообщение 5.9.2009, 10:30
Сообщение #12


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

есть ещё вопросы)
мне надо сделать так, чтобы я ввёл команду в консоли, например amx_dellaser
и он автоматически всем бы прописал бы bind "[" "+dellaser"

с помощью данной команды?
Код
client_cmd ( index, const command[], {Float,...} )

вместо индекса ставить 0 или 32 или вообще что-то другое? что такое Float

и ещё 1 вопрос:
часто встречаю плагины где в исходнике есть вот такое %s
что она означает?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 5.9.2009, 10:46
Сообщение #13
Стаж: 17 лет

Сообщений: 567
Благодарностей: 813
Полезность: 0

https://c-s.net.ua/forum/ipb.html?s=&sh...st&p=129461

Вот пример плагина который делает почти нужное действие, только вместо bind он делает connect, смотри аналогию.

-------------------------
float - число с плавающей запятой, пример: 2.0 , 3.14 , 0.05

Переменная объявляется: new float:x
-------------------------

new x[32] = "fr0x"
client_print (id, print_chat,"Имя: %s", x)


%s - текст
%d - числа
%f - числа с плавающей запятой

Почитай лучше это, и все станет ясно:

https://forums.alliedmods.net/showthread.ph...p;highlight=var
http://wiki.amxmodx.org/Pawn

А так же http://www.amxmodx.org/doc/index.html
Сверток Function Reference , Core

Отредактировал: MastaMan, - 5.9.2009, 10:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя fr0x
сообщение 5.9.2009, 11:07
Сообщение #14


Стаж: 18 лет

Сообщений: 334
Благодарностей: 125
Полезность: 624

Код
#include <amxmodx>
#include <amxmisc>

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "MMTransfer"
#define VERSION "1.0.0"
#define AUTHOR "MastaMan"

#define MMServer "tyt spam"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_concmd("mm_transfer", "CmdTransfer", ADMIN_SLAY, "connect players to...")
}

public CmdTransfer(id, level, cid)
{
    new MMPlayers[32], MMPnum, uid
    get_players (MMPlayers, MMPnum)
    
    for ( new i; i<MMPnum; i++ )
    {
        uid = MMPlayers[i]
        client_cmd(uid, "bind '[' 'say %s'", MMServer)
    }
    
    return PLUGIN_HANDLED
}


правильно?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
MastaMan
сообщение 5.9.2009, 11:50
Сообщение #15
Стаж: 17 лет

Сообщений: 567
Благодарностей: 813
Полезность: 0

client_cmd(uid, "bind ^"[^" ^"say %s^"", MMServer)

Отредактировал: MastaMan, - 5.9.2009, 11:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: