Skocz do zawartości
  • 0

Zmienna się nie zapisuje


Lizak3

Pytanie

Dzień Dobry. Mam problem ze zmienną w Skript'cie. Mam kilka skryptów, gdzie wszystko funkcjonuje normalnie, oprócz w jednym.

Mam taką zmienną:

{gildia.wgildii.%player%}

W "variables" (na górze pliku) mam oczywiście ją ustawioną tzn. 

variables:    {gildia.wgildii.%player%} = false

Próbowałem również w ten sposób:

on join:    if {gildia.wgidlii.%player%} is not set:        set {gildia.wgildii.%player%} to false

Niestety bezskutecznie.

 

Równolegle w skrypcie na statystyki, gdzie zmienną mam również "narzuconą z góry" wszystko działa.

Dodam jeszcze, że zmiana na {gildia.wgildii::%player%} skutkuje tym samym.

Najśmieszniejsze w tym wszystkim jest to, że to się stało z dnia na dzień. Działało i przestało.

 

Zapis zmiennych: MySQL/SQLite/CSV skutkuje tym samym (inne zmienne się zapisują)

Pluginy: Skript 2.1.2, Wildskript 1.8, SQLibrary 7.1, Essentials, PEX, World Guard/Edit

Silnik: Spigot 1.7.2 R0.3-R0.4/1.8

Środowisko: Java 7/8 (64bit), Ubuntu 14.04.1 LTS

Odnośnik do komentarza
Udostępnij na innych stronach

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Chociaż chwila...Teraz coś stało i zmienna się zapisuje ({gildia.wgildii::%player%}). Zwraca "false" więc jest to już działa nie wiem jak ale sam zapis jako tako działa. Gorzej, że gdy odwołuję się do tej zmiennej, wykazuje co innego:
 

if {gildia.wgildii::%arg 2%} is false:    #kodelse if {gildia.wgildii::%arg 2%} is true:     send "Gracz %arg 2% jest w innej gildii"else if {gildia.wgildii::%arg 2%} is not set:    send "Gracz nigdy nie gral na tym serwerze"

i cały czas oczywiście jest 3 opcja

 

Użycie:

{gildia.wgildii::%arg 2 parsed as player%}

odpada bo wystarczy wpisać literkę gracza na serwerze i skript nie operuje na graczu lecz na literce i wszystkie zmienne ustawia pod tą literkę tzn. gdybym jako argument dał "l" dostałbym zmienną {gildia.wgildii::l} a nie {gildia.wgildii::lizak} a do Lizaka wiadomość zostałaby dostarczona.

 

EDIT.

 

Reinstalacja nic nie dała. Wgrany tylko ten jeden skrypt.

Edytowane przez Lizak3
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Czy silnik jest na 1.8 ?

 

 

Silnik: Spigot 1.7.2 R0.3-R0.4/1.8

Czyli na tych 3 silnikach próbowałem.

 

 

 

Spróbuj dac zamiast true i false 0 i 1 - 0 jako false i 1 jako true 

Nie pomogło.

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------

Próbowałem również za argument podstawić chwilową zmienną i sprawdzić

set {_nick} to arg 2if {gildia.wgildii::%{_nick}%} is false:    send "bla bla bla"

ale zwraca taki wynik jak by zmienna nadal była nie ustawiona.

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...