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
 

Zdjęcie

Error logi - block_team_flash.amxx


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 michal7840

    Wszechpomocny

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:334
  • Imię:Michał
Offline

Napisano 28.05.2015 20:12

Siemanes. Dzisiaj zobaczyłem że plugin block_team_flash.amxx zaczął walić error logami, niżej cały error.

L 05/28/2015 - 17:56:57: Start of error session.
L 05/28/2015 - 17:56:57: Info (map "de_tuscan") (file "addons/amxmodx/logs/error_20150528.log")
L 05/28/2015 - 17:56:57: [CSTRIKE] Invalid player 5
L 05/28/2015 - 17:56:57: [AMXX] Displaying debug trace (plugin "block_team_flash.amxx")
L 05/28/2015 - 17:56:57: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 05/28/2015 - 17:56:57: [AMXX]    [0] float.inc::operator==(Float:,Float:) (line 126)
L 05/28/2015 - 17:56:57: [AMXX]    [1] block_team_flash_2904091.sma::Event_ScreenFade (line 67)

I .sma pluginu:

/**
 * 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()
	}
}

Dziwne, bo plugin wcześniej działał normalnie :P Wiecie jak to naprawić?


Użytkownik michal7840 edytował ten post 28.05.2015 20:14


#2 NieWiemMamMac@

    Wszechwidzący

  • Użytkownik

Reputacja: 166
Profesjonalista

  • Postów:289
  • Imię:Kamil
  • Lokalizacja:Lokalizacja
Offline

Napisano 04.06.2015 23:22

daj sprawdzanie czy gracz jest połączony na początku w Event_ScreenFade.

if(is_user_connected(id) && id != g_iCurrentFlasher && g_flCurrentGameTime == flGameTime && cs_get_user_team(id) == cs_get_user_team(g_iCurrentFlasher))

  • +
  • -
  • 0

Pomagam z klasami/perkami/silnikiem COD

Kontakt:

[email protected]

PW

 


#3 michal7840

    Wszechpomocny

  • Autor tematu
  • Zbanowany

Reputacja: 7
Nowy

  • Postów:334
  • Imię:Michał
Offline

Napisano 04.06.2015 23:39

 

daj sprawdzanie czy gracz jest połączony na początku w Event_ScreenFade.

if(is_user_connected(id) && id != g_iCurrentFlasher && g_flCurrentGameTime == flGameTime && cs_get_user_team(id) == cs_get_user_team(g_iCurrentFlasher))

 

Czyli cały .sma powinien wyglądać tak?

/**
 * 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(is_user_connected(id) && id != g_iCurrentFlasher && g_flCurrentGameTime == flGameTime && cs_get_user_team(id) == cs_get_user_team(g_iCurrentFlasher))
	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()
	}
}


#4 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 05.06.2015 01:36

nie jest to potrzebne, poniewaz flaga B w evencie sprawdza czy gracz jest polaczony...


  • +
  • -
  • 0

#5 NieWiemMamMac@

    Wszechwidzący

  • Użytkownik

Reputacja: 166
Profesjonalista

  • Postów:289
  • Imię:Kamil
  • Lokalizacja:Lokalizacja
Offline

Napisano 05.06.2015 08:45

nie jest to potrzebne, poniewaz flaga B w evencie sprawdza czy gracz jest polaczony...

wut!? :wstyd:
michal7840

public Event_ScreenFade

public Event_ScreenFade(id)
{
    new Float:flGameTime = get_gametime()
    if(is_user_connected(id) && id != g_iCurrentFlasher && g_flCurrentGameTime == flGameTime && cs_get_user_team(id) == cs_get_user_team(g_iCurrentFlasher)) // 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()
    }
}

 


  • +
  • -
  • 0

Pomagam z klasami/perkami/silnikiem COD

Kontakt:

[email protected]

PW

 





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

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