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

Granat HE


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

#1 HaXior1

    Życzliwy

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 04.01.2009 15:29

Witam już kiedyś zakładałem podobny temat ale chciałbym żeby zrobić małe modyfikacje :

Kod:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

new gmsgDeathMsg
new gmsgScoreInfo
new moc

public plugin_init() {
    register_plugin("Mocniejsze HE", "1.0", "wizu & Miczu")
   
    register_event("Damage", "Damage", "b", "2!=0")
    register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
    register_logevent("Koniec_Rundy", 2, "1=Round_End")
   
    gmsgDeathMsg = get_user_msgid("DeathMsg")
    gmsgScoreInfo = get_user_msgid("ScoreInfo")
   
    set_msg_block ( gmsgDeathMsg, BLOCK_SET )
}

public Poczatek_Rundy ()
    set_task (25.0, "zmien_moc", 1)   
   
public Koniec_Rundy ()
{
    if( task_exists( 1 ) )
        remove_task( 1 )
}

public zmien_moc ()
{
    moc = 1
    fnGreenChat(0, "Granat HE ma maksymalna moc")
}

fnGreenChat( plr, const message[], {Float,Sql,Result,_}:... )
{
    static max_players, svc_saytext;
    if( !max_players )
        max_players = get_maxplayers( );
    if( !svc_saytext )
        svc_saytext = get_user_msgid( "SayText" );
   
    static msg[192];
    msg[0] = 0x04;
   
    vformat( msg[1], sizeof msg - 2, message, 3 );
   
    if( plr > 0 && plr <= max_players )
    {
        message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, plr );
        write_byte( plr );
        write_string( msg );
        message_end( );
    }
    else if( plr == 0 )
    {
        for( new i = 1 ; i <= max_players ; i++ )
        {
            if( is_user_connected( i ) )
            {
                message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, i );
                write_byte( i );
                write_string( msg );
                message_end( );
            }
        }
    }
   
    return 1;
}

public Damage (id)
{
if ( moc )
{   
    new vid = read_data(0) // vid == id
    new damage = read_data(2)
    new iWeapID, attacker = get_user_attacker(id , iWeapID);
    new hp, weaponname[32]
    if (iWeapID == 4)
    {
        if (is_user_alive(id))
        {
            hp = get_user_health( id )
            damage = damage * 9
            if ( damage >= hp )
            {
                get_weaponname(iWeapID, weaponname, 31)
                UTIL_Kill(attacker, vid, weaponname)
            } else
                set_user_health( id, hp - damage)
           
        }
    }
}
}

public UTIL_Kill(attacker,id,weapon[])
{
   
    if(get_user_team(attacker)!=get_user_team(id))
        set_user_frags(attacker,get_user_frags(attacker) +1);
    if(get_user_team(attacker)==get_user_team(id))
        set_user_frags(attacker,get_user_frags(attacker) -1);
       
    if (cs_get_user_money(attacker) + 150 <= 16000)
        cs_set_user_money(attacker,cs_get_user_money(attacker)+150)
    else
        cs_set_user_money(attacker,16000)
   
    user_kill(id,1)
    message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0)
    write_byte(attacker)
    write_byte(id)
    write_byte(0)
    write_string(weapon)
    message_end()
   
    message_begin(MSG_ALL,gmsgScoreInfo)
    write_byte(attacker)
    write_short(get_user_frags(attacker))
    write_short(get_user_deaths(attacker))
    write_short(0)
    write_short(get_user_team(attacker))
    message_end()
   
    message_begin(MSG_ALL,gmsgScoreInfo)
    write_byte(id)
    write_short(get_user_frags(id))
    write_short(get_user_deaths(id))
    write_short(0)
    write_short(get_user_team(id))
    message_end()
}

public DeathMsg()
{
    new weaponname[20]
    new kid = read_data(1)
    new vid = read_data(2)
    new headshot = read_data(3)
    read_data(4,weaponname,31)
   
    show_deadmessage(kid,vid,headshot,weaponname)
}

