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

Niewidzialność na nożu


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

#1 Blondyna

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 19.05.2013 11:35

Siemka :D

Chcę zrobić aby vip mógł ładowac niewidzialność na nożu, tylko za bardzo mi to nie wychodzi.

Daje kod, który zrobiłem:

public knife(id)
{

    if( read_data(2) == CSW_KNIFE )
    {

       stock createBarTime(id, Float:fTime, startprogress = 0){
    static barTime2;
    
    if(!barTime2)    barTime2    =    get_user_msgid("BarTime2");
    
    message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id)
    write_short( floatround( fTime ) );
    write_short( startprogress );
    message_end();
    
    }
    else
    {

        if(get_user_weapon(id) == CSW_KNIFE)
                   set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 10);
          else
                   set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);

    }

}

  • +
  • -
  • 0

#2 sNH.

    Czy MisieQ ukradł ciasteczko?

  • Power User

Reputacja: 299
Wszechwidzący

  • Postów:1 070
  • Steam:steam
  • Imię:Bartek
  • Lokalizacja:Ełk
Offline

Napisano 19.05.2013 12:05

Ja zrobiłbym sam warunek

        if(get_user_weapon(id) == CSW_KNIFE)

                   set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 10);
          else
                   set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);

    }

}

 

Albo tak

if( read_data(2) == CSW_KNIFE )

{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 10);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
}


  • +
  • -
  • 1

#3 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 19.05.2013 12:13

Czyli jak da na nóż będzie ładował się pasak a gdy się załaduje będzie niewidzialny .?


  • +
  • -
  • 0

#4 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 19.05.2013 12:39

Od razu będziesz niewidzialny, jeżeli chcesz to po jakimś czasie to polecam set_task()


  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 19.05.2013 12:49

To możesz podać z "set_tasak()", 5 sek i staje się niewidzialny :P I ładuje sie pasek.

Z góry dzięki ;)


  • +
  • -
  • 0

#6 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 19.05.2013 15:17

Kodu Ci nie podam, specjalnie po to abyś myślał co robisz - samo kopiowanie nie uczy za wiele :)

Ja bym zrobił to tak:

Złapanie zdarzenia zmiany broni, jeżeli jest to nóż (wspaniale!) tworzymy ten pasek, tak aby wypełniał się przez 5 sekund, dodatkowo tworzymy task'a, również na 5 sekund, dodatkowo wymaganym byłoby przesłać id, więc robimy to w id tasku, przykład:

#define STALA_JAKAS 4300
 
/* wywołujemy taska */
set_task(5.0, "Taskowa_funkcja", id + STALA_JAKAS)
 
/* jak wydobyć id gracza w funkcji tasku */
public Taskowa_funkcja(task_id)
{
new id = task_id - STALA_JAKAS
}

 

Dlaczego dodajemy liczbę 4300 (liczba przypadkowa, lecz nie może się powtarzać)? Ponieważ każdy task powinien mieć unikalne ID, nasz task będzie miał id zależne od id gracza, czyli id będzie z zakresu 4301 - 4332. W owej funkcji taskowej sprawdzamy czy gracz żyje i nadajemy mu niewidzialność, ale jeżeli zmieni broń to i tak będzie niewidzialny, więc powracamy do łapania zmiany broni, jeżeli warunek nie jest spełniony - gracz nie ma noża (czyli else) to usuwamy task (najlepiej sprawdzić czy taki istnieje, aby czegoś w logach czasem nie było :D) poprzez remove_task(id+STALA_JAKAS) i usunąć pasek, czyli ustawić jego czas wypełniania na 0 (tak kiedyś chyba robiłem :) ) i należałoby mu przywrócić widoczność (oczywiście mało optymalne jest ustawianie widzialności po każdej zmianie broni jak i też usuwanie taska i paska, więc wypadałoby zrobić tablice boolean, zapisywać czy gracz jest widzialny czy nie i uwarunkować aby część kodu nie wykonywała się gdy jest on widzialny (uwidacznienie), a część jak jest niewidzialny ( usuwanie task'a i paska)


sebul (19.05.2013 19:58):
Zamiast zmiennej, można sprawdzać, czy task istnieje.

  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#7 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 19.05.2013 15:43

Z zaznaczeniem jednak, że STALA_JAKAS musi być unikalna dla tasków wyłącznie w obrębie pluginu ;) więc można równie dobrze używać po kolei dla tasków wartości 32, 64, 96, 128... A ID lepiej poprzez data przerzucić, gdyż możesz od razu do data zapisać inne potrzebne wartości. A niestety nie można w tasku przechwycić równocześnie ID taska i parametr data.


Użytkownik GwynBleidD edytował ten post 19.05.2013 15:44

  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#8 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 19.05.2013 18:59

Dalej nie rozumiem jak zrobić ten pasek ;c


  • +
  • -
  • 0

#9 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 19.05.2013 19:43

Szukać w "Gotowe Funkcje" to nie łaska? Masz tam piękny stock, klejasz go na koniec sma (jako odrębna funkcja) i używasz samej nazwy stocka (np. CreateBarTime() ) z odpowiednimi parametrami, tak się jakoś złożyło że przy prawie każdym stocku omówione są jego parametry i podane użycie.


  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#10 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 20.05.2013 14:25

Koledze chodzi o coś takiego?

 

#define TIME 5.0 //zmieniasz ile chcesz sekund
#define UNIKAT 2013

new msgBarTime;

public plugin_init()
{
    register_plugin(nazwa, "1.0", "Klakier");
    
    register_event("CurWeapon", "knife", "be", "1=1");
    
    msgBarTime = get_user_msgid("BarTime");
    
    
}


public knife(id)
{
    
    if(read_data(2) == CSW_KNIFE)
    {
        if(!task_exists(id+UNIKAT))
        {
            new data[1];
            data[0] = id;
            bartime(id, floatround(TIME))
            set_task(TIME, "set_invisible", id+UNIKAT, data, 1)
        }
    }
    else
    {
        if(task_exists(id+UNIKAT))
        {
            remove_task(id+UNIKAT);
            bartime(id, 0);
        }
    }
    
}
public set_invisible(data[])
{
    new id = data[0];
    
    set_rendering(id,kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 10);
}
stock bartime(id, czas) {
    message_begin(MSG_ONE_UNRELIABLE, msgBarTime, .player = id);
    write_short(czas);
    message_end();    
}

  • +
  • -
  • 1

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#11 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 24.05.2013 13:59

A jakie moduły .?

 



Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Warning: Loose indentation on line 30
Error: Undefined symbol "set_rendering" on line 61
Warning: Symbol is assigned a value that is never used: "id" on line 62

1 Error.
Could not locate output file C:\Users\BO\Downloads\codclass_zabojca.amx (compile failed).

Załączone pliki


  • +
  • -
  • 0

#12 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 24.05.2013 14:01

Sorki

 

Spoiler

  • +
  • -
  • 1

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#13 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 24.05.2013 14:06

Klakier, vip jest cały czas niewidzialny i jak zrobić aby to działało na flagę .?

A ja chcę aby był niewidzialny jak załaduje się pasek a potem gdy da na broń znowu jest widzialny jak w Diablo Mod klasa zabójca :)


Użytkownik Vesfper edytował ten post 24.05.2013 14:08

  • +
  • -
  • 0

#14 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 24.05.2013 14:14

Zobacz czy zadziała:

Spoiler

  • +
  • -
  • 1

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#15 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 24.05.2013 14:24

Działa :D

Teraz powiedz jak zrobić to na flagę aby było to dla vipa.

Czy jest możliwość dodania tekstu jak pasek się naładuje ?


  • +
  • -
  • 0

#16 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 24.05.2013 14:45

Zobacz, czy ten HUD zadziała :D

 

Spoiler

  • +
  • -
  • 1

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#17 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 24.05.2013 14:55

Działa, PIONA :D

A jak zrobić aby to był plugin tylko dla vipa .?


  • +
  • -
  • 0

#18 Pan Marian

    Banned

  • Zbanowany

Reputacja: 89
Zaawansowany

  • Postów:283
  • Imię:Marian
  • Lokalizacja:इंटरनेट
Offline

Napisano 24.05.2013 15:16

@UP, jest on przyznany dla VIP'a tylko i wyłącznie

public knife(id)
{
    if(get_user_flags(id) & 524288 == 524288)
    {
    }
}
 


#19 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 25.05.2013 07:14

A czy da się zrobić aby pasek ładował się tylko podczas stania w miejscu .?


  • +
  • -
  • 0

#20 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 25.05.2013 09:45

Spoiler

  • +
  • -
  • 1

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018





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

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