Skocz do zawartości

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
 

EbuBebu - zdjęcie

EbuBebu

Rejestracja: 25.11.2019
Aktualnie: Nieaktywny
Poza forum Ostatnio: 14.06.2020 15:13
-----

Moje posty

W temacie: Prośba o przerobienie pluginu

26.03.2020 14:11

 

Ale uwaga - twój serwer może miec ustawioną inną strefę czasową lub może być godzine w przód lub tył. Dlatego pasowałoby napisać prosty plugin, któremu podasz date w formacie czytelnym dla człowieka, a on to zamieni na unix time i będzie cacy

 

 

A byłbyś w stanie mi coś takiego szybko na kolanie naskrobać? :D 

W temacie: Prośba o przerobienie pluginu

23.03.2020 22:14

Jasne, że nie działa...

Wszystko zrobiłem poza aktualizowaniem czasu ostatniego resetu, ale dobrze wiedzieć, że to co jest to działa.

Wrzucam poprawke. Przed odpaleniem serwa usuń sobie plik resetTime.txt z folderu data i wtedy odpal serwer i powinien sie stworzyc

Reszta bez zmian.

Działa :o

Ale sztos, dzięki wielkie! Możesz mi tylko wyjaśnić jeszcze w jaki sposób dokładniej to działa?

 

Jak ustawię na 5 minut to resetuje za każdym razem kiedy jest np. 22:06 , 22:11, 22:16 itd. więc żeby resetowało mi co tydzień muszę plugin uruchomić właśnie o północy dnia którego chce żeby były resety.  Dobrze rozumiem? :D

W temacie: Prośba o przerobienie pluginu

23.03.2020 19:49

Łap i testuj. nie daje głowy ze to zadziala, ale powinno.

Wymagany jest reset bazy - trzeba usunac tabele players_time - plugin stworzy nową strukture.

Zobacz czy plugin będzie resetował dobrze. 

new const RESET_TIME = 60 * 60 * 24 * 7;

tu ustawiasz co ile resetowac (w sekundach)

jest ustawione na tydzien, ale mozesz sb zmienic na 20minut na przyklad zeby przetestowac.

Jak co to daj znac i sie poprawi

 

Na wstępie dzięki za pomoc mordo!   :ok:

 

Niestety coś jest chyba nie tak, ustawiłem time na: new const RESET_TIME = 60 * 5 * 1 * 1;

Myślałem, że będzie resetować co 5 minut jednak resetuje tylko podczas zmiany mapy. Kiedy mapę zmienię np. po minucie od poprzedniej również resetuje czas. 

W temacie: Szukam - Anty Flesh Team

22.03.2020 11:37

Witaj, ja od tygodnia korzystam aktualnie z tego:

/**
 * Team Flash Blocker
 * Written by GwynBleidD
 * based on Connor's Team Flash Punish v1.1.1
 */

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#define VERSION "1.0"

const MAX_PLAYERS = 32

new g_iMaxPlayers
#define IsPlayer(%1)	( 1 <= %1 <= g_iMaxPlayers )

new g_bitGonnaExplode[64]
#define SetGrenadeExplode(%1)		g_bitGonnaExplode[%1>>5] |=  1<<(%1 & 31)
#define ClearGrenadeExplode(%1)	g_bitGonnaExplode[%1>>5] &= ~( 1 << (%1 & 31) )
#define WillGrenadeExplode(%1)		g_bitGonnaExplode[%1>>5] &   1<<(%1 & 31)

new Float:g_flCurrentGameTime, g_iCurrentFlasher

new g_msgScreenFade;

public plugin_init()
{
	register_plugin("Team Flash Blocker", VERSION, "GwynBleidD")
	register_event("ScreenFade", "Event_ScreenFade", "be", "4=255", "5=255", "6=255", "7>199")
	RegisterHam(Ham_Think, "grenade", "CGrenade_Think")

	g_iMaxPlayers = get_maxplayers()
	g_msgScreenFade = get_user_msgid("ScreenFade")
}

public CGrenade_Think( iEnt )
{
	static Float:flGameTime, Float:flDmgTime, iOwner
	flGameTime = get_gametime()
	pev(iEnt, pev_dmgtime, flDmgTime)
	const XO_GRENADE = 5
	if(	flDmgTime <= flGameTime
	// VEN's way on how to detect grenade type
	// http://forums.alliedmods.net/showthread.php?p=401189#post401189
	&&	get_pdata_int(iEnt, 114, XO_GRENADE) == 0 // has a bit when is HE or SMOKE
	&&	!(get_pdata_int(iEnt, 96, XO_GRENADE) & (1<<8)) // has this bit when is c4
	&&	IsPlayer( (iOwner = pev(iEnt, pev_owner)) )	) // if no owner (3rd 'after dmgtime' frame), grenade gonna be removed from world
	{
		if( ~WillGrenadeExplode(iEnt) ) // grenade gonna explode on next think
		{
			SetGrenadeExplode( iEnt )
		}
		else
		{
			ClearGrenadeExplode( iEnt )
			g_flCurrentGameTime = flGameTime
			g_iCurrentFlasher = iOwner
		}
	}
}

public Event_ScreenFade(id)
{
	new Float:flGameTime = get_gametime()
	if(	id != g_iCurrentFlasher
		&&	g_flCurrentGameTime == flGameTime
		&&	cs_get_user_team(id) == cs_get_user_team(g_iCurrentFlasher)	
		&&  is_user_connected(id)) // edit by Filip, bez tego wyskakiwały error logi 
	{		
		message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id)
		write_short(1)
		write_short(1)
		write_short(1)
		write_byte(0)
		write_byte(0)
		write_byte(0)
		write_byte(255)
		message_end()
	}
}

Jak na razie nie zauważyłem błędów, pozdro.

W temacie: Prośba o przerobienie pluginu

22.03.2020 11:34

Dałoby sie i nie jest to takie trudne.

Wymagałoby tylko dodania eventu do bazy danych lub zamieszczenia w pluginie resetowania tego.

Moge Ci to zrobić, ale aktualnie nie mam zbyt wiele czasu. Pingnij mnie jutro wieczorem

Nie do konca rozumiem co to znaczy "pingnij mnie" ale dziękuję bardzo za chęć pomocy. Jesteś mega :D