←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zapamiętywanie danych?

MasterOfGames - zdjęcie MasterOfGames 13.05.2012

Witam!

Mam następujący problem.

Mam takie coś:
new XxX
if(moj_warunek)
{
XxX +=1
}


I chcę aby zapamiętywało wartość XxX jaka była u każdego gracza z osobna na końcu mapy i wczytywało ją na następnej mapie zaraz po starcie, oraz gdy gracz zostanie ponownie połączony. Nie wiem jak to zrobić, proszę o pomoc.

Oczywiście + polecą za pomoc.
Odpowiedz

MasterOfGames - zdjęcie MasterOfGames 13.05.2012

No dzięki, a czy mógłby ktoś mnie bardziej naprowadzić na to co chcę osiągnąć? Bo jakoś nie bardzo mogę zrozumieć te wszystkie nvault i sql (dlatego, że nie ma przykładów) albo chociaż niech ktoś poda jakiś krótki przykładzik użycia nVault do zapamiętywania i wczytywania danych.

Odświeżam
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 13.05.2012

Jednym ze sposobów jest zapis do pliku/nvault/sql. Można też użyć localinfo, jednak kasuje się ono przy restarcie fizycznym serwera (w sensie całkowite wyłączenie i włączenie, a nie komenda restart w konsoli RCON).


http://amxx.pl/topic...roche-o-nvault/
http://amxx.pl/topic...czym-to-sie-je/
Tutoriala odnośnie operacji na plikach nigdzie nie znalazłem ;)
Odpowiedz

  • +
  • -
Jak się nazwać - zdjęcie Jak się nazwać 13.05.2012

Można też użyć localinfo, jednak kasuje się ono przy restarcie fizycznym serwera (w sensie całkowite wyłączenie i włączenie, a nie komenda restart w konsoli RCON).


Gdyby takie coś go interesowało lepiej gdyby użył zmiennych statycznych.

Co do tematu, skorzystaj z linków Gwyna + możesz podpatrzeć z Cod Moda, diablo, bf2 i innych. Jakbyś miał jakiś problem napiszesz temat i na pewno ktoś pomoże.
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 13.05.2012

Gdyby takie coś go interesowało lepiej gdyby użył zmiennych statycznych.

Localinfo jest zapisywane pomiędzy zmianami mapy, zmienne statyczne nie. Dzięki localinfo można np w prosty sposób sprawdzić, czy nastąpił crash serwera - jeśli localinfo puste - nastąpił crash. Na podstawie localinfo działa wbudowany w amx plugin o nazwie imessage. Jest to plugin odpowiedzialny za wyświetlanie informacji na środku ekranu, podawanych w amxx.cfg poprzez cvar (a raczej funkcję udającą cvar) o nazwie imessage. Zachowuje on w ten sposób ostatnio wyświetlaną wiadomość, aby po zmianie mapy wyświetlić następną, a nie zaczynać wszystko od początku.

Swoją drogą temat powinien znaleźć się w innym dziale ;)
Odpowiedz

  • +
  • -
Misiaczek ;c - zdjęcie Misiaczek ;c 13.05.2012

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod XPytania
do
Scripting AMXXPytania

Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 14.05.2012

Masz tutaj przykładowy plugin na zapisywanie zmiennej XxX[index]. Głównie opiera się to na ZapiszDane(index) i WczytajDane(index), ale nie zapominaj o zmiennej g_vault. Dla bezpieczeństwa polecam po każdej ingerencji w zmiennej XxX[index] (np. dodanie/odjęcie do/od niej wartości) wywołać ZapiszDane(index), aby w chwili cracha serwera czy coś zmienna się nadpisała, gdyż wtedy client_disconnect może nie zadziałać odpowiednio.

Pozdrawiam.

Załączone pliki

Odpowiedz