←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Kilka spraw; znikanie broni, nie pokazywan...

Zablokowany

  • +
  • -
naven - zdjęcie naven 16.06.2009

Witam, szukam 2 rzeczy, pierwsza była gdzieś na forum Miczu robił, chodzi o nie pokazywanie gdy gracz coś wpisze(chodzi np. o say /respawn)
Druga rzecz, to chciałbym, żeby znikały wyrzucone bronie, jeśli na serwerze więcej razy gracze zginą, to ich bronie zostają po nich i potem się tego dużo zbiera.
I jeszcze jedna rzecz, korzystam z tego: http://amxx.pl/viewtopic.php?t=3265
I mam latające same modele, np na ss2, jak zginę(bądź skorzystam z say /respawn) to widzę model mojego ciała spadający, utrzymuje się przez jakieś 5 sekund, chcę, aby tego w ogóle nie było.

Pozdro
Odpowiedz

  • +
  • -
darkman - zdjęcie darkman 16.06.2009

1. w funkcji od komendy dajesz return PLUGIN_HANDLED na końcu
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 16.06.2009

2.
#include <fakemeta>

public plugin_init() {

	register_forward(FM_SetModel,"fwSetModel",1);
}
public fwSetModel(ent){
	new szClassName[32];
	pev(ent, pev_classname, szClassName, 31);
	if(equal(szClassName, "weaponbox")){
		disable_weapon(ent);
		return FMRES_OVERRIDE;
	}
	return FMRES_IGNORED;
}
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
	new Float:RenderColor[3]
	RenderColor[0] = float(r)
	RenderColor[1] = float(g)
	RenderColor[2] = float(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />

	set_pev(entity, pev_renderfx, fx)
	set_pev(entity, pev_rendercolor, RenderColor)
	set_pev(entity, pev_rendermode, render)
	set_pev(entity, pev_renderamt, float(amount))

	return 1
}
disable_weapon(ent){
	set_pev(ent, pev_solid, SOLID_NOT);
	fm_set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,0);
}

To o modelu zaraz spróbuje obejść
Odpowiedz

  • +
  • -
naven - zdjęcie naven 16.06.2009

darkman, tak?
public sayrespawn(gracz)
{
	if (!is_user_connected(gracz) || cs_get_user_team(gracz) == CS_TEAM_SPECTATOR)         return;
	set_pev(gracz, pev_deadflag, DEAD_RESPAWNABLE)
	dllfunc(DLLFunc_Think, gracz)
	dllfunc(DLLFunc_Spawn, gracz)
return PLUGIN_HANDLED;
}

R3X działa, + jak zawsze.
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 16.06.2009

darkman poszedł, więc ja potwierdzę: tak, tylko daj taba, żeby było równo

A z tym modelem to chodzi o usunięciu tego chwilowego zatrzymania kamery nad ciałem tak? czy może chcesz usunąć sam model ciała?
Odpowiedz

Seba - zdjęcie Seba 17.06.2009

Po co je ukrywać, zamiast po prostu usunąć?
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Nowy Plugin"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1) 

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_forward(FM_SetModel, "fw_setmodel", 1)
}

public fw_setmodel(ent)
{
	if(is_weapon_ent(ent))
		fm_remove_entity(ent)
}

public is_weapon_ent(ent)
{
	if(!pev_valid(ent)) 
		return false
	
	static classname[32]
	pev(ent, pev_classname, classname, 31)
	
	if(equal(classname, "weaponbox") || equal(classname, "armoury_entity") || equal(classname, "weapon_shield") || equal(classname, "item_thighpack"))
	{
		return true
	}
	return false
}

Co do drugiego, sprawdź to
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Nowy Plugin"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET)
	
}
Powinno teoretycznie działać - u mnie niestety nie, gdyż wiadomość ClCorpse nie jest nigdy wysyłana :o
Odpowiedz

  • +
  • -
naven - zdjęcie naven 17.06.2009

