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
CoD Stary

[ROZWIĄZANE] Działo - przesłanie natywem inteligencji

CoD Stary

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

#1 Sniper Elite

    Master

  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 01.07.2012 07:05

Witam.
Mam działo przy klasie i nie wiem jak dodać do niej inteligencje, która zwiększy właściwości działka.
Natyw już przesłałem, ale nie wiem do jakiego id się odwołać w dodawaniu hp, obrażeń i szybkości stawiania działa.

Niżej podaję sma działka.

Dzięki za pomoc.

Załączone pliki


Użytkownik Sniper Elite edytował ten post 01.07.2012 07:06

  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#2 xstrime

    Banned

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:29
  • Imię:kamil
  • Lokalizacja:polska
Offline

Napisano 01.07.2012 07:37

hp, obrażeń


 pcvarHealth = register_cvar("inzynier_health","200")
pcvarDamage = register_cvar("inzynier_damage","10.0");


#3 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 01.07.2012 07:44

Tyle wiem, ale chodzi mi jak to dodać do odpowiednich funkcji (jak w nich się odwołać do odpowiedniego id).
  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#4 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 01.07.2012 08:06

Nad plugin_init() dodajesz
native ma_dzialko(id,flaga,int);

do publica Spawn(id) do if(nowa_klasa_gracza[id]) dodajesz
ma_dzialko(id, 0);

do switch(klasa_gracza[id]) do case klasy dodajesz (tam gdzie bronie)
ma_dzialko(id, 1, 100); //to tylko przyklad, wartosci mozna zmienic

Użytkownik d0n tHe Pr0oo edytował ten post 01.07.2012 08:07

  • +
  • -
  • 1

#5 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 01.07.2012 09:09

pobieram z coda wartość inteligencji gracza, ktorego jest dzialo.

public stawdzialo2(ent)
{
new Float:origin[3];
pev(ent,pev_origin,origin);
new sentry_shot2 = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"func_breakable"))
if (!sentry_shot2)
{
return 0
}
new szHealth[16]
get_pcvar_string(pcvarHealth + inteligencja_gracza[ent]*2,szHealth,charsmax(szHealth))

fm_set_kvd(sentry_shot2, "health", szHealth, "func_breakable")
fm_set_kvd(sentry_shot2, "material", "6", "func_breakable")
fm_DispatchSpawn(sentry_shot2)

set_pev(sentry_shot2, pev_classname, "sentry_shot")

engfunc(EngFunc_SetModel, sentry_shot2, "models/sentry2.mdl")
engfunc(EngFunc_SetSize, sentry_shot2, {-16.0, -16.0, 0.0}, {16.0, 16.0, 20.0})
origin[2] += 25.0;
engfunc(EngFunc_SetOrigin, sentry_shot2, origin)
new Float:fAngle[3];
pev(pev(ent,pev_iuser1), pev_v_angle, fAngle)
fAngle[0] = 0.0
fAngle[1] += 180.0
fAngle[2] = 0.0
set_pev(sentry_shot2, pev_angles, fAngle)
set_pev(sentry_shot2, pev_solid, SOLID_BBOX)
set_pev(sentry_shot2, pev_movetype, MOVETYPE_TOSS)
set_pev(sentry_shot2, pev_iuser1, pev(ent,pev_iuser1))
set_pev(sentry_shot2, pev_iuser2, ent)

set_pev( sentry_shot2, pev_sequence, 0 );
set_pev( sentry_shot2, pev_animtime, get_gametime() );
set_pev( sentry_shot2, pev_framerate, 1.0 );

set_pev(sentry_shot2, pev_nextthink, get_gametime() + SENTRY_THINK)
return sentry_shot2;
}

Jakie tu wpisać pobrac id, gracza, ktory stawia dzialko, aby mogl uzaleznic hp od inteligencji.
I w którym miejscu te inteligencje dodac.


