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

Pare pytań^^


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

#1 Daron

    Nowy

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:8
  • Lokalizacja:Opole
Offline

Napisano 18.04.2010 21:23

Witam!
Mam parę pytań a konkretnie:
1. Jak zrobić aby wiadomość była pokazana tylko 1 graczowi a nie wszystkim?
2. Jak zrobić aby określona wiadomość, była wysyłana na czat każdemu co określoną ilość sekund?
3. Jak zrobić aby mógł użyć komendy tylko co określony czas, czyli jak wpisze przed upływem czasu to pisze np "musisz czekać jeszcze XX sekund" ?
  • +
  • -
  • 0

#2 Monsulito

    Profesjonalista

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:201
  • Lokalizacja:Gdańsk
Offline

Napisano 18.04.2010 21:39

1.Jak ktos wpisze /wiadmosc pokaze mu sie wiadmosc "elo"

#include <amxmodx>
#include <amxmisc>
public plugin_init() {
register_clcmd("say /wiadmomosc","message")
}
public message(id)
{
client_print(id, print_chat, "elo")
}

2. Pokazuje co 120 sek wiadomosc "elo

#include <amxmodx>
#include <amxmisc>
public plugin_init() {
set_task(120.0, "info", 0, "", 0, "b") // tam gdzie 120 to co ile sek.
}
public_info(id)
{
client_print(0, print_chat, "elo")

Użytkownik Monsulito edytował ten post 18.04.2010 21:42

  • +
  • -
  • 1
RPG MOD - [||||||||||] 5%

#3 Daron

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:8
  • Lokalizacja:Opole
Offline

Napisano 19.04.2010 18:38

1.Jak ktos wpisze /wiadmosc pokaze mu sie wiadmosc "elo"


#include <amxmodx>
#include <amxmisc>
public plugin_init() {
register_clcmd("say /wiadmomosc","message")
}
public message(id)
{
client_print(id, print_chat, "elo")
}

2. Pokazuje co 120 sek wiadomosc "elo

#include <amxmodx>
#include <amxmisc>
public plugin_init() {
set_task(120.0, "info", 0, "", 0, "b") // tam gdzie 120 to co ile sek.
}
public_info(id)
{
client_print(0, print_chat, "elo")



Te pozostałe parametry w 2 to do czego? :D ("info", 0, "", 0, "b")

a z 3 ktoś pomoże? :)
  • +
  • -
  • 0

#4 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 19.04.2010 19:25

Te pozostałe parametry w 2 to do czego? :D ("info", 0, "", 0, "b")


set_task ( Float:time, const function[], id = 0, parameter[]="", len = 0, flags[]="", repeat = 0 )

Omówie teraz poszczególne parametry:

time (typ float - zmienno przecinkowy) - tu podajemy czas w sekundach po jakim ma być wywołana funkcja. Może to być liczba znana już przed kompilacją (np 10.0 - zawsze dajemy wartość po przecinku, nawet jak jest to liczba całkowita). Może to też być zdeklarowana zmienna typu float o dowolnej wartości (choć rozsądek podpowiada by to były liczby nie ujemne ;> )

function[] - jak nam zdradza oznaczenie ' [] ' zmienna ta zbudowana jest z ciągu znakowego. Ciąg ten musi być nazwą funkcji w naszym plugu.

id - zmienna id oznacza nr identyfikacyjny naszego task'a. Jeśli jej nie zdeklarujemy (tj. użyjmy taska tylko z 2 parametrami), to id będzie miało wartość 0. Istotną rzeczą, jak też często pomijaną przez programistów jest zadbanie by nasz task miał jedyną w swoim rodzaju nr. id.

Znajomość id taska daje nam dostęp do następujących funkcji:

task_exists ( id = 0, outside = 0 ) - sprawdzanie czy task o podanym id istnieje
change_task ( id = 0, Float:newTime=1.0, outside = 0 ) - zmienianie czasu wywołania taska
remove_task ( id = 0, outside = 0 ) - usuwa taska o podanym id - funkcja nie zostaje wywołana a dane zawarte w tasku zostają utracone.

outside - gdy wartość jest równa 1 to są też brane taski z poza naszego pluga.

parameter - tutaj możemy przechowywać dowolnie wiele danych dla wywołanej danym taskiem funkcji. Parameter działą razem ze zmienną len w której jest zawarta informacja o ilości elementów w zmiennej parameter.

flags - tu są przechowywane flagi typu wykonywanego tasku - gdy nie jest on zdefiniowany to task jest wykonywany 1 raz po określonym czasie od momentu wywołania. Mamy do dyspozycji flagi:
"a" - powtarza funkcje określoną liczbę razy (zmienna repeat ) - po wywołaniu funkcji zostaje jakoby zrobiony nowy task z takim samym opóźnieniem.
"b" - bardzo podobna do flagi z "a" tylko z 1 wyjątkiem - task będzie zapętlany aż do zmiany mapy lub do usunięcia taska.
"c" - wykonywana po czasie "timeleft"
"d" - wykonywana przed czasem "timeleft"


Scripting>Tutoriale>set_task - funkcje czasowe

II. Pisanie tematów:

* Zanim założysz nowy temat skorzystaj z opcji szukaj.


Forum Główne>Informacje>Regulamin Forum

Co do 3. pkt, może być np. raz na spawn?
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

new bool:used[33]

public plugin_init()
{
register_clcmd("say /wiadmomosc","message")
RegisterHam(Ham_Spawn, "player", "Spawn", 1)
}

public Spawn(id)
{
used[id]=false
}

public message(id)
{
if(!used[id]==false) return PLUGIN_HANDLED
client_print(id, print_chat, "elo")
used[id]=true
return PLUGIN_HANDLED
}

Użytkownik sbstn edytował ten post 19.04.2010 19:36

  • +
  • -
  • 1
-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 Daron

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:8
  • Lokalizacja:Opole
Offline

Napisano 21.04.2010 16:42

Dzięki :)
sbstn - > jutro dam Ci rep+ bo wykorzystałem limit dzienny czy jakoś tak xD
  • +
  • -
  • 0




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

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