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

Bartime - wartości typu float


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

#1 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 17.12.2011 10:16

Siema mam pytanie. Czy mogę do tego stocka dodać wartość float czyli:

stock set_bartime(id, czas, startprogress=0)
{
message_begin((id)?MSG_ONE:MSG_ALL, get_user_msgid("BarTime2"), _, id)
write_short(czas);
write_short(startprogress);
message_end();

}

na

stock set_bartime(id, Float:czas, startprogress=0)
{
message_begin((id)?MSG_ONE:MSG_ALL, get_user_msgid("BarTime2"), _, id)
write_short(czas);
write_short(startprogress);
message_end();

}


A jak nie to czy jest jakiś sposób aby wyświetlić progresbar na czas podany w wartości float?

PS
Nie chcę aby czas był zaokrąglany tylko taki jaki jest bo floatround umiem używać

Użytkownik Jak się nazwać edytował ten post 17.12.2011 10:18

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 17.12.2011 10:20

stock createBarTime(id, Float:czas, startprogress = 0){

	static barTime2;

	

	if(!barTime2)	barTime2	=	get_user_msgid("BarTime2");

	

	message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id)

	write_short( floatround( czas ) );

	write_short( startprogress );

	message_end(); 

	

}

  • +
  • -
  • 0

#3 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 17.12.2011 10:23

Dark,
A tak nie zadziała ?
stock set_bartime(id, Float:czas, startprogress=0)
{
        message_begin((id)?MSG_ONE:MSG_ALL, get_user_msgid("BarTime2"), _, id)
        write_short(floatround(czas))
        write_short(startprogress)
        message_end();  

}

Użytkownik speedkill123 edytował ten post 17.12.2011 10:24

  • +
  • -
  • 0

If you can dream it, you can do it.


#4 Jak się nazwać

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 17.12.2011 10:27

Nie chcę aby czas był zaokrąglany tylko taki jaki jest bo floatround umiem używać


A to co podaliście zaokrągli czas i wyświetli przynajmniej tak mi się wydaje
  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 17.12.2011 10:27

za każdym razem wywołania funkcji wykonujesz get_user_msgid po co skoro ona zwraca zawsze to samą wartość ? szybkość odczytania wartości zmiennej jest lepsza niż wywołanie funkcji i czekanie co ona zwróci
  • +
  • -
  • 1

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 17.12.2011 10:30

a co jest złego w zaokrąglaniu ? nie widziałem funkcji która pozwala przekazać short jako float
stock createBarTime(id, Float:czas, startprogress = 0){
        static barTime2;

        if(!barTime2)   barTime2        =       get_user_msgid("BarTime2");

        message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id)
        write_short( _:czas  );
        write_short( startprogress );
        message_end(); 
}
sprawdź
  • +
  • -
  • 0

#7 Jak się nazwać

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 17.12.2011 10:48

No bo mi zależy właśnie na tym aby czas był dokładny co do tego float. Spróbuję dam znać czy działa.

(Nie zaczyna się zdania od "No bo" xD)

OK mam ogólnie problem z pluginem:
L 12/17/2011 - 10:44:20: [HAMSANDWICH] Failed to retrieve classtype for "weapon_smokegren", hook for "weaponItemDeployPost" not active.
L 12/17/2011 - 10:44:20: [AMXX] Displaying debug trace (plugin "funkcja_reloadu.amxx")
L 12/17/2011 - 10:44:20: [AMXX] Run time error 10: native error (native "RegisterHam")
L 12/17/2011 - 10:44:20: [AMXX]	[0] funkcja_reloadu.sma::plugin_init (line 36)

Korzystam z kodu darka na reload


/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>

#define TASK_RELOAD 7193

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "DarkGL"

const NOCLIP_WPN_BS = ((1<<2)|(1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
const SHOTGUNS_BS = ((1<<CSW_M3)|(1<<CSW_XM1014))

// weapons offsets
const m_pPlayer = 41
const m_iId = 43
const m_fInReload = 54

const m_flNextAttack = 83

stock const Float:g_fDelay[CSW_P90+1] = {
0.00, 2.70, 0.00, 2.00, 0.00, 0.55, 0.00, 3.15, 3.30, 0.00, 4.50,
2.70, 3.50, 3.35, 2.45, 3.30, 2.70, 2.20, 2.50, 2.63, 4.70,
0.55, 3.05, 2.12, 3.50, 0.00, 2.20, 3.00, 2.45, 0.00, 3.40
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

new szWeapon[17]
for(new i = 1; i <= CSW_P90; i++)
{
if( get_weaponname(i, szWeapon, charsmax(szWeapon)) && RegisterHam(Ham_Item_Deploy,szWeapon,"weaponItemDeployPost",1) && !(NOCLIP_WPN_BS & (1<<i)))
{
if( !(SHOTGUNS_BS & (1<<i)) )
{
RegisterHam(Ham_Weapon_Reload, szWeapon, "weaponReloadPost", 1)

}
}
}
}

public weaponReloadPost(iEnt)
{
if( get_pdata_int(iEnt, m_fInReload, 4) )
{
new id = get_pdata_cbase(iEnt, m_pPlayer, 4)
new Float:fDelay = g_fDelay[get_pdata_int(iEnt, m_iId, 4)]

remove_task(id);
createBarTime(id, fDelay)
set_task(fDelay,"reloadEnd",id+TASK_RELOAD);
}
}

public reloadEnd(id){
if(!is_user_alive(id)) return PLUGIN_CONTINUE;

client_print(id, print_center, "Reload skaczany")

return PLUGIN_CONTINUE;
}


public weaponItemDeployPost(iEnt){
remove_task(get_pdata_cbase(iEnt, m_pPlayer, 4)-TASK_RELOAD);
}

stock createBarTime(id, Float:czas, startprogress = 0){
static barTime2;

if(!barTime2) barTime2 = get_user_msgid("BarTime2");

message_begin( id ? MSG_ONE : MSG_ALL, barTime2, _, id)
write_short( _:czas );
write_short( startprogress );
message_end();
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

linijka 36 to
if( get_weaponname(i, szWeapon, charsmax(szWeapon)) && RegisterHam(Ham_Item_Deploy,szWeapon,"weaponItemDeployPost",1) && !(NOCLIP_WPN_BS & (1<<i)))

Użytkownik Jak się nazwać edytował ten post 17.12.2011 10:49

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 19.12.2011 21:38

new szWeapon[17]
na
new szWeapon[32]
  • +
  • -
  • 0




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

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