←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Wytrzymałość perku

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 26.08.2015

Witam.
Wpadłem na pomysł aby zrobić perk na czas. Co mam na myśli? Zdobyty perk przez gracza bedzie na jedną godzine.
Po upływie czasu perk bedzie automatycznie wyrzucany. Czas upływałby w tedy jak gracz jest tylkona serwerze. Teraz pytanie do was, czy idzie zrobic to co wyżej opisałem? Jeżeli tak to proszę o pomoc przy zrobieniu owego systemu.
Odpowiedz

  • +
  • -
tytusek - zdjęcie tytusek 26.08.2015

da się zrobić przykład artefakty w diablo trzeba użyć zapisu nvault  

 

sam całego rozwiązania(kodu) nie podam bo nie umie zmodyfikować ;/


Użytkownik tytusek edytował ten post 26.08.2015 23:00
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 26.08.2015

Czyli wiemy, ze jest możliwość stworzenia tego. Teraz czekam na jakies propozycje/pomysły jak to zrobić ;)
Odpowiedz

^Szeregowy^ - zdjęcie ^Szeregowy^ 27.08.2015

Zaraz cos wymysle


Użytkownik ^Szeregowy^ edytował ten post 27.08.2015 00:44
Odpowiedz

^Szeregowy^ - zdjęcie ^Szeregowy^ 27.08.2015

Nie jestem pewny czy zadziała xD w końcu to wersja 1.0 :D:

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>

new const perk_name[] = "test";

new const perk_desc[] = "Test x czas";

new bool:ma_perk[33];
new Float:dostal[33];
new Float:stracil[33];

public plugin_init()
{
register_plugin(perk_name, "1.0", "QTM_Peyote")

cod_register_perk(perk_name, perk_desc);
RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1);


}

public Dostal(id)
{
new Float:ma = get_gametime();
if( ma <= dostal[id])
{
client_print(id, print_chat, "Otrzymales Perk na 1h");
return PLUGIN_HANDLED;
}
cod_set_user_perk(id, -1, -1, 1);
dostal[id] = ma + 60.0;
return PLUGIN_CONTINUE;
}

public cod_perk_enabled(id)
{

entity_set_float(id, EV_FL_gravity, 400.0/800.0);
ma_perk[id] = true;
Dostal(id)
set_task(60.0, "Stracil", id+492);

}

public Stracil(id)
{
id-=492
new Float:niema = get_gametime();
if( niema <= stracil[id])
{
client_print(id, print_chat, "Straciles Perk");
return PLUGIN_HANDLED;
}
cod_set_user_perk(id, -0, -0, 0);
stracil[id] = niema - 60.0;
set_task(1.0, "cod_perk_disabled", id+493);
return PLUGIN_CONTINUE;

}
public cod_perk_disabled(id)
{

id-=493

entity_set_float(id, EV_FL_gravity, 1.0);
ma_perk[id] = false;
Stracil(id)
remove_task(id+492);
remove_task(id+493);

}

public fwSpawn_Grawitacja(id)
{
if(ma_perk[id])
entity_set_float(id, EV_FL_gravity, 400.0/800.0);
}

 


Użytkownik ^Szeregowy^ edytował ten post 27.08.2015 01:06
Odpowiedz

  • +
  • -
1stADXionC - zdjęcie 1stADXionC 29.08.2015

Jeszcze nie testowałem, ale chciałbym aby było dostępne menu pod komendą "/c" :

Perk: (nazwa naszego perku)
Wytrzymałość: 45 min

1. Ulepsz perk
2. Wyrzuc perk

Po wybraniu pierwszej opcji otwiera sie nowe menu:

1. Poziom 1 - +10 minut [ Koszt: 500$ ]
2. Poziom 2 - +30 minut [ Koszt: 500$ ]
3. Poziom 3 - +50 minut [ Koszt: 500$ ]
Odpowiedz

  • +
  • -
Linux' - zdjęcie Linux' 02.09.2015


Jeszcze nie testowałem, ale chciałbym aby było dostępne menu pod komendą "/c" :

Perk: (nazwa naszego perku)Wytrzymałość: 45 min1. Ulepsz perk2. Wyrzuc perk
Po wybraniu pierwszej opcji otwiera sie nowe menu:
1. Poziom 1 - +10 minut [ Koszt: 500$ ]2. Poziom 2 - +30 minut [ Koszt: 500$ ]3. Poziom 3 - +50 minut [ Koszt: 500$ ]


Troche roboty, trzeba by zrobic zapisywanie w silniku. Potem natyw pobierac w wybranym perku. Moge napisac, zapraszam do zlecen platnych.
Odpowiedz