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

Wysłanie ID bytu do funkcji


Najlepsza odpowiedź Sniper Elite, 05.06.2014 19:00

Poradziłem sobie i zrobiłem takie coś (jakby ktoś miał podobny problem):

    new iEnt = -1;
    while((iEnt = find_ent_by_class(iEnt,"sentry_base")) != 0)
    {
        if(pev_valid(iEnt) && pev(iEnt,pev_iuser1) == id)
        {
            set_pev(iEnt,pev_iuser3,stawdzialo2(iEnt));
            
        }
    }
Przejdź do postu


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

#1 Sniper Elite

    Master

  • Power User

Reputacja: 176
Profesjonalista

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

Napisano 05.06.2014 11:21

Witam. Mam problem. Próbuję przerobić działko z coda tak, aby po postawieniu bazy (tego trójnogu) po 5 sek. stawiała tam się ta strzelająca puszka. Problem w tym, że nie wiem jak pobrać ID trójnogu w momencie tworzenia puszki aby powstałą tam gdzie trzeba.

 

 

Co trzeba wysłać do tej funkcji i jak to pobrać aby wykonała się jak trzeba:

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 hp_dzialka
    hp_dzialka = get_pcvar_num(pcvarHealth)
//    hp_dzialka += dodatkowe_hp[pev(ent,pev_iuser1)]
    new szHealth[16]
    num_to_str(hp_dzialka, szHealth, charsmax(szHealth))
//    get_string(hp_dzialka, szHealth, charsmax(szHealth))
//    get_pcvar_string(hp_dzialka,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;
}

  • +
  • -
  • 0

Kontakt:

Steam: CSnajper

GG: 4394855

 

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


#2 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 05.06.2014 14:26

Pokaż jeszcze funkcję stawiania trójnogu.


  • +
  • -
  • 1

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul


#3 Sniper Elite

    Master

  • Autor tematu
  • Power User

Reputacja: 176
Profesjonalista

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

Napisano 05.06.2014 19:00   Najlepsza odpowiedź

Poradziłem sobie i zrobiłem takie coś (jakby ktoś miał podobny problem):

    new iEnt = -1;
    while((iEnt = find_ent_by_class(iEnt,"sentry_base")) != 0)
    {
        if(pev_valid(iEnt) && pev(iEnt,pev_iuser1) == id)
        {
            set_pev(iEnt,pev_iuser3,stawdzialo2(iEnt));
            
        }
    }

  • +
  • -
  • 2

Kontakt:

Steam: CSnajper

GG: 4394855

 

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





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

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