Jesteś tutaj
imiona
to ja zapytam o rozwiazanie problemu Triss a propos bazy imion
bo po 900 zaczelo sie cos walic, nie dodaja sie nowe, a po kazdym przedstawieniu robi sie cos takiego
> ktos przedstawia sie jako:
# @GetArray(TFr,901,2): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #188
# @GetArray(TFr,902,2): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #188
# @GetArray(TFr,903,2): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #188
# @GetArray(TFr,904,2): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #188
# @GetArray(TFr,901,1): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #189
# @GetArray(TFr,902,1): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #189
# @GetArray(TFr,903,1): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #189
# @GetArray(TFr,904,1): Index out of bounds.
Debug Stack:
(0000) Action #41
(0001) DLL Callback
(0002) Alias #190
(0003) Alias #186
(0004) Alias #189
co z tym mozna zrobic? ;/
- Odpowiedz
- 703 odsłony

imiona
Poszukaj w pliku lokalne\friends.txt linijki typu:
/variable {VFrCount} {900} {GFriends}
I zamien "900" na np. "200". Powinno ruszyć.
Wcześniej jednak zrób sobie kopię tego pliku.
imiona
re Up,
Stracisz w ten sposob 700 znajomych (co najmniej)
imiona
I będe wtedy taki samotny... :(
Znajomi
Jak podejrzewam po wpisaniu wartosci 2000 zamiast 200 zyskasz 1100 znajomych wiec glowa do gory ;-) A zapytanie brzmi: Czy jest jakas gorna granica deklaracji tej tablicy np. 9999 ?
Re: Znajomi
Tak, istnieje i wynosi wg mudmasterowych manuali właśnie coś koło 900-1000 (dokładnie nie pamiętam) A po wpisaniu 2000 zamiast 200 skrypt na 90% powinien Ci się rozsypać - jak nie wierzysz, sprawdź.
imiona
To mam pytanko:
Plik Friends.txt jest za duzy i otwiera mi go w wordzie. Zmieniam sobie np Wiorki z 4 na 2 jesli chodzi o poziom przyjazni. Zapisuje potem odpalam na nowo i mam znow plik sprzed wprowadzenia zmian. T wyglada tak jakby MM odpalal ostatnio zaladowany plik z przyjaciolmi bez uwzglednienia zmian i dalej mi wiewiory na czerwono wyswietla :).
imiona
Do operowania na dużych plikach tekstowych polecam http://www.notetab.com/
Jesli dokonujesz zmian musisz:
1. Wylaczyc arkdiska (bo w przeciwnym wypadku w pamieci beda pozostawac stare informacje).
2. Zmienic plik.
3. Nagrac :)
4. Sprawdzic czy zmieniles.
5. Odpalic arkdisk jeszcze raz.
A co do twojego pytania :)
Wlasnie obejrzalem alias, ktory dokonuje kolorowania. Plik q_friends_catch.txt
/alias {RFriendCreateHighlight %1} {/if {@IsEmpty(@GetArray(TFr,$1,8))==1 || @GetArray(TFr,$1,8)==1} {/if {@GetArray(TFr,$1,10)<4} {/highlight {@GetArray(TFr,$1,1)} {white} {GFriendsHigh}};/if {@GetArray(TFr,$1,10)==1} {/highlight {@GetArray(TFr,$1,1)} {light cyan} {GFriendsHigh}};/if {@GetArray(TFr,$1,10)==4} {/highlight {@GetArray(TFr,$1,1)} {yellow,back red} {GFriendsHigh}}} }... i okazuje sie, ze obslugiwane sa jedynie wartosc 1 i 4. To blad. Alias powinien byc poprawiony.
imiona
Korekta postu: otwiera wordpada a nie worda. Robie tak jak mowisz i nie zachowuje mi zmian :(. Jaby mialjakas blokade, albo odtwarzal stre zapamietane biblioteki przyjaciol. Nie pracuje na edytaorze tylko otwieram wybrany plik ( w tym przypadku friends.txt zmieniam zapisuje ponownie otwieram i sa zmiany zapisane lecz porzy odpaleniu arkdisca wszystko wraca mi do poprzedniego stanu).
imiona
Jedyna informacja o przyjaciolach jest plik friends.txt. Moze wordpad nagrywa domyslnie pod innym rozszerzeniem. Moze odpalasz innego Arkdiska?
Zamien nie na 2 tylko na 1.
Nie mam wiecej pomyslow.
imiona
ale jak w koncu jest z tym powiekszeniem limitu zapamietywanych znajomych? dzis wlasnie przekroczylo mi granice 900 i pokazuja sie te same problemy, co autorce topica.
da sie to jakos zwiekszyc?
imiona
Może w międzyczasie masz odpalonego Arkdiska ?
Wtedy działa to wg mechanizmu
Otwierasz plik
Otwierasz Arkdiska
Zapisujesz plik
Zamykasz Arkdiska ---> Zapisywane są dane nt. _starych_ przyjaciół.
ranko : Jak coś wymyślimy, to walniemy to wielką czcionką, żeby było widać ;)
imiona
nawet mam pomysl, ale nie mam pojecia jak to zrobic. bo sie gubie w tym skryptowaniu zaawansowanym:) to nie to samo co dorobienie nowych bindow pod kp0:)
dalo by sie zrobic to tak: ta baza imion zapelniona jest czytana jak do tej pory, ale dorobiona zostaje druga, dzialajaca identycznie, ktora staje sie aktywna- w niej dopisywane sa nowe imiona. pewnie cala filozofia to tak poprawienie skrypta, zeby zmienic do ktorego pliku zapisuje imiona, ale nic sobie za to nie dam uciac.:)
imiona
Podeslij ta bazke, to napisze jakiego fixa. Adres mailowy jest na forum.
imiona
Dobra, dzieki za pliki.
To jest metoda krok po kroku do naprawienia bazy danych.
0. Zamknac Arkdiska
1. Plik friends.txt
Zamienic
/variable {VFrCount} {904} {GFriends}na
/variable {VFrCount} {900} {GFriends}/array {TFr} {900,10} {GFriends}na
/array {TFr} {3000,10} {GFriends}Usunac wszystkie wpisy z konca pliku od 901-go włącznie, ktore sa w postaci.
/assign {TFr} {901,1} {?GetArray(TFr,$LoopCount,1)} /assign {TFr} {901,2} {?GetArray(TFr,$LoopCount,2)} /assign {TFr} {901,3} {?GetArray(TFr,$LoopCount,3)} /assign {TFr} {901,4} {?GetArray(TFr,$LoopCount,4)} /assign {TFr} {901,5} {?GetArray(TFr,$LoopCount,5)} /assign {TFr} {901,6} {?GetArray(TFr,$LoopCount,6)} /assign {TFr} {901,7} {?GetArray(TFr,$LoopCount,7)} /assign {TFr} {901,8} {?GetArray(TFr,$LoopCount,8)} /assign {TFr} {901,9} {?GetArray(TFr,$LoopCount,9)} /assign {TFr} {901,10} {?GetArray(TFr,$LoopCount,10)} /assign {TFr} {902,1} {?GetArray(TFr,$LoopCount,1)} /assign {TFr} {902,2} {?GetArray(TFr,$LoopCount,2)} /assign {TFr} {902,3} {?GetArray(TFr,$LoopCount,3)}2. Plik q_friends_catch.txt
Zamienic
/alias {RzapiszFriends} {/if {$VFrCount>1000} {RzapiszFriends1} {RzapiszFriends2}}na
/alias {RzapiszFriends} {RzapiszFriends2}3. Plik q_friends_catch.txt
Zamienic
/alias {RzapiszFriends2} {/calldll RawLog OpenWrite {VfileZNr lokalne\friends.txt};/calldll RawLog Write {$VfileZNr /variable {VFrCount} {$VFrCount} {GFriends}};/calldll RawLog Write {$VfileZNr /array {TFr} {900,10} {GFriends}};/loop {1,$VFrCount} {/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,1} {@GetArray(TFr,$LoopCount,1)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,2} {@GetArray(TFr,$LoopCount,2)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,3} {@GetArray(TFr,$LoopCount,3)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,4} {@GetArray(TFr,$LoopCount,4)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,5} {@GetArray(TFr,$LoopCount,5)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,6} {@GetArray(TFr,$LoopCount,6)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,7} {@GetArray(TFr,$LoopCount,7)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,8} {@GetArray(TFr,$LoopCount,8)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,9} {@GetArray(TFr,$LoopCount,9)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,10} {@GetArray(TFr,$LoopCount,10)}}};/calldll RawLog Close {$VfileZNr};/unvar VfileZNr;/showme {@AnsiBold()@ForeGreen()Nagrano $VFrCount przyjaciol [nowy styl].@AnsiReset()}}na
/alias {RzapiszFriends2} {/calldll RawLog OpenWrite {VfileZNr lokalne\friends.txt};/calldll RawLog Write {$VfileZNr /variable {VFrCount} {$VFrCount} {GFriends}};/calldll RawLog Write {$VfileZNr /array {TFr} {3000,10} {GFriends}};/loop {1,$VFrCount} {/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,1} {@GetArray(TFr,$LoopCount,1)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,2} {@GetArray(TFr,$LoopCount,2)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,3} {@GetArray(TFr,$LoopCount,3)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,4} {@GetArray(TFr,$LoopCount,4)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,5} {@GetArray(TFr,$LoopCount,5)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,6} {@GetArray(TFr,$LoopCount,6)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,7} {@GetArray(TFr,$LoopCount,7)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,8} {@GetArray(TFr,$LoopCount,8)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,9} {@GetArray(TFr,$LoopCount,9)}};/calldll RawLog Write {$VfileZNr /assign {TFr} {$LoopCount,10} {@GetArray(TFr,$LoopCount,10)}}};/calldll RawLog Close {$VfileZNr};/unvar VfileZNr;/showme {@AnsiBold()@ForeGreen()Nagrano $VFrCount przyjaciol [nowy styl].@AnsiReset()}}4. Koniec.
imiona
Pod tym adresem znajdziecie algorytm naprawy bazy przyjaciol
http://forum.kuling.pl/viewtopic.php?t=93