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

Klasa/Item wybucha po śmierci.


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

#1 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 02.06.2011 15:30

Do rzeczy,

Najpierw item, standardowo dodajemy na samej górze nazwę itemu oraz opis, następnie:

Do public Death dodajemy:

	if(informacje_przedmiotu_gracza[id][0] == XX) //zamiast XX dajemy numer itemu.
{
Eksploduj(id);
}


Na samym dole *.sma dodajemy:

public Eksploduj(id)
{
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( id, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();

message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] );
write_coord( iOrigin[2] );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] + 300 );
write_coord( iOrigin[2] + 300 );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 );// r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 8 ); // speed
message_end();

new entlist[33];
new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, 0, id, 100.0+float(inteligencja_gracza[id]) , 1); //ta linijka odpowiada za obrazenia, aktualnie zadaje 100dmg +int.
}
return PLUGIN_CONTINUE;
}



To tyle, jeżeli chcemy aby klasa posiadała taką umiejętność, zamiast:
	if(informacje_przedmiotu_gracza[id][0] == XX)
{
Eksploduj(id);
}



Dajemy:
	if(klasa_gracza[id] == Nazwa_klasy)
{
Eksploduj(id);
}



Pozdro & Dance.

Użytkownik RPK. Shark edytował ten post 05.06.2011 16:55

  • +
  • -
  • 1

#2 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Autor tematu
  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 30.06.2011 12:17

if(informacje_przedmiotu_gracza[id][0] == XX || klasa_gracza[id] == Nazwa_klasy

  • +
  • -
  • 1




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

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