←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatkowe skoki

Zablokowany

AztekHQS - zdjęcie AztekHQS 08.10.2012

	new flagi = pev(id, pev_flags)

if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flagi & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && Skoki[id]) {
Skoki[id]--
new Float:velocity[3]
pev(id, pev_velocity,velocity)
velocity[2] = random_float(265.0, 285.0)
set_pev(id, pev_velocity, velocity)
}
else if(flagi & FL_ONGROUND) Skoki[id] += get_pcvar_num(pCvarSkoki)


Czemu dodaje nieskończoną ilość sków a nie obecne + ustawiane w cvar ?
Funkcja dodana do CmdStart

; ===== DODANO PÓŹNIEJ ===== ;

Czy jeśli zamienię:
Skoki[id]--

na:
Skoki[id] -= 1

Będzie działać ?
Użytkownik AztekHQS edytował ten post 08.10.2012 18:55
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 09.10.2012

Czy jeśli zamienię:
Skoki[id]--
na:
Skoki[id] -= 1
Będzie działać ?

To jest to samo ;)

Jest tak dużo skoków ponieważ ciągle gdy gracz dotyka ziemi zostają dodawane skoki z cvara.
Zamień to:
Skoki[id] += get_pcvar_num(pCvarSkoki)

na:
Skoki[id] = get_pcvar_num(pCvarSkoki)
Odpowiedz

AztekHQS - zdjęcie AztekHQS 09.10.2012

Eh, to akurat nie wchodzi w grę, bo mam 2 pluginy, które ustawiają jump'a gracza.
VIP - 2 skoki
Ruletka - 4 skoki (cvar)

Więc jeśli dam = w kodzie powyżej (ruletka) to gracz z VIP'em będzie miał 4 skoki dodatkowe, a nie 6.
Chciałbym po prostu te skoki zsumować.
Odpowiedz

  • +
  • -
Zapalka - zdjęcie Zapalka 10.10.2012

To w takim razie tworzysz globalną zmienną logiczną:
new bool:g_bSkacze[33];


i wtedy kod będzie wyglądał tak:
new flagi = pev(id, pev_flags)
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flagi & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && Skoki[id])
{
Skoki[id]--;
g_bSkacze[id]=true;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0, 285.0);
set_pev(id, pev_velocity, velocity);
}
else if(flagi & FL_ONGROUND && g_bSkacze[id])
{
Skoki[id] += get_pcvar_num(pCvarSkoki);
g_bSkacze[id]=false;
}

Użytkownik Zapalka edytował ten post 10.10.2012 06:09
Odpowiedz

Gość_21977_* 14.10.2012

Zawsze możesz używać multiskoków tylko w jednym z pluginów,
a z drugiego pobierać informacje natywami.

Jeszcze ciekawiej, możesz ustawiać graczowi, np. flagi dostępu na wybranym slocie,
np. set_user_flags(id, flags, 1) i w 1. slocie przechowywać liczbę pozostałych do wykonania skoków.

To jest rzadko spotykane, ale chyba dużo prostsze od natywów rozwiązanie.
Zresztą, jak kto woli ;)
Odpowiedz

AztekHQS - zdjęcie AztekHQS 15.10.2012

Chyba w tym przypadku użycie natywów będzie najlepszym rozwiązaniem.
Można zamknąć.
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 15.10.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany