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

2 funkcje.


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

#1 ELOS

    No i pozamiatane ;*

  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 09:26

Kolejny problem napotkany na mojej drodze : P

Poszukuje 2 funkcji.

Piorun - wali tylko w 1 przeciwnika na którego nacelowaliśmy i który jest xxx od nas (nie wali przez ściany)

Hight Jump - nie chodzi mi o gravitacje tylko np w pokemon chyba któryś z pokemonów miał wyższy skok to coś w tym stylu.


Aha no i jeszcze 1 pytanie.

W
zdrowie_gracza[id] = 100.0+zyciep[id]*10;
oraz
grawitacja_gracza[id] = 1.0-grawitacjap[id]*0.2;
wywala mi błąd tag mismatch pomimo że działa.
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#2 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 15.10.2011 09:43

Co do HightJump'a spróbuj tak:

#include <amxmodx>
#include <fakemeta>

new g_bJump[33] = false;

public plugin_init() {
register_forward(FM_PlayerPreThink, "fwd_PreThink")
}

public fwd_PreThink(id)
{
new iButtons = pev(id, pev_button)
new iOldButtons = pev(id, pev_oldbuttons)
new iFlags = pev(id, pev_flags)

if((iButtons & IN_JUMP) && !(iOldButtons & IN_JUMP) && (iFlags & FL_ONGROUND))
g_bJump[id] = true

if(!(iFlags & FL_ONGROUND) && g_bJump[id])
{
new Float:fVelocity[3]
pev(id, pev_velocity, fVelocity)

fVelocity[2] *= 2.0

set_pev(id, pev_velocity, fVelocity)
g_bJump[id] = false
}

return FMRES_IGNORED
}


Co do tych zmiennych, podaj ich typ.

Użytkownik MarWit edytował ten post 15.10.2011 09:44

  • +
  • -
  • 0

marwit-0.png


#3 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

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

Napisano 15.10.2011 09:44

W
zdrowie_gracza[id] = 100.0+zyciep[id]*10;

oraz
grawitacja_gracza[id] = 1.0-grawitacjap[id]*0.2;

wywala mi błąd tag mismatch pomimo że działa.
Dodaj + przed znakiem = ;) powinno nie być błędu
  • +
  • -
  • 0

If you can dream it, you can do it.


#4 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 09:46

Co do HightJump'a spróbuj tak:


#include <amxmodx>
#include <fakemeta>

new g_bJump[33] = false;

public plugin_init() {
register_forward(FM_PlayerPreThink, "fwd_PreThink")
}

public fwd_PreThink(id)
{
new iButtons = pev(id, pev_button)
new iOldButtons = pev(id, pev_oldbuttons)
new iFlags = pev(id, pev_flags)

if((iButtons & IN_JUMP) && !(iOldButtons & IN_JUMP) && (iFlags & FL_ONGROUND))
g_bJump[id] = true

if(!(iFlags & FL_ONGROUND) && g_bJump[id])
{
new Float:fVelocity[3]
pev(id, pev_velocity, fVelocity)

fVelocity[2] *= 2.0

set_pev(id, pev_velocity, fVelocity)
g_bJump[id] = false
}

return FMRES_IGNORED
}

A jak z tego kodu zrobić że po użyciu tak skacze (automatycznie np jak wpiszemy /jump)
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#5 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 15.10.2011 09:47

@SpeedKill, akurat on chce nadać wartość, a nie dodać. Tag Mismatch jest wywalany jak do jednego typu zmiennej ( np. int ) chcemy nadać wartość o innym typie ( np. float ). :)

@Up


#include <amxmodx>
#include <fakemeta>

new g_bJump[33] = false;
new g_bHasHightJump[33] = false;

public plugin_init() {
register_forward(FM_PlayerPreThink, "fwd_PreThink")
register_clcmd("say /jump", "cmdJump")
}

public cmdJump(id)
g_bHasHightJump[id] = !g_bHasHightJump[id]

public fwd_PreThink(id)
{
if(!g_bHasHightJump[id])
return FMRES_IGNORED

new iButtons = pev(id, pev_button)
new iOldButtons = pev(id, pev_oldbuttons)
new iFlags = pev(id, pev_flags)

if((iButtons & IN_JUMP) && !(iOldButtons & IN_JUMP) && (iFlags & FL_ONGROUND))
g_bJump[id] = true

if(!(iFlags & FL_ONGROUND) && g_bJump[id])
{
new Float:fVelocity[3]
pev(id, pev_velocity, fVelocity)

fVelocity[2] *= 2.0

set_pev(id, pev_velocity, fVelocity)
g_bJump[id] = false
}

return FMRES_IGNORED
}

Użytkownik MarWit edytował ten post 15.10.2011 09:50

  • +
  • -
  • 1

