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.
|
Godzina z serwera
#1
Napisano 22.04.2010 13:28
#2
Napisano 22.04.2010 17:19
(aczkolwiek nie sprawdzałem)
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Funkcja 8:00-10:00"
#define VERSION "1.0"
#define AUTHOR "AMXX.pl"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(1.0,"checker",_,_,_,"b")
}
public checker()
{
new timer[9]
new clock=get_time("%H",timer,8)
if(8<=clock<10)
{
funkcja()
}
}
public funkcja()
{
// Whatever u like
}
EDIT: W sumie lepiej będzie raz na rundę sprawdzać, niż raz na 1s
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Funkcja 8:00-10:00"
#define VERSION "1.0"
#define AUTHOR "AMXX.pl"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "checker", "a", "1=0", "2=0")
}
public checker()
{
new timer[9]
new clock=get_time("%H",timer,8)
if(8<=clock<10)
{
funkcja()
}
}
public funkcja()
{
// Whatever u like
}
Użytkownik sbstn edytował ten post 22.04.2010 18:43
-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
#3
Napisano 22.04.2010 20:18
Użytkownik Potatek edytował ten post 22.04.2010 20:29
#4
Napisano 22.04.2010 20:51
Hmm... Wiele sposobów jest moim zdaniem, ale ja przytoczę taki jeden (chociaż i tak nie mam warunków do sprawdzenia):A jeśli np miało być w konsoli wpisywana komenda np. o godzinie 5 w nocy na sayu informuje graczy że mamy właśnie tą godzine, jak powinien wyglądać kod ?
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "5 nad ranem"
#define VERSION "1.0"
#define AUTHOR "AMXX.pl"
new bool:zrobione
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "checker", "a", "1=0", "2=0")
zrobione=false
}
public checker()
{
new timer[9]
new clock=get_time("%H",timer,8)
if(clock==5 && zrobione==false)
{
funkcja()
}
}
public funkcja()
{
console_print(0,"*********************************")
console_print(0,"[AMXX] Jest godzina 5:00... Co tak wczesnie?!")
console_print(0,"*********************************")
zrobione=true
return PLUGIN_HANDLED
}
EDIT: Zapomniałem o minusach tego kodu. Przypuśćmy, że mapa właśnie się zaczęła. Jest godzina 4:50. Gramy 10min. I w konsoli wszystkim się pokazuje (plaplaplapla). Mapa trwa 20min (ex.). Na następnej mapce również pokaże (plaplaplapla). I tak aż do godziny 5:59. Reasumując to tłumaczenie, plugin działa non stop od godziny 5:00 do 5:59, raz na mapę
Użytkownik sbstn edytował ten post 22.04.2010 20:55
-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
Napisano 22.04.2010 21:09
#6
Napisano 22.04.2010 21:25
O kurde Trzeba to jakoś zamknąć, nie może przez całą godzine pisać mi pewnej komendy... musi to zrobić raz
Nie zrozumiałeś mnie. Co mapę od godziny 5:00 do 5:59 1 raz wywoła komendę!
EDIT:
Np.:
godz. 4:50 de_dust 2 ->funkcja nie działa (OFF)
godz. 5:00 de_dust -> funkcja wywoływana raz na mapę!
godz. 5:25 de_nuke -> funkcja wywoływana raz na mapę!
godz. 5:59 de_inferno -> funkcja wywoływana raz na mapę!
godz. 6:00 de_inferno -> OFF
Użytkownik sbstn edytował ten post 22.04.2010 21:35
-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
#7
Napisano 22.04.2010 21:36
EDIT: Po co jest: new bool:zrobione ?? Niezbyt rozumiem tą zmienną po co ona wogóle jest
Użytkownik Potatek edytował ten post 22.04.2010 21:39
#8
Napisano 22.04.2010 21:47
Scripting>Tutoriale>Zmienne- co i jak?Bool:
Tzw. zmienna logiczna, która przechowuje tylko wartość true(1), lub false(0). Zazwyczaj używane do tego, żeby określić czy coś jest włączone, lub nie.
Deklaracja:
new bool:zmienna;
Jak napisane w poradniku @up, można ją porównać do przełącznika on/off. Poczytaj troszkę tutoriali! AMXX.pl ma nawet dobry zbiór!
-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
#9
Napisano 22.04.2010 22:17
Ale nadal nie wiem co zrobić by ta komenda była tylko jeden raz w ciągu godziny
#10
Napisano 22.04.2010 22:23
@topic: nie da sie wywolac raz na godzine, chyba ze ustawisz czas mapy na 60min. funkcja 'public plugin_init' dziala zawsze po zmianie mapy.
Pozdrawiam, sbstn aka siwy. (Pisze z tel, wiec wybaczcie brak polskich znakow)
-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
#11
Napisano 22.04.2010 22:39
Dzięki za pomoc, można zamknąć
#12
Napisano 23.04.2010 07:03
Jesli w tym kodzie uzyjesz plugin_init, to pamietaj ze funkcja bedzie wykonywana po zmianie mapy. Wiec musisz inaczej to wykombinowac... Nie mam pomyslu. (latwiej jest robic funkcje trwajace od czasu x do czasu x...)Podstaw ucze się z praktyki, pomocy kolegów i czytaniu + analiza gotowców... Jak znajde czas to zobacze podstawy, w weekend zajme się tutorialami z forum. Hmm a może by tak zrobić żeby o godz 6 zmieniało zmienną na true. Jutro zobacze jak to w praktyce zadziała.
Dzięki za pomoc, można zamknąć
«tel»
-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
#13
Napisano 23.04.2010 07:04
public checker()
{
new timer[9]
new hour = get_time("%H",timer,8)
new timerm[9]
new minut = get_time("%M",timerm,8)
if(hour==5 && minut==00 && zrobione==false)
{
funkcja()
}
}
albo w zasadzie, to powinno dać podobny efekt:
public checker()
{
new godzina, minuta
time(godzina,minuta)
if(godzina==5 && minuta==00 && zrobione==false)
{
funkcja()
}
}
IP: ts3.cserwerek.pl
#14
Napisano 23.04.2010 07:20
-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
#15
Napisano 23.04.2010 13:11
23 kwiecień 2010 - 14:38:
#include <amxmodx> #include <amxmisc> #include <cstrike> #define PLUGIN "Funkcja 8:00-10:00" #define VERSION "1.0" #define AUTHOR "AMXX.pl" new bool:zrobione public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) set_task(1.0,"checker",_,_,_,"b") zrobione=false } public checker() { new godzina, minuta time(godzina,minuta) if(godzina==15 && minuta==30 && zrobione==false) { funkcja() } } public funkcja() { client_print(0, print_chat, "*******") client_print(0, print_chat, "15:30") client_print(0, print_chat, "*******") zrobione=true return PLUGIN_HANDLED }
To jest poprawne? bo nie wyświetliło godziny Chciałem zrobić test i nie działa
Użytkownik Potatek edytował ten post 23.04.2010 13:56
#16
Napisano 23.04.2010 14:54
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "15:30"
#define VERSION "1.0"
#define AUTHOR "AMXX.pl"
new bool:zrobione
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
zrobione=false
set_task(30.0,"checker",_,_,_,"b")
}
public checker()
{
new time_h[9]
new time_m[9]
new hour=get_time("%H",time_h,8)
new minutes=get_time("%M",time_m,8)
if(hour==15 && minutes==30 && zrobione==false)
{
funkcja()
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
public funkcja()
{
client_print(0, print_chat, "*******")
server_cmd("wait")
client_print(0, print_chat, "15:30")
server_cmd("wait")
client_print(0, print_chat, "*******")
server_cmd("wait")
zrobione=true
return PLUGIN_CONTINUE
}
EDIT: Funkcja time, z tego co pamiętam, jest w module "core". Nie masz w kodzie #include <core>.
Użytkownik sbstn edytował ten post 23.04.2010 14:57
-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
#17
Napisano 23.04.2010 15:08
#include <amxmodx> #include <amxmisc> #include <core> #define PLUGIN "test" #define VERSION "1.0" #define AUTHOR "GuitarGryf" new bool:zrobione public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) zrobione=false set_task(30.0,"checker",_,_,_,"b") } public checker() { new time_h[9] new time_m[9] new hour=get_time("%H",time_h,8) new minutes=get_time("%M",time_m,8) if(hour==14 && minutes==22 && zrobione==false) { funkcja() return PLUGIN_CONTINUE } return PLUGIN_HANDLED } public funkcja() { client_print(0, print_chat, "*******************") server_cmd("wait") client_print(0, print_chat, "Plugin Dziala!") server_cmd("wait") client_print(0, print_chat, "*******************") server_cmd("wait") zrobione=true return PLUGIN_CONTINUE }
Teoretycznie dobrze a na serwerze nic się nie działo na pewno dobrze skonstruowane pobieranie czasu?
24 kwiecień 2010 - 08:54:
ReF
Użytkownik Potatek edytował ten post 23.04.2010 20:04
#18
Napisano 24.04.2010 09:16
Poza tym kto mi wytłumaczy co zwraca funkcja get_time ?
new time_h[9] new time_m[9] new hour=get_time("%H",time_h,8) new minutes=get_time("%M",time_m,8)Nie testowałem, ale w dokumentacji nie ma nic o tym żeby zwracała jakiś wynik, jedynie do stringa podanego jako parametr.
A tutaj...
Trzeba by zrobić tak:
new time_h[9] get_time("%H",time_h,8) new hour=str_to_num(time_h)Tylko po co tak kombinować skoro to załatwić się da w 2 linijkach, bez stringów, bez przekształceń:
new godzina, minuta time(godzina,minuta)
Poza tym czas na serwerze może być inaczej ustawiony niż u ciebie. Wpisz w say "thetime"
#19
Napisano 24.04.2010 09:33
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#20
Napisano 24.04.2010 09:45
pisałem o get_time a nie o time...time samo w sobie zwraca czas od poczatku ery lajnuxowej a godziny/minuty/sekundy zwraca przez referencje
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych