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
 

Zapalka - zdjęcie

Zapalka

Rejestracja: 22.03.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 06.11.2021 21:16
-----

#589400 [ROZWIĄZANE] Problem z doświadczeniem

Napisane przez Zapalka w 28.11.2013 21:58

Po awansie na kolejny poziom musisz od aktualnego doświadczenia gracza odjąć ilość doświadczenia wymaganego na zdobycie poprzedniego poziomu. Przykładowy kod:

xpGracza[id]-=xpNaLVL[poziomGracza[id]-1];

Przy czym tablica xpNaLVL przechowuje liczbę doświadczenia wymaganego na kolejne poziomy.


  • +
  • -
  • 1


#481298 [ROZWIĄZANE] Problem z krokami na ziemi

Napisane przez Zapalka w 21.11.2012 15:56

Na początku pluginu dodaj to:

static Float:last[33][3];

Następnie podmień twojego thinka na ten:


public client_PostThink(id)
{
if(prowadzacy_id != id && prowadzacy != 1 || !(entity_get_int(id, EV_INT_flags) & FL_ONGROUND) || entity_get_int(id, EV_ENT_groundentity))
return PLUGIN_CONTINUE

static Float:origin[3]

entity_get_vector(id, EV_VEC_origin, origin)
if(get_distance_f(origin, last[id]) < 32.0)
{
return PLUGIN_CONTINUE
}

vec_copy(origin, last[id])
if(entity_get_int(id, EV_INT_bInDuck))
origin[2] -= 18.0
else
origin[2] -= 36.0

message_begin(MSG_BROADCAST, SVC_TEMPENTITY, {0,0,0}, 0)
write_byte(TE_WORLDDECAL)
write_coord(floatround(origin[0]))
write_coord(floatround(origin[1]))
write_coord(floatround(origin[2]))
write_byte(105)
message_end()

return PLUGIN_CONTINUE
}

  • +
  • -
  • 1


#465561 Tabela serwerów Online v2.0 *AKTUALIZACJA*

Napisane przez Zapalka w 09.10.2012 08:14

Zapalka
Kiedy dasz wersje z serwerem MC??

W tej chwili mam już wersję z działającym MC, ale na unixstormie nie chciał działać. Jedynie na dedyku pokazuje prawidłowe dane.
Aktualnie mam masę pracy i nie mam czasu na dalsze prace nad tabelką, gdy znajdę trochę czasu to zabiorę się za to.

W tej tabelce jest GameQ jak sądzę, więc tam jest minecraft wbudowany :)

GameQ nie wspiera minecrafta.
  • +
  • -
  • 1


#463787 [ROZWIĄZANE] Timelimit vote - errory

Napisane przez Zapalka w 03.10.2012 09:33

Zamień
menu_cancel(id);
na
menu_destroy(menu);

  • +
  • -
  • 1


#459582 Pytania o enum oraz tablice.

Napisane przez Zapalka w 19.09.2012 17:57

Co do diablo, to jest w nim tak jak w moim pierwszym przykładzie. Mianowicie, none=0 bo klasa z id 0 nie istnieje, później są dodawane nazwy klas i im klasa jest dalej tym ma większe id, czyli Mag będzie miał 1, Mnich 2, Paladyn 3. A wykorzystuje się to tak jak byś normalnie wpisywał cyferkę(0 dla braku klasy, 1 dla Maga itd.) Czyli obojętne jest czy napiszesz player_class[id]=1 czy player_class[id]=Mag. Wychodzi na to samo, bo Mag też ma id 1.

A te tablice opiszę ci jutro jeśli nie zapomnę ;P
  • +
  • -
  • 1


#459439 Pytania o enum oraz tablice.

Napisane przez Zapalka w 19.09.2012 07:35

Dzięki enum możesz zastąpić liczby znakami. W sensie, możesz zastąpić cyfrę 1234 wybranym ciągiem znaków, np. Cyferki.
Najprostsze zastosowanie:
enum {
CYFRA0, //0
CYFRA1, //1
CYFRA2, //2
CYFRA3 //3
}

client_print(id,print_chat,"Twoja cyfra to: %d",CYFRA2);


W tym przykładzie zostanie wypisana cyfra 2.
W takim przykładzie każdy ciąg znaków ma kolejną liczbę, CYFRA0 - 0, CYFRA1 - 1, CYFRA3 - 3.
Oczywiście enuma można rozszerzyć aby np. liczenie będzie się zaczynało od innej liczby, lub liczba będzie się zwiększała np. o 3.
Przykład:

enum (+=3) {
CYFRA1, //3
CYFRA2, //6
CYFRA3 //9
}

W tym przypadku ciąg CYFRA1 jest jako liczba 3, kolejne ciągi mają wartości zwiększające się o 3.
Można także używać niestandardowych enumów, czyli dla każdego ciągu znaków przypisać dowolną liczbę, niezależną od poprzedniej. Przykład:

