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

[ROZWIĄZANE] Blokada respawnu do niewykonania warunku


Najlepsza odpowiedź BlackPerfum, 19.08.2013 18:51

To było dosyć ciekawe  :D Ham_Spawn wykonuje się dwa razy podczas wchodzenia przez gracza na serwer i wyboru drużyny.Pierwszy jak zablokujemy to zrespi gracza i wywali mu ekran do na bok (bynajmniej mi tak robiło). A resztę można już blokować. Bez zmiany drużyny będzie pokazywał się model gracza na mapie.

Nie sprawdzałem jak będzie działać na więcej niż jedną osobę.

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

new bool:respawn[33]
new MsgTeam
new bool:First[33]

public plugin_init() 
{
	register_plugin("AntyAutoSpawn", "Finish", "BlackPerfum")
	RegisterHam(Ham_Spawn, "player", "Prespawn", 0)
	register_clcmd("say /respawn","Respawn")
	MsgTeam = get_user_msgid("TeamInfo")
}
public client_connect(id)
{
	respawn[id] = false;
	First[id] = false
}
public Respawn(id)
{
	respawn[id] = true
}
public client_putinserver(id)
{
	if(get_pdata_int(id, 114,4) != 3)	ChangeTeam(id)
}
public Prespawn(id)
{
	if(!First[id])
	{
		First[id] = true
		ChangeTeam(id)
		return 1
	}

	if(!respawn[id])
	{
		ChangeTeam(id)
		return 4
	}
	return 1
}
ChangeTeam(id)
{
	set_pdata_int(id, 114, 3,4)
	message_begin(MSG_ALL, MsgTeam)
	write_byte(id)
	write_string("SPECTATOR")
	message_end()
}
Przejdź do postu


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

#1 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 23.07.2013 16:22

Jak moge zablokowac respawn do czasu spelnienia jakiegos warunku? Chodzi o to ze np gracz ktory sie wczyta ma byc martwy tak dlugo az nie wpisze np /respawn (niezaleznie od rundy, druzyny i tego czy siedzi na specu)
  • +
  • -
  • 0

b35020692_qesnxqa.png


#2 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 24.07.2013 13:21

Zarejestruj w kanapce Ham_Spawn z post=0, w funkcji daj swój warunek, jeżeli go nie spełnia zwracaj HAM_SUPERCEDE
  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 24.07.2013 13:50

Zarejestruj w kanapce Ham_Spawn z post=0, w funkcji daj swój warunek, jeżeli go nie spełnia zwracaj HAM_SUPERCEDE

To chyba nie do końca będzie działać dobrze, a przynajmniej ja miałem z tym jakieś problemy.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 24.07.2013 14:42

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Takietam"
#define VERSION "1.0"
#define AUTHOR "CheQ"

new can_respawn[33];

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn, "player", "Respawn", 1);
	register_clcmd("say /respawn","CanRes");
}
public client_connect(id)
{
	can_respawn[id] = false;
}
public Respawn(id)
{
	if(!can_respawn[id])
	{
		user_silentkill(id);
		cs_set_user_deaths (id,cs_get_user_deaths(id) - 1)
	}
}
public CanRes(id)
{
	can_respawn[id] = true;
}


Może tak?


  • +
  • -
  • 0

#5 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 24.07.2013 14:55

a nie da sie jakos bez zabijania? Poza tym nie zawsze dziala, po dwoch lub trzech killach mozna normalnie grac bez wpisania komendy
  • +
  • -
  • 0

b35020692_qesnxqa.png


#6 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 12.08.2013 13:47

CheQ a do czego słóży
user_silentkill(id);

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#7 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 12.08.2013 13:53

Tylko słownik Ci nie służy.

user_silentkill - to zabijanie gracza, bez wiadomości, że został zabity (tej czaszki i nicku).

 

Tak w ogóle temat nieźle odświeżony.

 


a nie da sie jakos bez zabijania? Poza tym nie zawsze dziala, po dwoch lub trzech killach mozna normalnie grac bez wpisania komendy 

