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

Problem z szybkością - Buty speeda - Easyblockdziwny problem


  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 09.03.2011 19:01

Więc tak, używam pewnego blockmakera, który jest bardzo dobry, lecz ma swoje błędy. Jeden mi strasznie przeszkadza. Mianowicie są to buty szybkości...

Opiszę tu błąd:
Stając na bloku dostaje wyznaczoną wcześniej szybkość[zgodnie z properties]. Fajnie jest, czas się kończy, lecz!!:
- Blok się nie resetuje ( tzn nie moge wziąźć butów poraz drugi. Gdy normalnie ich cooldown dochodzi do zera i się resetują, to w moim przypadku są wartości ujemne. Np. -32 sekundy... )
- Dodatkowo zmieniając broń ( gdy się skończy ważność butów ) znowu dostaję taką szybkość, jak z butami i to do końca rundy!

Czy można coś poradzić?


oto ze źródła:


ActionBootsOfSpeed(id, ent)
{
new Float:gametime = get_gametime();
if ( !g_boots_of_speed[id] )
{
static property[5];

GetProperty(ent, 3, property);
entity_set_float(id, EV_FL_maxspeed, str_to_float(property));

g_boots_of_speed[id] = ent;

emit_sound(id, CHAN_STATIC, g_sound_boots_of_speed, 1.0, ATTN_NORM, 0, PITCH_NORM);

static Float:time_out;
GetProperty(ent, 1, property);
time_out = str_to_float(property);
set_task(time_out, "TaskRemoveBootsOfSpeed", TASK_BOOTSOFSPEED + id, bcm_none, 0, bcm_ab, 1);

static Float:delay;
GetProperty(ent, 2, property);
delay = str_to_float(property);

g_boots_of_speed_time_out[id] = gametime + time_out;
g_boots_of_speed_next_use[id] = gametime + time_out + delay;
}
else if ( !g_has_hud_text[id] )
{
set_hudmessage(168, 230, 29, gfTextX, gfTextY, gHudEffects, gfHudFxTime, gfHudHoldTime, gfHudFadeInTime, gfHudFadeOutTime, gHudChannel);
show_hudmessage(id, "Boots Of Speed^nNext Use %.1f", g_boots_of_speed_next_use[id] - gametime);
}
}

public TaskRemoveBootsOfSpeed(id)
{
id -= TASK_BOOTSOFSPEED;

if ( !g_alive[id] ) return PLUGIN_HANDLED;

if ( g_ice[id] )
{
entity_set_float(id, EV_FL_maxspeed, 400.0);
}
else if ( g_honey[id] )
{
static block, property1[5];
block = g_honey[id];
GetProperty(block, 1, property1);

entity_set_float(id, EV_FL_maxspeed, str_to_float(property1));
}
else
{
ResetMaxspeed(id);
}

return PLUGIN_HANDLED;
}


Jeżeli ktoś miał podobny problem to bardzo proszę o pomoc. Moje wdzięczności do tego kto pomoże będą ogromne. :[




Daje dla porównania funkcję działającą ( niewidzialność )


ActionStealth(id, ent)
{
new Float:gametime = get_gametime();
if ( gametime >= g_stealth_next_use[id] )
{
static property[5];

set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 0);

emit_sound(id, CHAN_STATIC, g_sound_stealth, 1.0, ATTN_NORM, 0, PITCH_NORM);

g_block_status[id] = true;

static Float:time_out;
GetProperty(ent, 1, property);
time_out = str_to_float(property);
set_task(time_out, "TaskRemoveStealth", TASK_STEALTH + id, bcm_none, 0, bcm_ab, 1);

static Float:delay;
GetProperty(ent, 2, property);
delay = str_to_float(property);

g_stealth_time_out[id] = gametime + time_out;
g_stealth_next_use[id] = gametime + time_out + delay;
}
else if ( !g_has_hud_text[id] )
{
set_hudmessage(168, 230, 29, gfTextX, gfTextY, gHudEffects, gfHudFxTime, gfHudHoldTime, gfHudFadeInTime, gfHudFadeOutTime, gHudChannel);
show_hudmessage(id, "Stealth^nNext Use %.1f", g_stealth_next_use[id] - gametime);
}
}


public TaskRemoveStealth(id)
{
id -= TASK_STEALTH;

if ( g_connected[id] )
{
if ( get_gametime() <= g_invincibility_time_out[id] )
{
set_user_rendering(id, kRenderFxGlowShell, 255, 255, 255, kRenderTransColor, 16);
}
else
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 255);
}
}

return PLUGIN_HANDLED;
}

Użytkownik ^Grzyboo edytował ten post 09.03.2011 19:37

  • +
  • -
  • 0




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

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