set_task
camilost
04.05.2010
Zrobiłem taki prosty plugin, jeśli gracz wpisze /kill to wyświetla info i zabija (Taki na zombie )
I potrzebuję w nim set_taska tylko nie wiem jak go poprawnie użyć, aby działał tylko na gracza który, użyje komendy. Tera jest tak że ktoś wpisze i wszystkich zabija
Takie coś mam:
Takie też pewnie źle wypełnione:
Całe .sma:
I potrzebuję w nim set_taska tylko nie wiem jak go poprawnie użyć, aby działał tylko na gracza który, użyje komendy. Tera jest tak że ktoś wpisze i wszystkich zabija
Takie coś mam:
set_task(60.0, "ZabijFrajera", _, _, _, "b")
Takie też pewnie źle wypełnione:
set_task(60.0, "Frajer", id, "b")
Całe .sma:
#include <amxmodx>
#include <fun>
public plugin_init() {
register_plugin("Frajer", "0.2", "BotQ")
register_clcmd("say /kill", "ZabijTegoFrajera")
}
public ZabijTegoFrajera(id) {
if (!is_user_hltv(id) && is_user_alive(id))
{
set_task(60.0, "ZabijFrajera", _, _, _, "b")
}
}
public ZabijFrajera(id) {
client_print(id, print_chat, "Frajer jestes i tyle. Bac sie zombie, porazka! -.-")
set_task(0.1, "ZabijGn_ja", _, _, _, "a", 1)
}
public ZabijGn_ja(id) {
client_cmd(id, "kill")
}
mgr inż. Pavulon
04.05.2010
Sprawdź:
#include <amxmodx> #include <fun> public plugin_init() { register_plugin("Frajer", "0.2", "BotQ") register_clcmd("say /kill", "ZabijTegoFrajera") } public ZabijTegoFrajera(id) { if (is_user_alive(id)) set_task(60.0, "ZabijFrajera", id) } public ZabijFrajera(id) { if (is_user_alive(id)) { client_print(id, print_chat, "Frajer jestes i tyle. Bac sie zombie, porazka! -.-") set_task(0.1, "ZabijGn_ja", id) } } public ZabijGn_ja(id) { client_cmd(id, "kill") }
nad3jf
04.05.2010
Z tego kodu wynika, że gracz po wpisaniu /kill otrzyma wiadomość i po odczekaniu minuty zostanie zabity. O to Ci chodziło?
Jeśli chcesz szybciej zmień
Przykładowo na:
To wykona po 3 sekundach od pisania kill funkcję zabij frajera.
Edited by nad3jf, 04.05.2010 11:49.
Jeśli chcesz szybciej zmień
set_task(60.0, "ZabijFrajera", id)
Przykładowo na:
set_task(3.0,"ZabijFrajera",id)
To wykona po 3 sekundach od pisania kill funkcję zabij frajera.
Edited by nad3jf, 04.05.2010 11:49.
sbstn
04.05.2010
Napisał, że potrzebuje set_task'a. Jakby nie potrzebował taska, to by to zrobił dużo prościej...
#include <amxmodx>
public plugin_init()
{
register_plugin("Frajer", "1.0", "AMXX.pl")
register_clcmd("say /kill", "ZabijTegoFrajera")
}
public ZabijTegoFrajera(id)
{
client_print(id, print_chat, "Frajer jestes i tyle. Bac sie zombie, porazka! -.-")
client_cmd(id,"kill")
}
nad3jf
04.05.2010
Ja bym zrobił to tak: (Jeżeli koniecznie z set_task to)
Jeżeli może być bez to:
P.S tak na marginesie po co dodałeś moduł Fun skoro to .sma go nie wymaga?
Edited by nad3jf, 04.05.2010 12:51.
#include <amxmodx>
public plugin_init() {
register_plugin("Frajer", "0.2", "BotQ")
register_clcmd("say /kill", "ZabijTegoFrajera")
}
public ZabijTegoFrajera(id) {
if (is_user_alive(id))
{
client_print(id, print_chat, "Frajer jestes i tyle. Bac sie zombie, porazka! -.-")
set_task(0.1, "ZabijGn_ja", id) // tutaj ustal po jakim czasie od wpisania komendy ma killnac gracza
}
}
public ZabijGn_ja(id) {
client_cmd(id, "kill")
}
Jeżeli może być bez to:
#include <amxmodx>
public plugin_init() {
register_plugin("Frajer", "0.2", "BotQ")
register_clcmd("say /kill", "ZabijTegoFrajera")
}
public ZabijTegoFrajera(id) {
if (is_user_alive(id))
{
client_print(id, print_chat, "Frajer jestes i tyle. Bac sie zombie, porazka! -.-")
client_cmd(id, "kill")
}
}
P.S tak na marginesie po co dodałeś moduł Fun skoro to .sma go nie wymaga?
Edited by nad3jf, 04.05.2010 12:51.
Lukasz5
04.05.2010
Może user_kill, bo ktoś może mieć skrypt i nie wykona na nim kill... Też podobnie zabijałem, ale mi inni o tym powiedzieli...