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

Uratowanie/zbicie hostów/hosta


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

#1 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 11.08.2011 16:59

Siema :D
Jak skutecznie wykryć zabójstwo hosta oraz uratowanie wszystkich hostów?
Zabicie hosta chciałem wykryć tak:
register_event("TextMsg","HostageKilled","b","2&#Killed_Hostage");

public HostageKilled() 
{
coins_kill_hostage = get_pcvar_num(cvar_coins_kill_hostage);
coins_kill_hostage_vip = get_pcvar_num(cvar_coins_kill_hostage_vip);

new aPlayers[32],iNum,i
get_players(aPlayers,iNum,"ce","CT")

for( i=0; i<=iNum; i++)
{
if(!is_user_connected(aPlayers[i])) continue

if(get_user_flags(i) & VIP)
monety[i] -= coins_kill_hostage_vip;
else
monety[i] -= coins_kill_hostage;
}

return PLUGIN_CONTINUE
}

Ale coś mi w tym sposobie nie trybi :]
  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 11.08.2011 17:14

Może tak + ustaw sobie jak tam chcesz
Sprawdź czy działa bo nie jestem pewny ;]
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Administrator"

new Hosty, Hostydead;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("TextMsg", "allhostage_rescue", "a", "2&#All_Hostages_R" )
	register_event("TextMsg","host_killed","b","2&#Killed_Hostage") 
	Hosty    = register_cvar("hostage_r", "5");
	Hostydead    = register_cvar("hostkill", "3");
}
public allhostage_rescue(id)
{
	monety[id] -= get_pcvar_num(Hosty)
	
} 

public host_killed(id)
{
	monety[id] -= get_pcvar_num(Hostydead)
}

  • +
  • -
  • 2

If you can dream it, you can do it.


#3 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 11.08.2011 17:57

Zabicie hosta zadziałało :D
Nie wiem na jaką cholerę ja tam pętle próbowałem wcisnąć xD

Ale wszyscy zakładnicy dalej nie są wykrywani (ich uratowanie)
  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 11.08.2011 18:11

Właśnie ten event odpowiada za uratowanie wszystkich zakładników
register_event("TextMsg", "allhostage_rescue", "a", "2&#All_Hostages_R" )
Lub przerób sobie ten plugin :)
[CoD Nowy] Dodawkowy exp - AMXX.pl: Support AMX Mod X
  • +
  • -
  • 0

If you can dream it, you can do it.


#5 Dwdov

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:172
  • Imię:Dawid
  • Lokalizacja:Jawor
Offline

Napisano 11.08.2011 18:41

Ten event raczej jest masowy i on nie przyjmuje id... Nie jestem pewien co do tego ale raczej tak jest.
Tu jest kod, który prawdopodobnie działa:

register_logevent("hostage_rescued", 3, "2=Rescued_A_Hostage");

public hostage_rescued()
new id = get_loguser_index();

stock get_loguser_index() {
new loguser[80], name[32];
read_logargv(0, loguser, 79);
parse_loguser(loguser, name, 31);

return get_user_index(name);
}




Nie pomagam na PW, tylko na forum.


#6 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 11.08.2011 18:44

No to można zrobić pętle ;] :
public allhostage_rescue(id)
{
        for(new id=1;id<33; id++
        {
	monety[id] -= get_pcvar_num(Hosty)
	}
}

  • +
  • -
  • 0

If you can dream it, you can do it.


#7 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 11.08.2011 20:57

Ten event raczej jest masowy i on nie przyjmuje id... Nie jestem pewien co do tego ale raczej tak jest.
Tu jest kod, który prawdopodobnie działa:


register_logevent("hostage_rescued", 3, "2=Rescued_A_Hostage");

public hostage_rescued()
new id = get_loguser_index();

stock get_loguser_index() {
new loguser[80], name[32];
read_logargv(0, loguser, 79);
parse_loguser(loguser, name, 31);

return get_user_index(name);
}


Właśnie to sobie uświadomiłem, gdy jadłem kolację :P
@UP: To też już sprawdzałem - nie działało :P
  • +
  • -
  • 0

#8 Zkont?!

    Życzliwy

  • Zbanowany

Reputacja: 19
Początkujący

  • Postów:22
  • Imię:Damian
  • Lokalizacja:Warszawa
Offline

Napisano 11.08.2011 22:10

Do sprawdzenia, czy zakładnicy zostali uratowani wystarczy to.

1. Rejestrujesz ten event:
register_event("TextMsg", "hosty", "a", "2&#All_Hostages_R" );


2. Tworzysz public, w którym ten event jest wykonywany.
public hosty(id)
{
//dalsza część Twojego kodu.
}


3. Tyle :]

#9 Dwdov

    Profesjonalista

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:172
  • Imię:Dawid
  • Lokalizacja:Jawor
Offline

Napisano 11.08.2011 22:21

Ja stawiam na to że ten event nie przyjmuje ID gracza bo jest to event wywoływany przez serwer. Teoretycznie ID powinno wynieść w takim przypadku 0, jak komuś się chce niech to sprawdzi print_chat( id, 3, "id: %i", id ) i tyle.

Nie pomagam na PW, tylko na forum.


#10 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 11.08.2011 23:12

Już sobie poradziłem :]
  • +
  • -
  • 0

#11 Zkont?!

    Życzliwy

  • Zbanowany

Reputacja: 19
Początkujący

  • Postów:22
  • Imię:Damian
  • Lokalizacja:Warszawa
Offline

Napisano 12.08.2011 09:16

Nie wiem, dlaczego autor tematu mówił, że ten event nie przyjmuje index'u 'id'. Mi w programie testowym ze spokojem się odczytało i skompilowało.

#12 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 12.08.2011 12:50

Ja mówiłem, że mi to po prostu nie działało :D A nie, że nie przyjmuję ID :]
Skompilowanie bez błędu to jedno, działanie to drugie :D
  • +
  • -
  • 0




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

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