dałem tak:
public sayrespawn(gracz)
{
	if (!is_user_connected(gracz) || cs_get_user_team(gracz) == CS_TEAM_SPECTATOR)         return;
	set_pev(gracz, pev_deadflag, DEAD_RESPAWNABLE)
	dllfunc(DLLFunc_Think, gracz)
	dllfunc(DLLFunc_Spawn, gracz)
	return PLUGIN_HANDLED;
}
wywala mi
// C:Documents and SettingskompPulpitcompilernaven_surf_mod.sma(402) : warn
ing 209: function "sayrespawn" should return a value
// C:Documents and SettingskompPulpitcompilernaven_surf_mod.sma(406) : erro
r 078: function uses both "return" and "return <value>"

Seba, albo nie działa, albo nie tak zrozumiałeś
Na demku widać, chodzi o to, żeby tego ciała w ogóle nie było
http://www.speedysha.../291726547.html
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 17.06.2009

Po co je ukrywać, zamiast po prostu usunąć?

Druga rzecz, to chciałbym, żeby znikały wyrzucone bronie

jestem bardzo konkretny :P

Masz 2 return`y
public sayrespawn(gracz)
{
    if (!is_user_connected(gracz) || cs_get_user_team(gracz) == CS_TEAM_SPECTATOR)         return PLUGIN_HANDLED;
    set_pev(gracz, pev_deadflag, DEAD_RESPAWNABLE)
    dllfunc(DLLFunc_Think, gracz)
    dllfunc(DLLFunc_Spawn, gracz)
    return PLUGIN_HANDLED;
}
Odpowiedz

  • +
  • -
naven - zdjęcie naven 17.06.2009

aha, to był od broni, myślałem że od ciał, ten od broni jest ok
Kolejny +
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 17.06.2009

Do modelu może to: http://forums.allied...ad.php?p=744383

To co napisał Seba będzie usuwać zwłoki, ale są one tworzone dopiero po tym widoku z góry :/
Odpowiedz

  • +
  • -
naven - zdjęcie naven 17.06.2009

Doszła jeszcze jedna sprawa, chciałbym, żeby nie naliczało fragów(po prostu 0 cały czas w tablicy wyników) fragów i śmierci
A z tymi ciałami to niby działa ale nie działa, tak?
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 17.06.2009

Usunie ciało, ale dopiero jak przestaniesz na nie patrzeć po śmierci. Tego chwilowego zawieszenia nad ciałem nie można na stałe usunąć, ale plugin, który Ci podałem zmieni perspektywę.

Plugin blokujący naliczanie fragów:
#include <amxmodx>

#define PLUGIN "No Score"
#define VERSION "1.0"
#define AUTHOR "R3X"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_message(get_user_msgid("ScoreInfo"),"msgScoreInfo");
}
public msgScoreInfo(id){
	set_msg_arg_int(2, ARG_SHORT, 0);
	set_msg_arg_int(3, ARG_SHORT, 0);
	return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
naven - zdjęcie naven 17.06.2009

Tablica działa, wziąłem kod seby i tamten plugin(osobno) i teraz po wpisaniu kill w konsoli crash serwa za każdym razem
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 20.06.2009

Już wiem dlaczego kod Seby nie działa.

Enty weaponbox i weapon_* usuwa się tak
dllfunc(DLLFunc_Think, ent);
Odpowiedz

  • +
  • -
naven - zdjęcie naven 21.06.2009

A seba jak usunął?(gdzie to dać ;s?)

zmieniłem tutaj:
if(is_weapon_ent(ent))
    dllfunc(DLLFunc_Think, ent);
  //      fm_remove_entity(ent)

Nie crashuje serwera, ale też nie działa(ciągle te modele widać)
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 21.06.2009

Jak nie można czegoś od razu usunąć to zawsze można przecież w dowolnym momencie to "zniknąć" (zmienić rendera, alpha - 0) i ustawić task'a z numerem ent'a żeby usunąć w odpowiedniejszym momencie.
Odpowiedz

  • +
  • -
naven - zdjęcie naven 22.06.2009

wygląda to tak: http://iv.pl/images/...040qy9ha48y.jpg
sami zobaczcie jakie fps... po chwili był crash serwa
To jednaj bieżąca sprawa i muszę się tego pozbyć, "znikanie" chyba nie bardzo, raczej usuwanie...
Odpowiedz
Zablokowany