public show_deadmessage(killer_id,victim_id,headshot,weaponname[])
{
    if (!(killer_id==victim_id && !headshot && equal(weaponname,"world")))
    {
        message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0)
        write_byte(killer_id)
        write_byte(victim_id)
        write_byte(headshot)
        write_string(weaponname)
        message_end()
    }
}

Powyższy kod jest na to że po 25 sek granat jest 9 razy mocniejszy ale mam mały problem ponieważ chciałbym żeby ten granat dla TT był po 25 sek mocniejszy 9 razy a dla CT zwykły albo żeby nic nie zadawał. I z tego co zauważyłem to jak zabija to są czaszki a nie że granatem się zabiło i zamiast dostawać fragi odejmują się. Dało by rade to naprawić?

Bardzo potrzebne !.
  • +
  • -
  • 0

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 04.01.2009 15:33

public Damage (id)

{

if ( moc )

{   

    new vid = read_data(0) // vid == id

    new damage = read_data(2)

    new iWeapID, attacker = get_user_attacker(id , iWeapID);

    if(cs_get_user_team(attacker)==CS_TEAM_CT)

	return;

    new hp, weaponname[32]

    if (iWeapID == 4)

    {

        if (is_user_alive(id))

        {

            hp = get_user_health( id )

            damage = damage * 9

            if ( damage >= hp )

            {

                get_weaponname(iWeapID, weaponname, 31)

                UTIL_Kill(attacker, vid, weaponname)

            } else

                set_user_health( id, hp - damage)

           

        }

    }

}

}

  • +
  • -
  • 0

#3 Boooskyw0w~

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:50
  • GG:
  • Lokalizacja:Katowice
Offline

Napisano 04.01.2009 15:51

temat uważam do zamknięcia.
  • +
  • -
  • 0

#4 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 04.01.2009 16:03

I to mam dodać zamiast tego ?:
public Damage (id)
{
if ( moc )
{   
    new vid = read_data(0) // vid == id
    new damage = read_data(2)
    new iWeapID, attacker = get_user_attacker(id , iWeapID);
    new hp, weaponname[32]
    if (iWeapID == 4)
    {
        if (is_user_alive(id))
        {
            hp = get_user_health( id )
            damage = damage * 9
            if ( damage >= hp )
            {
                get_weaponname(iWeapID, weaponname, 31)
                UTIL_Kill(attacker, vid, weaponname)
            } else
                set_user_health( id, hp - damage)
           
        }
    }
}
}

  • +
  • -
  • 0

#5 Boooskyw0w~

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:50
  • GG:
  • Lokalizacja:Katowice
Offline

Napisano 04.01.2009 16:12

tak!
  • +
  • -
  • 0

#6 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 04.01.2009 17:57

