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

respawn


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

#1 Daku

    Zaawansowany

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:96
  • Lokalizacja:Żory
Offline

Napisano 24.06.2010 18:48

witam mam gotowy respawn ale nie wiem jak ograniczyć aby można było tylko raz ( obecni gracze nie mogą)
i dla każdego gracza osobno ( każdy może użyć tej komendy raz( po przyjściu na serwer)

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <biohazard>
#include <fakemeta> 

#define PLUGIN "Ultimate respawn"
#define VERSION "1.2"
#define AUTHOR "naven & amxx.pl & Daku[PL]"

public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say respawn", "sayrespawn");
    register_clcmd("say rr", "sayrespawn");
    register_cvar("amx_respawn", "2")
    register_cvar("amx_autorespawn", "1")
}

public sayrespawn(id)
{
    if (is_user_alive(id)) return PLUGIN_HANDLED;	
    if (!is_user_connected(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)         return PLUGIN_HANDLED;
    if (get_cvar_num("amx_respawn") == 0)
    {
    set_pev(id, pev_deadflag, DEAD_RESPAWNABLE);
    dllfunc(DLLFunc_Think, id);
    dllfunc(DLLFunc_Spawn, id);
    return PLUGIN_HANDLED;
    }else client_print(0,print_chat,"[BIOHAZARD] Odrodzic mozna sie tylko raz")
    return PLUGIN_HANDLED;
}  

Użytkownik Daku edytował ten post 24.06.2010 18:54

  • +
  • -
  • 0

#2 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 24.06.2010 20:48

Coś takiego?
#include <amxmodx>
#include <cstrike>
#include <fakemeta>

#define PLUGIN "Ultimate respawn"
#define VERSION "1.2"
#define AUTHOR "naven & amxx.pl & Daku[PL]"

new used[33]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "newround", "a", "1=0", "2=0")
register_clcmd("say respawn", "sayrespawn")
register_clcmd("say rr", "sayrespawn")
}

public client_connect(id)
used[id]=0

public client_disconnect(id)
used[id]=0

public newround()
for(new id;id<33;id++)
used[id]=0

public sayrespawn(id)
{
if(!is_user_alive(id) || is_user_connected(id) || cs_get_user_team(id) != CS_TEAM_SPECTATOR)
{
if(used[id]==0)
{
set_pev(id, pev_deadflag, DEAD_RESPAWNABLE)
dllfunc(DLLFunc_Think, id)
dllfunc(DLLFunc_Spawn, id)
used[id]=1
return PLUGIN_HANDLED
}
else
{
client_print(id,print_chat,"[BIOHAZARD] Odrodzic mozna sie tylko raz")
}
}
return PLUGIN_HANDLED
}

  • +
  • -
  • 0
-Piszę pluginy na zamówienie.
-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 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 24.06.2010 22:10

Lub krócej:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define MAX_USE 1 //ile razy mozna uzyc na runde
new used[33]

public plugin_init() {
register_plugin("Ultimate respawn","1.2","naven & amxx.pl & Daku[PL]")//edited by grankee
RegisterHam(Ham_Spawn,"player","resetused")
register_clcmd("say respawn", "sayrespawn")
register_clcmd("say rr", "sayrespawn")
}
public resetused(this)
used[this]=0

public sayrespawn(id){
if(!is_user_alive(id) || is_user_connected(id) || cs_get_user_team(id) != CS_TEAM_SPECTATOR) {
if(used[id]<MAX_USE){
ExecuteHam(Ham_Spawn,id)
++used[id]
}
else
client_print(id,print_chat,"[BIOHAZARD] Odrodzic mozna sie tylko raz")
}
return PLUGIN_HANDLED
}

Użytkownik grankee edytował ten post 24.06.2010 22:13

  • +
  • -
  • 0

#4 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 25.06.2010 11:54

Raz na rundę on chce dać respawn ;)
A ty dajesz możliwość co respawn ;)
Bez sensu ;)
  • +
  • -
  • 0
-Piszę pluginy na zamówienie.
-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 Owner123

    Wszechpomocny

  • Użytkownik

Reputacja: 146
Zaawansowany

  • Postów:331
  • Lokalizacja:Barty ;]
Offline

Napisano 25.06.2010 13:06

ExecuteHam nie powoduje wywołania hooka.

Użytkownik Owner123 edytował ten post 25.06.2010 13:09

  • +
  • -
  • 0

#6 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 25.06.2010 19:03

sbstn, jeszcze trochę przed Tobą w scriptingu ;)
  • +
  • -
  • 0

#7 sbstn

    Wszechwidzący

  • Użytkownik

Reputacja: 67
Pomocny

  • Postów:274
  • Lokalizacja:Szczecin
Offline

Napisano 25.06.2010 20:04

To podczas nowego respawnu wywoływanego przez:
set_pev(id, pev_deadflag, DEAD_RESPAWNABLE)
dllfunc(DLLFunc_Think, id)
dllfunc(DLLFunc_Spawn, id)

Nie załącza się event respawnu?
  • +
  • -
  • 0
-Piszę pluginy na zamówienie.
-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

#8 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 26.06.2010 00:43

Jeszcze nie udało mi się nigdy zhookować zdarzenia wywołanego przez plugin.
  • +
  • -
  • 0

#9 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 26.06.2010 00:55

Nie wiem czy właściwszy nie będzie ExecuteHam(Ham_CS_RoundRespawn, this), dedykowany pod CS
  • +
  • -
  • 0

#10 Daku

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:96
  • Lokalizacja:Żory
Offline

Napisano 26.06.2010 11:44

z respawnem już sobie poradziłem teraz mam inny problem

jak zablokować respawn ludziom po rekonekcie :D
i aby nowy gracz ( jak wchodzi pierwszy raz) mógł tego użyć
zablokowałem komende kill więc nie można
mój kod to

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <biohazard>
#include <fakemeta> 

#define PLUGIN "Ultimate respawn"
#define VERSION "1.2"
#define AUTHOR "naven & amxx.pl & Daku[PL]"
new amx_respawn
public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say respawn", "sayrespawn");
    register_clcmd("say rr", "sayrespawn");
    register_forward(FM_ClientKill, "fw_Suicide")
}

public sayrespawn(id)
{
    
    if(!is_user_alive(id))
    {
    	amx_respawn=0;
    }else amx_respawn=1;
    if (!is_user_connected(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)         return PLUGIN_HANDLED;
    if (amx_respawn == 0)
    {
    set_pev(id, pev_deadflag, DEAD_RESPAWNABLE);
    dllfunc(DLLFunc_Think, id);
    dllfunc(DLLFunc_Spawn, id);
    amx_respawn=1;
    }client_print(0,print_chat,"[BIOHAZARD] Odrodzic mozna sie tylko raz");
    return PLUGIN_HANDLED
}  
public fw_Suicide(id)
{
	client_print (id, print_center, "Dobra proba ale nie da sie tak")
	console_print (id, "Dobra proba ale nie da sie tak")
	return FMRES_SUPERCEDE;
}

Użytkownik Daku edytował ten post 26.06.2010 11:46

  • +
  • -
  • 0

#11 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 26.06.2010 15:42

wgraj noreconnecta :P
ew jest plugin, który blokuje spawn po reconnect'cie więc zasięgnij z niego metody rozwiązania tego problemu.


Co do pluginu to jest źle, będzie to działało tak, że raz tylko jedna osoba się odrodzi i już ani razu do końca mapy.
Napisałem Ci dobrą wersję, to z niej skorzystaj.

Użytkownik grankee edytował ten post 26.06.2010 15:46

  • +
  • -
  • 0




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

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