Coś w to nie wierzę? O.o

+ w Odrodzeniu brakuje warunku, czy gracz żyje, robiłem kiedyś bez warunków, ale potem mi wyskoczył błąd, że gracz nie jest połączony O.o mimo odrodzenia.


  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#8 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 14.08.2013 16:12

Ponawiam swoje pytanie: Mozna jakos zablokowac zrespienie sie do okreslonego warunku? (mowiac zablokowac mam na mysli ze gracz bedzie caly czas martwy az spelni okreslony warunek)


  • +
  • -
  • 0

b35020692_qesnxqa.png


#9 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 14.08.2013 20:13

Spróbuj:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Takietam"
#define VERSION "1.0"
#define AUTHOR "xxx"

new can_respawn[33];

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn, "player", "PreRespawn", 0);
	register_clcmd("say /respawn","CanRes");
}
public client_connect(id)
{
	can_respawn[id] = false;
}
public CanRes(id)
{
	can_respawn[id] = true;
}
public PreRespawn(id)
{
	if(!can_respawn[id])
	return HAM_SUPERCEDE
	
	return HAM_IGNORED;
}

  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#10 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 14.08.2013 23:23

radim przeciez ty zrobiles to o czym pisal K!113r w pierwszym poscie.... Jak by ten plugin dzialal to temat juz dawno bylby zamkniety. Tym czasem przy tym pluginie mozna sie zrespic (ale widok mamy ze spectatora), kasuja sie statystyki pod TAB (zostaje jedynie tabela).


  • +
  • -
  • 0

b35020692_qesnxqa.png


#11 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 17.08.2013 21:23

Wiem ze ciezki temat ale nikt nie mowil ze bedzie latwo. Pomoze ktos?
  • +
  • -
  • 0

b35020692_qesnxqa.png


#12 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 19.08.2013 18:51   Najlepsza odpowiedź

To było dosyć ciekawe  :D Ham_Spawn wykonuje się dwa razy podczas wchodzenia przez gracza na serwer i wyboru drużyny.Pierwszy jak zablokujemy to zrespi gracza i wywali mu ekran do na bok (bynajmniej mi tak robiło). A resztę można już blokować. Bez zmiany drużyny będzie pokazywał się model gracza na mapie.

Nie sprawdzałem jak będzie działać na więcej niż jedną osobę.

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

new bool:respawn[33]
new MsgTeam
new bool:First[33]

public plugin_init() 
{
	register_plugin("AntyAutoSpawn", "Finish", "BlackPerfum")
	RegisterHam(Ham_Spawn, "player", "Prespawn", 0)
	register_clcmd("say /respawn","Respawn")
	MsgTeam = get_user_msgid("TeamInfo")
}
public client_connect(id)
{
	respawn[id] = false;
	First[id] = false
}
public Respawn(id)
{
	respawn[id] = true
}
public client_putinserver(id)
{
	if(get_pdata_int(id, 114,4) != 3)	ChangeTeam(id)
}
public Prespawn(id)
{
	if(!First[id])
	{
		First[id] = true
		ChangeTeam(id)
		return 1
	}

	if(!respawn[id])
	{
		ChangeTeam(id)
		return 4
	}
	return 1
}
ChangeTeam(id)
{
	set_pdata_int(id, 114, 3,4)
	message_begin(MSG_ALL, MsgTeam)
	write_byte(id)
	write_string("SPECTATOR")
	message_end()
}

  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#13 Linux'

    Pan Pomocny

  • Autor tematu
  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 19.08.2013 21:00

Mam wgrany autorespawn i wylaczone rundy, zrobilem zeby autorespawn nie dzialal jak gracz nie spelni okreslonego warunku (say /respawn) i ze musi byc w TT / CT by komenda /respawn byla aktywna,w ten sposob wykluczylem wszelkie bugi. Bardzo duze podziekowania dla BlackPerfum za pomoc :) . Mozna zamknac.


  • +
  • -
  • 0

b35020692_qesnxqa.png


#14 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 19.08.2013 21:25

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





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

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