Granat rani CT i TT.
Ma normalną moc :(
  • +
  • -
  • 0

#7 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 04.01.2009 19:04

Ranią oba teamy, ale 9krotnie zwiększenie obrażeń przysługuje tylko granatom rzuconym przez terrorystę. Jeśli działał wcześniej to powinien i ze zmianą - dodany warunek: jeśli atakujący należy do CT to wywołanie funkcji zostaje zatrzymane.
  • +
  • -
  • 0

#8 Boli cie to ?

    Nowy

  • Użytkownik

Reputacja: -2
Nowy

  • Postów:9
  • Lokalizacja:Polska
Offline

Napisano 04.01.2009 20:19

Przerobisz żeby ct mial mocniejszy granat a nie tt ?
  • +
  • -
  • 0

#9 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 04.01.2009 20:23

if(cs_get_user_team(attacker)==CS_TEAM_CT)
    return;
zmień na
if(cs_get_user_team(attacker)==CS_TEAM_T)
    return;

  • +
  • -
  • 0

#10 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 04.01.2009 21:47

Kurcze teraz jest mocy też dla CT ;/ Może zacznijmy od początku Chciałbym żeby ten plugin dawał:
Granat HE który po 25 sek jest 9 razy mocniejszy dla TT a dla CT normalny .
Oraz żeby po 25 sek był zielony napis Granat HR nabrał pełnej mocy.
  • +
  • -
  • 0

#11 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 04.01.2009 21:51

Mój poprzedni post był do arti7777 :P
  • +
  • -
  • 0

#12 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 04.01.2009 21:54

kurde to było z konta brata nawet nie wiem kiedy on konto założył ;/
  • +
  • -
  • 0

#13 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

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

Napisano 05.01.2009 00:19

#include <amxmodx>

#include <cstrike>

#include <fakemeta>

#include <hamsandwich>



new moc



public plugin_init() {

    register_plugin("Mocniejsze HE", "1.1 TTonly ", "grankee")

   

    RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")

    register_logevent("Poczatek_Rundy", 2, "1=Round_Start")

    register_logevent("Koniec_Rundy", 2, "1=Round_End")

}



public Poczatek_Rundy ()

{

	set_task (25.0, "zmien_moc", 1)   

	moc=0

}

   

public Koniec_Rundy ()

{

	if( task_exists( 1 ) )

		remove_task( 1 )

}



public zmien_moc ()

{

    moc = 1

    fnGreenChat(0, "Granat HE ma maksymalna moc")

}



fnGreenChat( plr, const message[], {Float,Sql,Result,_}:... )

{

    static max_players, svc_saytext;

    if( !max_players )

        max_players = get_maxplayers( );

    if( !svc_saytext )

        svc_saytext = get_user_msgid( "SayText" );

   

    static msg[192];

    msg[0] = 0x04;

   

    vformat( msg[1], sizeof msg - 2, message, 3 );

   

    if( plr > 0 && plr <= max_players )

    {

        message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, plr );

        write_byte( plr );

        write_string( msg );

        message_end( );

    }

    else if( plr == 0 )

    {

        for( new i = 1 ; i <= max_players ; i++ )

        {

            if( is_user_connected( i ) )

            {

	    	if(cs_get_user_team(i)==CS_TEAM_T)

		{

			message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, i );

			write_byte( i );

			write_string( msg );

			message_end( );

		}

            }

        }

    }

   

    return 1;

} 



public hook_TakeDamage(Victim, Useless, Attacker, Float:damage, damagebits)

{

	if ( moc )

	{   

		if(!((Useless <= 30) && (Useless != 0)))

		{

			new classname[32]

			pev(Useless,pev_classname,classname,31)

			if(equal(classname,"grenade"))

			{

				if(cs_get_user_team(Attacker)==CS_TEAM_CT)

				{

					return HAM_IGNORED

				}

				SetHamParamFloat(4, damage * (9.0))

				return HAM_HANDLED

			}

		}

	}

	return HAM_IGNORED

} 


  • +
  • -
  • 0

#14 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 05.01.2009 00:31

Co to jest? To jest gotowy plugin czy coś zamienić
Jak to jest cały to brakuje tutaj parę rzeczy:
-Nie ma zielonego napisu po 25 sek.
-I nie widzę nigdzie żeby się zmieniał po 25 sek tylko chyba zawsze jest taki silny.

Już zmieniłem //grankee
  • +
  • -
  • 0

#15 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

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

Napisano 05.01.2009 00:34

Już poprawiłem:

Granat rzucony przez Terrorystę rani wszystkich z 9krotnie większą siłą.
Granat rzucony przez CT to zwykły granat.
Napis pojawia się tylko terrorystom (skoro tylko oni mają silny granat...).
Mam rozumieć, że 25sek na początku każdej rundy ma odliczać i dopiero uaktywniać granat?


Wymagany moduł hamsandwich (amxmodx 1.8.0 lub wyższy)


