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

Register_ham - pomoc.


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

#1 Nenczoks

    Banned

  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 12.10.2010 09:38

Witam. Doszedłem jak zrobić ,że za zadane obrażenia to dana liczba punktów. Lecz mam problem bo za dużo ich nabija..

RegisterHam(Ham_TraceAttack, "player", "dmg");


po czym

public dmg(idinflictor, idattacker, Float:damage, damagebits)
{
if(is_user_connected(idinflictor) || is_user_connected(idattacker) && !is_user_zombie(idattacker))
{
punkty[idattacker] += floatround(damage);
}
return HAM_HANDLED;
}


i mam problem. Jeżeli zadałem z m4 np. 6 obrażeń to powinien dostać 6 punktów a dostaje chyba z 25 .. Proszę o pomoc! :)

Oraz chciałbym w hud dodałem ,że po otwarciu menu pojawia się ->

set_hudmessage(255, 170, 0, 0.7, 0.01, 0, 6.0, 3.0)
show_hudmessage(id, "Twoje punkty^n %i",punkty[id])


I jak zrobić ,że po zamknięciu menu to, to od razu znika?

Użytkownik Nenczoks edytował ten post 12.10.2010 09:40


#2 Ortega

    mów mi Orti

  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 12.10.2010 15:25

Zastanów się gdzie robisz błąd. ( polecam przetłumaczyć sobie parametry tego const'a )
 /**
* Description: Usually called whenever an entity takes any kind of damage.
* Inflictor is the entity that caused the damage (such as a gun).
* Attacker is the entity that tirggered the damage (such as the gun's owner).
* Forward params: function(this, idinflictor, idattacker, Float:damage, damagebits);
* Return type: Integer.
* Execute params: ExecuteHam(Ham_TakeDamage, this, idinflictor, idattacker, Float:damage, damagebits);
*/
Ham_TakeDamage

Najprościej, zrób sobie zmienna globalną tablicę i podczas wykonania Hook'a zrób postinkrementację dla zmiennej od [ iAttacker ].

ad2. Wyświetl na tym samym kanale pustą wiadomość.
  • +
  • -
  • 1

#3 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 12.10.2010 16:27

Jak byś mógł mi wykonać albo w jakiś sposób pomóc?

Z tym drugim to w jednym pluginie mam dwa menu. Dla zombie i dla ocalałych. Więc wiesz..
Po pokazaniu się menu, pokazuje w hudzie punkty a po zamknięciu te punkty no wiesz - ta informacja znika.

Bo wiesz, pierwszy raz robię coś z register_ham. Wiem powinienem sam ale ... no bardzo Cie proszę.

Użytkownik Nenczoks edytował ten post 12.10.2010 16:29


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 12.10.2010 17:30

public dmg(this, idinflictor, idattacker, Float:damage, damagebits)
if(is_user_connected(this) || is_user_connected(idattacker) && !is_user_zombie(idattacker))
        {
                punkty[idattacker] += floatround(damage);
        }
        return HAM_HANDLED;
}

czytanie ze zrozumieniem
ale ten warunek to jakiś dziwny

co do 2
ustal staly kanał na którym będzie to wyświetlane (zobacz sobie parametry funkcji set_)
a potem jak chcesz to usunąć nadpisujesz na tym samym kanale pustą wiadomość :D
  • +
  • -
  • 1

#5 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 12.10.2010 19:30

Tego też nie rozumiem heh :D

Ale co do tych punkt'ów dziękuje.. Jednak mówię żeby np. zadam 6 hp zombiakowi to doda mi punktów 6. W tej chwili dodaje tak samo jak wtedy heh.

#6 Ortega

    mów mi Orti

  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 12.10.2010 20:18

Przecież dodajesz do tablicy wartość obrażeń to nie dziwne, że jakieś liczby, a powinno dodawać 1.
punkty[ idattacker ] ++;

  • +
  • -
  • 1

#7 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 12.10.2010 20:26

public event_dmg(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(is_user_connected(this) || is_user_connected(idattacker) && !is_user_zombie(idattacker))
{
punkty_czlowieka[idattacker] ++;
}
return HAM_HANDLED;
}


I nie dodaje punktów w ogóle :)

#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 12.10.2010 20:41

skoro ma dodawać 6 punktów za 6 dmg to był dobrze...
public event_dmg(this, idinflictor, idattacker, Float:damage, damagebits)
{
        if(is_user_zombie(this) && !is_user_zombie(idattacker))
        {
                punkty_czlowieka[idattacker]+=floatround(damage);
        }
        return HAM_HANDLED;
}
a skoro ci źle dodaje to może coś też to łapie i zmienia dmg
  • +
  • -
  • 1

#9 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 12.10.2010 21:28

Ten kod co mi dałeś to w ogóle nie dodaje punkt'ów :F

Dodano 13 październik 2010 - 15:28:
?

Dodano 13 październik 2010 - 15:28:
?

Dodano 13 październik 2010 - 23:23:
? to jak moi drodzy? :)

Dodano 16 październik 2010 - 16:33:
?




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

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