marwit-0.png


#6 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 09:52

W
zdrowie_gracza[id] = 100.0+zyciep[id]*10;
 
oraz
grawitacja_gracza[id] = 1.0-grawitacjap[id]*0.2;
 
wywala mi błąd tag mismatch pomimo że działa.
Dodaj + przed znakiem = ;) powinno nie być błędu

a z tym co zrobić ?



@SpeedKill, akurat on chce nadać wartość, a nie dodać. Tag Mismatch jest wywalany jak do jednego typu zmiennej ( np. int ) chcemy nadać wartość o innym typie ( np. float ). :)

@Up



#include <amxmodx>
#include <fakemeta>

new g_bJump[33] = false;
new g_bHasHightJump[33] = false;

public plugin_init() {
register_forward(FM_PlayerPreThink, "fwd_PreThink")
register_clcmd("say /jump", "cmdJump")
}

public cmdJump(id)
g_bHasHightJump[id] = !g_bHasHightJump[id]

public fwd_PreThink(id)
{
if(!g_bHasHightJump[id])
return FMRES_IGNORED

new iButtons = pev(id, pev_button)
new iOldButtons = pev(id, pev_oldbuttons)
new iFlags = pev(id, pev_flags)

if((iButtons & IN_JUMP) && !(iOldButtons & IN_JUMP) && (iFlags & FL_ONGROUND))
g_bJump[id] = true

if(!(iFlags & FL_ONGROUND) && g_bJump[id])
{
new Float:fVelocity[3]
pev(id, pev_velocity, fVelocity)

fVelocity[2] *= 2.0

set_pev(id, pev_velocity, fVelocity)
g_bJump[id] = false
}

return FMRES_IGNORED
}


A czy da się zrobić że po 1 skoku, skoki robią się normalne ?

Użytkownik ELOS edytował ten post 15.10.2011 10:12

  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#7 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 15.10.2011 10:17

@ELOS, tym razem speedkill nie ma racji

łap poprawny kod


zdrowie_gracza[id] = floatround(100.0+zyciep[id]*10);


oraz
grawitacja_gracza[id] = floatround(1.0-grawitacjap[id]*0.2);

  • +
  • -
  • 1

#8 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 10:47

Dzięki Nakupenda, A czy ktoś wie jak zrobić ten piorun ?
Edit:

zdrowie_gracza[id] = floatround(100.0+zyciep[id]*10);
oraz
grawitacja_gracza[id] = floatround(1.0-grawitacjap[id]*0.2);


są zbugowane mam 0 hp i latam

Użytkownik ELOS edytował ten post 15.10.2011 10:51

  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#9 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 15.10.2011 11:10


#include <amxmodx>
#include <engine>
#include <fakemeta>


#define IsPlayer(%1) (1 <= %1 <= g_MaxPlayers)

new g_MaxPlayers;


new light;
new g_thunderbolt[ 33 ];

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

}

public plugin_init( ) {
register_forward( FM_PlayerPreThink, "fw_PlayerPreThink");
g_MaxPlayers = get_maxplayers( );

}

public fw_PlayerPreThink( client ) {
if( !is_user_alive( client ) )
return PLUGIN_CONTINUE;
}

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


public MakeThunderBolt( client ) {
if( ( !is_user_alive( client ) ) || ( 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;
new iVictimOrigin[ 3 ];

while( ( entPlayer = find_ent_in_sphere( client, iMakeOriginSe, 550.0 ) ) != 0 )
{
if( IsPlayer( entPlayer ) && entPlayer != client )
{
get_user_origin( entPlayer, iVictimOrigin );
CreateBolt( entPlayer, iVictimOrigin );
change_health( entPlayer, -80, 0, "world" );
g_thunderbolt[ client ]++;
}
}

}

CreateBolt( iPlayer, iVictim[3] ) {
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( 0 )
write_coord( iVictim[ 0 ] ) //x
write_coord( iVictim[ 1 ] ) //y
write_coord( iVictim[ 2 ] ) //z
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( )
}


wzuć funkcje do diablo i item/moc do klasy masz "g_item[id] = 1", "g_thunderbolt[ client ]" to jest ile razy może użyć (domyślnie 2) i dodaj w evencie newround "g_thunderbolt[client]=0" żeby resetowało

Nie mam sprite pioruna, z kodu się domyślisz jak się ma nazywać i gdzie być

zdrowie_gracza[id] = floatround(100.0+zyciep[id]*10);
oraz
grawitacja_gracza[id] = floatround(1.0-grawitacjap[id]*0.2);

są zbugowane mam 0 hp i latam
podaj cały kod, założyłem że jest niezaokraglone a tu chodzi o coś innego

Użytkownik Nakupenda. edytował ten post 15.10.2011 11:11

  • +
  • -
  • 1

#10 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 15.10.2011 11:23

może zdrowie_gracza[id] = floatround(100 + (zyciep[id] * 10)) ?

jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!


#11 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 11:37

może zdrowie_gracza[id] = floatround(100 + (zyciep[id] * 10)) ?

Nie działa.
Nakupenda dzięki za kod.
Edit: Ze zdrowia mi już nie wyskakuje taki kod dałem
zdrowie_gracza[id] = 100+zyciep[id]*10;

Edit2:
Jednak nie działa : P
To jest mój kod.

public Odrodzenie(id)
{
zdrowie_gracza[id] += zyciep[id]*10;
pancerz_gracza[id] = pancerzp[id]*20;
grawitacja_gracza[id] = 800-grawitacjap[id]*200;
//szybkosc_gracza[id] =
set_pev(id, pev_health, zdrowie_gracza[id]);
set_pev(id, pev_gravity, grawitacja_gracza[id]);
set_user_armor(id, pancerz_gracza[id])
if(butyp[id] == 4)
{
set_user_footsteps(id, 1);
}
else
if(butyp[id] < 4)
{
set_user_footsteps(id, 0);
}
DajBron(id)
}

Użytkownik ELOS edytował ten post 15.10.2011 11:52

  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#12 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 15.10.2011 11:59

funfel, nie osmieszaj sie

Elos, ale ten kod jest zupełnie inny niż to co podałeś w pierwszym poście
  • +
  • -
  • 0

#13 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 12:06

Bo teraz jest edytowany. teraz podałem cały kod w którym występują błędy.

Du masz jeszcze nowszy kod.

public Odrodzenie(id)
{
zdrowie_gracza[id] = STANDARDOWE_ZYCIE+zyciep[id]*10.0;
pancerz_gracza[id] = pancerzp[id]*20;
grawitacja_gracza[id] = STANDARDOWA_GRAWITACJA-grawitacjap[id]*0.2;
szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+butyp[id]*30;
set_pev(id, pev_health, zdrowie_gracza[id]);
set_pev(id, pev_gravity, grawitacja_gracza[id]);
set_user_armor(id, pancerz_gracza[id])
if(butyp[id] == 4)
{
set_user_footsteps(id, 1);
}
else
if(butyp[id] < 4)
{
set_user_footsteps(id, 0);
}
DajBron(id)
}

Użytkownik ELOS edytował ten post 15.10.2011 12:06

  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#14 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 15.10.2011 12:11

zdrowie_gracza[id] = STANDARDOWE_ZYCIE+zyciep[id]*10;

gdzie STANDARDOWE_ZYCIE nie jest typu Float

oraz

new gravityy[33] //dodaj na gorze sma

gravityy[id] = floatround(grawitacjap[id]*0.2);
grawitacja_gracza[id]= STANDARDOWA_GRAWITACJA-gravityy[id];

gdzie STANDARDOWA_GRAWITACJA nie jest typu Float

Użytkownik Nakupenda. edytował ten post 15.10.2011 12:11

  • +
  • -
  • 1

#15 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 12:21

Nadal te same błedy : P może zamiast funkcji set pev użyjemy jakieś innej gdzie będzie można podać liczbę całkowitą 800 bo gdy są całkowite to nie wywala błędu.
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#16 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 15.10.2011 12:28

o bosh, już wiem gdzie jest błąd :)

sprawdź czy grawitacja_gracza[id] i zdrowie_gracza[id] są Float :)

Muszą być Float, a nie int ;)

  • +
  • -
  • 0

#17 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 12:32

Nie rozumiem.
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#18 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 15.10.2011 12:36

daj coś takiego
set_pev(id, pev_health, float(zdrowie_gracza[id]));




@Nakupenda - można próbować różnymi sposobami, czasem zadziała, czasem nie, ale Ty wiesz wszystko najlepiej...

jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!


#19 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 15.10.2011 18:43

Co do pioruna może ktoś dać zwykły kod który nie będzie musiał być mieszany z diablo.
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#20 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 15.10.2011 20:38

to jest zwykły kod który zupełnie nie wymaga diablo, wystarczy że na górze sma dasz new g_item[33] = 1

@Nakupenda - można próbować różnymi sposobami, czasem zadziała, czasem nie, ale Ty wiesz wszystko najlepiej...

co innego próbować różnymi sposobami a co innego pisać takie bzdury

@ELOS sprawdź czy masz

new Float:grawitacja_gracza[33];
new Float:zdrowie_gracza[33];


a jak nie to zamień na to :)

Użytkownik Nakupenda. edytował ten post 15.10.2011 20:55

  • +
  • -
  • 0




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

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