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

Float - zbyt dużo zer :/Jak zmniejszyć ilość zer po kropce


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

#1 camilost

    ^ BotQ - STER.owiec ^

  • Power User

Reputacja: 434
Wszechobecny

  • Postów:968
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Tychy
Offline

Napisano 24.07.2010 10:54

Edytuje sobie teraz plugin ZP i postanowiłem dodać info przy infekcji, że coś tam ma dana klasa. W jednej klasie HP się regeneruje, więc chciałem dodać info co ile i ile HP.
CVARy w float są zrobione więc i pobieranie musiałem dać float: ;P Ale gdy wysyła wiadomość jest okropnie dużo zer po kropce, i tu pytanie:

Da się jakoś usunąć te zera? Najlepiej jakby było samo bez reszty po kropce.

Potrzebna część sma
	g_healing_delay = register_cvar("zp_healing_zombie_delay", "3.0")
g_healing_amount = register_cvar("zp_healing_zombie_amount", "50.0")

public zp_user_infected_post(player, infector)
{
new Float:h12del = get_pcvar_float(g_healing_delay)
new Float:hl2amo = get_pcvar_float(g_healing_amount)
if ((zp_get_user_zombie_class(player) == g_zclass_healing) && !zp_get_user_nemesis(player))
{

client_print(player, print_chat, "[ZP] Your health is regenerated at %f sec by %f HP", h12del, hl2amo)
}
return PLUGIN_CONTINUE
}


Wiadomość wysyłana wygląda tak:

[ZP] Your health is regenerated at 6.000000 sec by 100.000000 H


Użytkownik camilost edytował ten post 24.07.2010 10:56

  • +
  • -
  • 0

#2 Ortega

    mów mi Orti

  • Power User

Reputacja: 363
Wszechpomocny

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

Napisano 24.07.2010 12:54

Zamień
%f

na
%.1f


W efekcie będzie jedna cyfra po przecinku. (nie testowałem)

Użytkownik Ortega edytował ten post 24.07.2010 13:03

  • +
  • -
  • 1

#3 camilost

    ^ BotQ - STER.owiec ^

  • Autor tematu
  • Power User

Reputacja: 434
Wszechobecny

  • Postów:968
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Tychy
Offline

Napisano 24.07.2010 20:05

Dzięki, może też tak być :P

[ZP] Your health is regenerated at 6.0 sec by 100.0 HP


Jeszcze mam problem z get_pcvar_num (pokazuje same zera :D)

    g_invisible_amount = register_cvar("zp_ghost_invisibility", "10")

public zp_user_infected_post(player, infector)
{
invisam = get_pcvar_num(g_invisible_amount)

if((zp_get_user_zombie_class(player) == g_zclass_ghost) && !zp_get_user_nemesis(player))
client_print(player, print_chat, "[ZP] Your invisibility is %f.", invisam)
}


[ZP] Your invisibility is 0.000000

Nie mam pojęcia co dać zamiast %f, jedynie z tym coś wyświetlało(liczby) I to dodatkowo nie float :/
  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 24.07.2010 20:09

czy zmienna invisam to float czy całkowita ?
jeśli float to zmień na samo new i daj %d
  • +
  • -
  • 1

#5 camilost

    ^ BotQ - STER.owiec ^

  • Autor tematu
  • Power User

Reputacja: 434
Wszechobecny

  • Postów:968
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Tychy
Offline

Napisano 24.07.2010 20:23

Invisam zwykła liczba nie float
        set_es(es_handle, ES_RenderAmt, get_pcvar_num(g_invisible_amount))
w innej części pluga :P

Pytanie do regeneracji:
Czemu tag mismatch jak daje tak:

public zp_user_infected_post(player, infector)
{
new Float:hl2del = get_pcvar_float(g_healing_delay)
new hl2amo = get_pcvar_float(g_healing_amount) // Tu mismatch
if ((zp_get_user_zombie_class(player) == g_zclass_healing) && !zp_get_user_nemesis(player))
{
client_print(player, print_chat, "[ZP] Your health is regenerated at %.1f sec by %d HP", hl2del, hl2amo)

}
return PLUGIN_CONTINUE
}

Zrobione tak jak napisałeś wyżej ;P

Użytkownik camilost edytował ten post 24.07.2010 20:26

  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 24.07.2010 20:28

get_pcvar_num(g_healing_amount) // Tu mismatch
  • +
  • -
  • 1

#7 camilost

    ^ BotQ - STER.owiec ^

  • Autor tematu
  • Power User

Reputacja: 434
Wszechobecny

  • Postów:968
  • GG:
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Tychy
Offline

Napisano 24.07.2010 20:43

get_pcvar_num(g_healing_amount) // Tu mismatch


omg:
new g_zclass_healing, g_healing_delay, g_healing_amount
new Float:g_heal_delay[33]

dałałem float bo myślałem przez cały dzień że g_healing_amount też było w floatku ^^ Mało spałem może temu :D I cały dzień się z tym męczyłem xD

Dobra:
Zombie Healthing

[ZP] Your health is regenerated at 6.0 sec by 100 HP


Zombie Ghost

[ZP] Your invisibility is 5.


Już wiem żeby większą uwagę zwracać na "new" : D

Więcej już sobie poradzę,dzięki i jak zawsze rep
  • +
  • -
  • 0

#8 Adminek AMXX.PL

    Admin :)

  • Bot

Reputacja: 156
Profesjonalista

  • Postów:7 476
  • Lokalizacja:AMXX.PL
Offline

Napisano 24.07.2010 21:17

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




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

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