Wytrzymałość perku
1stADXionC
26.08.2015
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.
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
1stADXionC
26.08.2015
^Szeregowy^ 27.08.2015
Zaraz cos wymysle
Użytkownik ^Szeregowy^ edytował ten post 27.08.2015 00:44
^Szeregowy^ 27.08.2015
Nie jestem pewny czy zadziała w końcu to wersja 1.0 :
#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
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$ ]
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 perkPo 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.