enum {
CYFRA1 = 4,
CYFRA2 = 7,
CYFRA3 = 22
}


Tablic na razie ci nie opiszę bo jestem w szkole i średnio mi się chce ;)
  • +
  • -
  • 2


#454821 Tabela serwerów Online v2.0 *AKTUALIZACJA*

Napisane przez Zapalka w 02.09.2012 16:28

Dodałem ale gdy tabelka się odświeży to # zamienia się na puste miejsce.

Tak, bo tego znaku nie może być.

Tak samo jest ze slotami, dodałem spacje, teraz wygląda to tak x / x lecz również po odświeżeniu odstęp znika i jest x/x.

Dzieje się tak dlatego, że całe to miejsce jest zmieniane przy odświeżeniu na to, co ustawiłem w pliku ajax.js znajdującym się w folderze js. Jeśli chcesz mieć ten odstęp to musisz zmienić też to w tym pliku.
  • +
  • -
  • 1


#454611 Tabela serwerów Online v2.0 *AKTUALIZACJA*

Napisane przez Zapalka w 02.09.2012 08:12

QuahodronN, fail ;P PHP nie blokuje żadnych znaków, to ja użyłem # do rozdzielenia argumentów.
Raen, otwórz plik odswiez.php i znajdź linijkę (u mnie 261)
echo $serwer['nazwa'].'#';
i wstaw przed nią:
$serwer['nazwa']=preg_replace("[\x23]"," ",$serwer['nazwa']);

  • +
  • -
  • 1


#453983 Status Serwerów w PHP

Napisane przez Zapalka w 31.08.2012 15:32

Skontaktuj się z BOK'iem twojego hostingu www. Prawdopodobnie to oni blokują port 30006, ponieważ sprawdzałem u siebie i połączenie jest nawiązywane bez problemu.
  • +
  • -
  • 1


#453264 Tabela serwerów Online v2.0 *AKTUALIZACJA*

Napisane przez Zapalka w 29.08.2012 19:30

Skrypt został zaktualizowany do wersji 2.0, cała treść pierwszego posta w temacie została zmieniona
  • +
  • -
  • 1


#420212 strtotime Przemiana (odliczanie)

Napisane przez Zapalka w 13.06.2012 06:00

Tutaj nic nie trzeba transportować, tworzysz zmienną przechowującą aktualną zmienną, następnie odejmujesz datę z bazy od aktualnej i wyświetlasz co tylko zechcesz(sekundy, minuty itd.) za pomocą funkcji date();

Chodzi ci o javę czy javascripta? Są to dwa różne języki, nie myl ich. Podejrzewam, że chodziło ci o to drugie, javascript. W takim przypadku nie musisz obliczać pozostałego czasu w PHP. Wystarczy, że przekażesz datę z bazy do Javascripta i będziesz ją sobie zarządzał z postaci JS. W sieci jest pełno przykładów z odliczaniem, np. do nowego roku.
  • +
  • -
  • 1


#401675 Natywy "Wywołania"

Napisane przez Zapalka w 25.04.2012 17:04

Dodaj wykonanie start(id); do funkcji Native_PobierzID
  • +
  • -
  • 1


#401216 Natywy "Wywołania"

Napisane przez Zapalka w 24.04.2012 17:39

Wtedy musisz znaleźć id wybranego elementu. np.

public Native_PobierzID(nazwa[])
{
for(new i=0;i<ilosc_nazw;i++)
{
if(equal(nazwy_klas[i],nazwa))
return i;
}
return -1;
}


No i możesz wtedy zrobić tak:
Native_KosztMana(Native_PobierzID("Test"));

  • +
  • -
  • 2


#401201 Natywy "Wywołania"

Napisane przez Zapalka w 24.04.2012 17:09

Nie.
Zrób to tak:
public Native_KosztMana(id)
return koszt_mana[id];


I użycie:
new koszt=Native_KosztMana(1);


Tylko przy rejestrowaniu natywu musisz dodać trzeci argument(style) i nadać mu wartość 1.
register_native("Native_KosztMana", "Native_KosztMana", 1);

  • +
  • -
  • 2


#401195 Natywy "Wywołania"

Napisane przez Zapalka w 24.04.2012 16:57

Utwórz nowy natyw, w którym będziesz zwracał daną wartość, np. funkcja natywu: "public PobierzNazwe(id) return nazwy_klas[id];"
I w drugim pluginie tak: "new nazwa=PobierzNazwe(jakiesID);"
Jako id podstawiasz identyfikator klasy, który otrzymujesz przy rejestrowaniu danego pluginu.

#Edit

Fii mnie uprzedził :P
  • +
  • -
  • 2