public sentry_shot3(ent,target)
{
new Float:sentryOrigin[3], Float:targetOrigin[3], Float:hitOrigin[3]
pev(ent, pev_origin, sentryOrigin)
sentryOrigin[2] += 18.0
pev(target, pev_origin, targetOrigin)
targetOrigin[0] += random_float(-16.0, 16.0)
targetOrigin[1] += random_float(-16.0, 16.0)
targetOrigin[2] += random_float(-16.0, 16.0)
new hit = fm_trace_line(ent, sentryOrigin, targetOrigin, hitOrigin)
if(hit == target)
{
knockback_explode(target, sentryOrigin, 5.0)
new Float:dam = get_pcvar_float(pcvarDamage) + float(inteligencja_gracza[ent])/10
ExecuteHam(Ham_TakeDamage, target, 0, pev(ent,pev_iuser1), dam, 1);
set_pev( ent, pev_sequence, 1 );
set_pev( ent, pev_animtime, get_gametime() );
set_pev( ent, pev_framerate, 1.0 );
}
FX_Trace(sentryOrigin, hitOrigin)
engfunc(EngFunc_EmitSound, ent, CHAN_STATIC, "sentry_shoot.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
}

To samo tutaj.
Jak pobrać id gracza, którego jest działo, abym mógł dodać jego inteligencje do obrazen.

mam nadzieje, że teraz mnie zrozumiecie.

Użytkownik Sniper Elite edytował ten post 01.07.2012 09:09

  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#6 CheQ

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 1984
Godlike

  • Postów:5534
  • Imię:Adaś
  • Lokalizacja:Glinianka
Offline

Napisano 01.07.2012 09:21

ExecuteHam(Ham_TakeDamage, target, 0, pev(ent,pev_iuser1), dam+cod_get_int(pev(ent,pev_iuser1)), 1);

Powinno być chyba coś takiego. Ofc jak masz natyw cod_get_int jak się inaczej nazywa to zmień.
  • +
  • -
  • 1

b_560_95_1.png


#7 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 01.07.2012 09:29

dmg dziala, dzięki, a jak z tym hp?

Użytkownik Sniper Elite edytował ten post 01.07.2012 09:34

  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#8 donaciak

    Godlike

  • Power User

Reputacja: 892
Czempion

  • Postów:2067
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 01.07.2012 10:01

jezeli hp ustawiasz entowi, to nie potrzebne id gracza, przy obrazeniach jest potrzebne po to, aby plugin wiedział komu naliczyć obrazenia
  • +
  • -
  • 0

#9 CheQ

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 1984
Godlike

  • Postów:5534
  • Imię:Adaś
  • Lokalizacja:Glinianka
Offline

Napisano 01.07.2012 10:21

dmg dziala, dzieki, a jak z tym hp?


Co chcesz z Tym hp? Chcesz pobrać HP ownera działka? Samego działka czy co?
  • +
  • -
  • 1

b_560_95_1.png


#10 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 01.07.2012 18:29

chcę dodać działkowi hp ustalane cvarem + inteligencja_gracza[id] *2

Ale jak robie tak jak pokazałem to nie działa.
  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#11 CheQ

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 1984
Godlike

  • Postów:5534
  • Imię:Adaś
  • Lokalizacja:Glinianka
Offline

Napisano 01.07.2012 20:06

fm_set_kvd(sentry_shot2, "health", szHealth+get_int(entity_get_edict(ent, EV_ENT_owner);)/2, "func_breakable")

ja bym to tak spróbował. w public stawdzialo2(ent)
  • +
  • -
  • 1

b_560_95_1.png


#12 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 02.07.2012 07:59

fm_set_kvd(sentry_shot2, "health", szHealth + inteligencja_gracza[entity_get_edict(ent, EV_ENT_owner)]*2, "func_breakable")


array must be indexed <variable "szHealth">

O to się czepia teraz.
  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#13 CheQ

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 1984
Godlike

  • Postów:5534
  • Imię:Adaś
  • Lokalizacja:Glinianka
Offline

Napisano 02.07.2012 10:37

Nie zauważyłęm że szHealth jest tekstem. Cały kod Stawiania działka. Powinno działać.

public stawdzialo2(ent)
{
new Float:origin[3];
pev(ent,pev_origin,origin);
new sentry_shot2 = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"func_breakable"))
if (!sentry_shot2)
{
  return 0
}
new szHealth[16]
get_pcvar_string(pcvarHealth,szHealth,charsmax(szHealth))

new health = pcvarHealth + inteligencja_gracza[entity_get_edict(ent, EV_ENT_owner)];
num_to_str(health,szHealth,15)

fm_set_kvd(sentry_shot2, "health",szHealth , "func_breakable")
fm_set_kvd(sentry_shot2, "material", "6", "func_breakable")
fm_DispatchSpawn(sentry_shot2)

set_pev(sentry_shot2, pev_classname, "sentry_shot")

engfunc(EngFunc_SetModel, sentry_shot2, "models/sentry2.mdl")
engfunc(EngFunc_SetSize, sentry_shot2, {-16.0, -16.0, 0.0}, {16.0, 16.0, 20.0})
origin[2] += 25.0;
engfunc(EngFunc_SetOrigin, sentry_shot2, origin)
new Float:fAngle[3];
pev(pev(ent,pev_iuser1), pev_v_angle, fAngle)
fAngle[0] = 0.0
fAngle[1] += 180.0
fAngle[2] = 0.0
set_pev(sentry_shot2, pev_angles, fAngle)
set_pev(sentry_shot2, pev_solid, SOLID_BBOX)
set_pev(sentry_shot2, pev_movetype, MOVETYPE_TOSS)
set_pev(sentry_shot2, pev_iuser1, pev(ent,pev_iuser1))
set_pev(sentry_shot2, pev_iuser2, ent)

set_pev( sentry_shot2, pev_sequence, 0 );
set_pev( sentry_shot2, pev_animtime, get_gametime() );
set_pev( sentry_shot2, pev_framerate, 1.0 );

set_pev(sentry_shot2, pev_nextthink, get_gametime() + SENTRY_THINK)
return sentry_shot2;
}

  • +
  • -
  • 1

b_560_95_1.png


#14 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 02.07.2012 13:31

dzięki miszczu.
  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.


#15 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 02.07.2012 18:23

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL

#16 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 168
Profesjonalista

  • Postów:981
  • GG:
  • Imię:Konrad
  • Lokalizacja:Skryptolandia
Offline

Napisano 05.07.2012 13:37

Witam ponownie.
Jednak to nie działa. Nie da się działka rozwalić jak zrobię tak jak mi podał

CheQ
  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

Na steam i GG pomagam wyłącznie odpłatnie.






Również z jednym lub większą ilością słów kluczowych: CoD Stary

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

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