Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Pomoc przy bindzie.


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

#1 slowly

    Wszechwidzący

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 10.09.2010 20:53

Witam.
Mam pytanko. Jak przerobić ten kod, tak aby klasa "Mefisto" mogła go używać pod bindem: bind "klawisz" "mefisto".
Niżej zamieszczam kodzik:
#include < amxmodx >
#include < engine >
#include < fakemeta >

new light;
new g_thunderbolt[ 33 ];

public plugin_precache( ) {
        light = precache_model("sprites/jakis_spr.spr");
        
}

public plugin_init( ) {
        register_forward( FM_PlayerPreThink, "fw_PlayerPreThink");
        
}

public fw_PlayerPreThink( client ) {
        if( !is_user_alive( client ) )
                return;
        
        if ( ( get_user_button( client ) & IN_USE ) && g_item[33] == 1 )
        {
                MakeThunderBolt( client );
        }
}

public MakeThunderBolt( client ) {
        if( g_thunderbolt[ client ] == 2 )
                return;
        
        new iMakerOrigin[ 3 ], Float:iMakeOriginSe[3];
        get_user_origin( client, iMakerOrigin );
        for( new i = 0; i < 3; i++ ){
                iMakeOriginSe[i] = float( iMakerOrigin[i] );
        }
        
        new entPlayer;
        entPlayer = -1;
        
        while( ( entPlayer = find_ent_in_sphere( client, iMakeOriginSe, 550.0 ) ) != 0 )
        {
                new iVictimOrigin[ 3 ];
                get_user_origin( entPlayer, iVictimOrigin );
                change_health( entPlayer, -80, client, "world" );
                CreateBolt( entPlayer, iMakeOriginSe, iVictimOrigin );
                g_thunderbolt[ client ]++;
        }
        
}

CreateBolt( iPlayer, iMaker[3], iVictim[3] ) {
        message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) 
        write_byte( 0 ) 
        write_coord( iMaker[ 0 ] ) 
        write_coord( iMaker[ 1 ] ) 
        write_coord( iMaker[ 2 ] )
        write_coord( iVictim[ 0 ] )
        write_coord( iVictim[ 1 ] )
        write_coord( iVictim[ 2 ] )
        write_short( light )
        write_byte( 1 )
        write_byte( 5 )
        write_byte( 2 )
        write_byte( 20 )
        write_byte( 30 )
        write_byte( 255 )
        write_byte( 255 )
        write_byte( 255 )
        write_byte( 200 ) 
        write_byte( 200 )
        message_end( )
        
        emit_sound( iPlayer, CHAN_STATIC, "misc/jakis_dzwiek.wav", 1.0, ATTN_NORM, 0, PITCH_NORM );
        
}
Za all odpowiedzi z góry dzięki, Slowly

PS. Dla tych bardziej nieogarniętych, funkcja dotyczy używania pioruna.

Użytkownik slowly edytował ten post 10.09.2010 20:54


#2 Złotówka

    Wszechwidzący

  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:244
  • Imię:Adam
  • Lokalizacja:Łódź
Offline

Napisano 10.09.2010 20:59

Spróbuj tak:

W
plugin_init()
{
register_clcmd("mefisto","uzyj_piorun")
}

Później robisz
public uzyj_piorun(id)
{
// Tutaj daj kod na użycie pioruna przez klase
}

Powinno działać...

Użytkownik Znak Zapytania? edytował ten post 10.09.2010 20:59

  • +
  • -
  • 0

#3 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 10.09.2010 21:04

To nie będzie działać bo tak robiłem. Poza tym nie:
register_clcmd("mefisto","uzyj_piorun")
Tylko:
register_concmd("mefisto","uzyj_piorun")

11 wrzesień 2010 - 08:15:
@@ EDIT:
Refresh...

11 wrzesień 2010 - 15:04:
Refresh...

12 wrzesień 2010 - 09:43:
Refresh...

12 wrzesień 2010 - 15:52:
Refresh..

#4 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 587
Wszechwiedzący

  • Postów:2013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 12.09.2010 16:38

Zamiast
register_forward( FM_PlayerPreThink, "fw_PlayerPreThink");

Daj
register_clcmd("mefisto", "iJebPiorunemCiula");

Zamiast
public fw_PlayerPreThink( client ) {
if( !is_user_alive( client ) )
return;

if ( ( get_user_button( client ) & IN_USE ) && g_item[33] == 1 )
{
MakeThunderBolt( client );
}}

daj
public iJebPiorunemCiula(id)
{
if(!is_user_alive(id))
return;
if (player_class[id] == Mefisto)
MakeThunderBolt(id);
}

  • +
  • -
  • 0




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

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