Mam nadzieję, że wizu i Miczu nie będą mieli mi za złe wpisanego autorstwa, w końcu poza pierwszymi linijkami wszystko jest zmienione lub usunięte:P No a funkcja do zielonego printu nie rządzi się prawami autorskimi.
  • +
  • -
  • 0

#16 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 05.01.2009 14:54

No nie kurde chyba nikt mnie nie rozumie a więc powiem wprost :
Mam zombie moda i Zombie to TT a ci co je zabijają to CT i chce żeby rzucony granat przez CT działał na TT z siłą 9 razy większą a żeby dla CT był normalny czyli powiedzmy że ja jestem w CT rzucam sobie granat pod nogi i zabiera mi HP jak normalny granat a jak rzucę też jako CT ale pod nogi TT to ma 9 razy większą siłę.
Rozumiecie?
  • +
  • -
  • 0

#17 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

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

Napisano 05.01.2009 15:00

#include <amxmodx>

#include <cstrike>

#include <fakemeta>

#include <hamsandwich>



new moc



public plugin_init() {

    register_plugin("Mocniejsze HE", "1.1 TTonly ", "grankee")

   

    RegisterHam(Ham_TakeDamage, "player", "hook_TakeDamage")

    register_logevent("Poczatek_Rundy", 2, "1=Round_Start")

    register_logevent("Koniec_Rundy", 2, "1=Round_End")

}



public Poczatek_Rundy ()

{

	set_task (25.0, "zmien_moc", 1)   

	moc=0

}

   

public Koniec_Rundy ()

{

	if( task_exists( 1 ) )

		remove_task( 1 )

}



public zmien_moc ()

{

    moc = 1

    fnGreenChat(0, "Granat HE ma maksymalna moc")

}



fnGreenChat( plr, const message[], {Float,Sql,Result,_}:... )

{

    static max_players, svc_saytext;

    if( !max_players )

        max_players = get_maxplayers( );

    if( !svc_saytext )

        svc_saytext = get_user_msgid( "SayText" );

   

    static msg[192];

    msg[0] = 0x04;

   

    vformat( msg[1], sizeof msg - 2, message, 3 );

   

    if( plr > 0 && plr <= max_players )

    {

        message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, plr );

        write_byte( plr );

        write_string( msg );

        message_end( );

    }

    else if( plr == 0 )

    {

        for( new i = 1 ; i <= max_players ; i++ )

        {

            if( is_user_connected( i ) )

            {

	    	if(cs_get_user_team(i)==CS_TEAM_CT)

		{

			message_begin( MSG_ONE, svc_saytext, { 0, 0, 0 }, i );

			write_byte( i );

			write_string( msg );

			message_end( );

		}

            }

        }

    }

   

    return 1;

} 



public hook_TakeDamage(Victim, Useless, Attacker, Float:damage, damagebits)

{

	if ( moc )

	{   

		if(!((Useless <= 30) && (Useless != 0)))

		{

			new classname[32]

			pev(Useless,pev_classname,classname,31)

			if(equal(classname,"grenade"))

			{

				if((cs_get_user_team(Attacker)==CS_TEAM_T)||(cs_get_user_team(Victim)==CS_TEAM_CT))

				{

					return HAM_IGNORED

				}

				SetHamParamFloat(4, damage * (9.0))

				return HAM_HANDLED

			}

		}

	}

	return HAM_IGNORED

} 


  • +
  • -
  • 1

#18 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 05.01.2009 15:13

Dobra to sprawdzę to ja będzie dobrze działać to nacisnę ten ładny obrazek Dołączona grafika
  • +
  • -
  • 1

#19 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

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

Napisano 05.01.2009 15:21

No i co działa jak natura chciała?
  • +
  • -
  • 1

#20 HaXior1

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:35
  • Lokalizacja:Piaseczno
Offline

Napisano 05.01.2009 15:24

Wielkie dzięki działa .
  • +
  • -
  • 0




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

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