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 + Blokada strzelania


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

#1 daedhelil

    Profesjonalista

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:152
Offline

Napisano 04.01.2012 22:14

Witam. Chciałbym, aby ktoś z Was napisał mi plugin.

Respawn gracza > Zablokowanie +attack i +attack2, fm_set_user_godmode na 1 > task 5 sekund > Odblokowanie +attack i +attack2, fm_set_user_godmode na 0

Próbowałem zrobić, ale nie znam za bardzo hamsandwich i moje próby kończyły się zawsze crashem serwera (problem z odblokowaniem strzału).
  • +
  • -
  • 0

#2 Lelek

    Zaawansowany

  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:105
  • GG:
  • Imię:Adam
  • Lokalizacja:*
Offline

Napisano 04.01.2012 23:20

Nie gwarantuje że działa :P :D tak na bardzo szybko

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "pc"
new bool:tab[33];
public plugin_init()
{
register_forward(FM_PlayerPreThink, "PlayerPreThink");
register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1);
RegisterHam(Ham_Spawn, "player", "start", 1);
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public client_connect(id)
{
fm_set_user_godmode(id, 0);
tab[id] = false;
}
public client_disconnect(id)
{
fm_set_user_godmode(id, 0);
tab[id] = false;
}

public start(id)
{
fm_set_user_godmode(id, 1);
tab[id] = true;
set_task(5.0, "cos", id);
}
public cos(id)
{
fm_set_user_godmode(id, 0);
tab[id] = false;
}
public PlayerPreThink(id)
{
if(!tab[id])
return FMRES_IGNORED;

if(!is_user_alive(id))
return FMRES_IGNORED;

set_pev(id, pev_button, pev(id,pev_button) & ~IN_ATTACK);
set_pev(id, pev_button, pev(id,pev_button) & ~IN_ATTACK2);

return FMRES_HANDLED;
}
public UpdateClientData_Post(id, sendweapons, cd_handle)
{
if(!tab[id])
return FMRES_IGNORED;

if(!is_user_alive(id))
return FMRES_IGNORED;

set_cd(cd_handle, CD_ID, 0);

return FMRES_HANDLED;
}
stock fm_set_user_godmode(index, godmode = 0)
{
set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);
return 1;
}

Użytkownik Lelek edytował ten post 04.01.2012 23:20

  • +
  • -
  • 1

#3 daedhelil

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:152
Offline

Napisano 05.01.2012 09:21

Działa. Dziękuje Ci bardzo. Teraz postaram się zrozumieć to co napisałeś. Do zamknięcia.
+
  • +
  • -
  • 0

#4 Lelek

    Zaawansowany

  • Użytkownik

Reputacja: 22
Życzliwy

  • Postów:105
  • GG:
  • Imię:Adam
  • Lokalizacja:*
Offline

Napisano 05.01.2012 11:12

Pisałeś że miałeś problem z odblokowaniem str zału. Dlatego popatrz na to co napisałem. Nie mówię że ten kod jest idealny bo ma wady :D Bynajmniej takie jak na szybko wychwyciłem, ale wracając do odblokowania strzału to kwestia bardzo prosta. Tworzysz sobie tablice typu bool:

new bool:MojaNazwaTablicy[33];


Później w głównej funkcji blokady strzału dajesz instrukcje warunkową:

if(MojaNazwaTablicy[id])
{
//kod
}

I później w którym momencie chcesz wywołać dajesz true(prawda) a jak chcesz zablokowac(false)


public spawn(id)
{
MojaNazwaTablicy[id] = true;
}

Użytkownik Lelek edytował ten post 05.01.2012 11:13

  • +
  • -
  • 0

#5 daedhelil

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 8
Nowy

  • Postów:152
Offline

Napisano 05.01.2012 12:56

Rozumiem to co napisałeś, ale po prostu próbowałem zrobić to z pomocą tego:
http://darkgl.amxx.p...kada-lpm-i-ppm/
  • +
  • -
  • 0




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

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