Odpowiedz
Autor Wiadomość
Nie podano
PostWysłany: 09 Cze 2011, 13:20 
Dołączenie:
Maj 2011
Posty: 14
Patrzyłem już na ten kod zbyt długo, nawet jeśli jest tu jakiś banalny błąd, to nie wypatrzyłbym go - dlatego liczę na waszą pomoc:

Cytuj:
integer channel=-111; //Sala chorych nr1, RFID 1
integer l_pacjentow; //Pacjenci w sali
integer l_lozek=5; //Dostepne lozka
list pacjenci=[]; //lista przechowujaca dane pacjentow

default
{
state_entry()
{
llListen(channel,"",NULL_KEY,"");
}

listen(integer channel, string name, key id, string message)
{
//Zamiana wiadomosci w stringu na liste i odzysk informacji
string przesylka = llToLower(message);
list odebrane = llParseString2List(przesylka,[" "],[]);

if (llList2String(odebrane, 0) == "pacjent")
{ TU był BŁĄD ;)
l_pacjentow=((integer)llList2String(odebrane, 1));
pacjenci += l_pacjentow;
llSay(0,llList2String(odebrane, 2)); //pomocnicza
pacjenci += (vector)llList2String(odebrane, 2);
}

llSetText("Liczba pacjentow\n "+(string)l_pacjentow + " \ " + (string)l_lozek, <0,0,1.0>, 1);

}
}


Zapomniałbym - kod odbiera wiadomość od obiektu, dzieli ją na elementy i zapisuje dane o obiekcie (pacjencie) na liscie. Fajnie byłoby, żeby to było coś na wzór struktury z C, ale nie wiedziałem jak to zrobić, więc lista wygląda tak: numer obiektu1, vector obiektu1, numer obiektu2 vector obiektu2.

edit: Jedne błąd znalazłem, teraz jest nowy - CS1009: Nierozpoznana sekwencja specjalna - skacze sobie ten błąd, zależnie od tego co odhaczę "//"


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 15:46 
Dołączenie:
Listopad 2010
Posty: 78
nick w SL: Kazuhiro Swords
Jak dla mnie to "pacjenci" są w ogóle nie zdefiniowani oraz jaki to typ zmiennej. Spróbuj dopisać na początku skryptu string pacjenci;
@down: przepraszam, już widze :P


Ostatnio edytowany przez poczekaj, 10 Cze 2011, 21:37, edytowano w sumie 1 raz

Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 15:47 
Dołączenie:
Lipiec 2008
Posty: 3307
nick w SL: MaxJames Chemistry
pacjenci to typ list.


Profil E-mail Offline
Nie podano
PostWysłany: 12 Cze 2011, 13:31 
Dołączenie:
Maj 2011
Posty: 14
Dobra, znalazłem:


Cytuj:
llSetText("Liczba pacjentow\n "+(string)l_pacjentow + " \ " + (string)l_lozek, <0,0,1.0>, 1);


a powinno być:

Cytuj:
llSetText("Liczba pacjentow\n "+(string)l_pacjentow + " / " + (string)l_lozek, <0,0,1.0>, 1);


Trzeba zgłosić, że takie coś powinien kompilator wykrywać, bo ciężko to w kodzie rozpoznać, a rozwala cały skrypt :/

Temat do zamknięcia.


Profil E-mail Offline

Wyświetl posty z poprzednich:  Sortuj według  

Odpowiedz



Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości

Panel
Góra
Skocz do:  
SecondLife.pl designed by CvX! Powered by phpBB © phpBB Group - tłumaczenie
SecondLife.pl nie jest oficjalną stroną Second Life. SecondLife.pl is an unofficial Second Life website. SecondLife, SL logo and Second Life related graphics are trademarks of Linden Lab.

Entropia Universe , Planet Calypso