Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

set_task


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 camilost

    ^ BotQ - STER.owiec ^

  • Power User

Reputacja: 430
Wszechobecny

  • Postów:968
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Tychy
Offline

Napisano 04.05.2010 01:53

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:
		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")
}

  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1725
Godlike

  • Postów:6881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 04.05.2010 10:06

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")
}

  • +
  • -
  • 1

#3 nad3jf

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:68
  • GG:
  • Lokalizacja:xx.xxx.xxx:xxx
Offline

Napisano 04.05.2010 11:47

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ń

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.

Użytkownik nad3jf edytował ten post 04.05.2010 11:49

  • +
  • -
  • 0

#4 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 04.05.2010 11:58

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")
}

  • +
  • -
  • 0
-Piszę pluginy na zamówienie.
-Przerabiam pluginy (nie mody) na zamówienie.
-Piszę kursy/poradniki "Pisania pluginów w PAWN'ie"

Nie udzielam pomocy na GG, ani na innym komunikatorze internetowym.
Masz sprawę? PISZ NA PW

#5 nad3jf

    Pomocny

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:68
  • GG:
  • Lokalizacja:xx.xxx.xxx:xxx
Offline

Napisano 04.05.2010 12:50

Ja bym zrobił to tak: (Jeżeli koniecznie z set_task 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! -.-")
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?

Użytkownik nad3jf edytował ten post 04.05.2010 12:51

  • +
  • -
  • 1

#6 Lukasz5

    Godlike

  • Power User

Reputacja: 276
Wszechwidzący

  • Postów:1414
  • Imię:Łukasz
  • Lokalizacja:C: / WINDOWS
Offline

Napisano 04.05.2010 15:36

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... ;)
  • +
  • -
  • 0

#7 camilost

    ^ BotQ - STER.owiec ^

  • Autor tematu
  • Power User

Reputacja: 430
Wszechobecny

  • Postów:968
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Tychy
Offline

Napisano 04.05.2010 23:58

Dzięki za odświeżenie pamięci/pomoc :D
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych