|
NWN World in the Shadow Forum serwera World in the Shadow
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
witia1
Pogromca Drako
Dołączył: 02 Maj 2006
Posty: 539
Przeczytał: 0 tematów
Pomógł: 5 razy Ostrzeżeń: 0/5 Skąd: Z drugiej strony monitora :D
|
Wysłany: Pią 21:20, 27 Kwi 2007 Temat postu: |
|
|
Tu zgodzę się z Elentail, w ten sposób serw nie będzie musiał pamiętać który drop kiedy powstał, przy sporej ilości śmiecia będzie nieco do nadzoru by zniknęło we właściwym momencie.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Ving
Pogromca Drako
Dołączył: 30 Kwi 2006
Posty: 563
Przeczytał: 0 tematów
Pomógł: 19 razy Ostrzeżeń: 0/5 Skąd: Warszawa
|
Wysłany: Pią 22:57, 27 Kwi 2007 Temat postu: |
|
|
Tzn. to działa tak:
Przy wyjsciu z obszaru:
Skrypt sprawdza wszystkie obiekty na obszarze (drzewa, trawki, itp.) i te które nazywaja sie "lootbag" niszczy. Czyli bedzie sprawdzał powiedzmy 100 obiektow z czego usunie 20.
Niszczenie w 15 minut po dropie:
Skrypt sie uruchamia po pojawieniu sie dropa i dziala tak ze za 15 minut zniszczy dropa, niszczy z opóźnieniem
No i wlasnie nie wiem do konca który sposób jest bardziej wydajny :>
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Kebur
Obywatel Acheron
Dołączył: 08 Sty 2007
Posty: 102
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Gdańsk
|
Wysłany: Sob 10:21, 28 Kwi 2007 Temat postu: |
|
|
Może w jeden dzień ustawić jeden a w drugi drugi sposób i się sprawdzi, który jest wydajniejszy. No chyba, że trzeba ten skrypt wprowadzać na każdym terenie - chociaż wątpię.
Ale myśle, że ten z 15 minutowym opóźnieniem był by lepszy.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Justyna
Administrator
Dołączył: 30 Gru 2006
Posty: 687
Przeczytał: 0 tematów
Pomógł: 7 razy Ostrzeżeń: 0/5 Skąd: Katowice
|
Wysłany: Sob 11:38, 28 Kwi 2007 Temat postu: |
|
|
Z tego co wiem, naliczanie musi działaś ciągle, czyli dla każdego dropa odpalasz jednego inta, który jest na bieżąco (OnHeartbeat?) zwiększany. Czyli praktycznie przez całą pracę serwera ten skrypt sobie zamuje powiedzmy 15-25 intów na odlicznia, a każdy int to 4 bajty, tak? I jedyne co robi, to co sześć sekund doaje +6 do każdego z tych intów, czyli wykonuje sobie co sześć sekund 15-25 dodawań żżerając w porywach do stu bajtów RAMu serwera.
Alternatywnie można wykorzystać drugą metodę, w której przy każdym wejściu gracza na obszar sprawdzane są wszystkie etykiety obiektów, W takim Acheron są to wszystkie znaki, małe drzewa, mieszkańcy, gracze i przerżóżne ozdobniki (powiedzmy, że około 100 obiektów). Na Obszar Acheron ktoś wchodzi co około 2 minuty (strzelam, wydaje mi się żeczęściej, ale ząłóżmy, że co dwie).
Albo w Jaskini - są tam grzyby, wodospady, pleśnie i inne ozdobniki, plus szczury i nietoperze no i gracze, tez około 100 obiektów. Tam wchodzi ktoś raz na 10 minut(przypuśćmy).
Podczas kadżego takiego wejścia skrypt zajmie sobie stringa, którego będzie wypełniał kolejnymi wartościami (etykietami obiektów - ok. 100 operacji podstawienia), oraz po każdym podstawienu wykonywał GetIsValidObject() i drugie, z Etkietą "Lootbag". to jest 100*3 operacji na każdym wejściu do obszaru, w któym samych dropów będzie tam 15-25 .
Czyli pierwszy sposó wykona spokojnie co 6 sek 15-25 dodawań, a drugi co dziesięćmminut około 300 operacji, przy czym porównanie jest z tego co wiem bardziej pamięciżerne niż dodawanie. to mi się wydaje, że działania pierwszego skryptu nie będze się zauważać, a działanie drugiego będziemy obserwować przy każdym wchodzeniu na obszar, na któym działa ten skrypt.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Ving
Pogromca Drako
Dołączył: 30 Kwi 2006
Posty: 563
Przeczytał: 0 tematów
Pomógł: 19 razy Ostrzeżeń: 0/5 Skąd: Warszawa
|
Wysłany: Sob 15:25, 28 Kwi 2007 Temat postu: |
|
|
Justyna napisał: | Z tego co wiem, naliczanie musi działaś ciągle, czyli dla każdego dropa odpalasz jednego inta, który jest na bieżąco (OnHeartbeat?) zwiększany. Czyli praktycznie przez całą pracę serwera ten skrypt sobie zamuje powiedzmy 15-25 intów na odlicznia, a każdy int to 4 bajty, tak? I jedyne co robi, to co sześć sekund doaje +6 do każdego z tych intów, czyli wykonuje sobie co sześć sekund 15-25 dodawań żżerając w porywach do stu bajtów RAMu serwera.
Alternatywnie można wykorzystać drugą metodę, w której przy każdym wejściu gracza na obszar sprawdzane są wszystkie etykiety obiektów, W takim Acheron są to wszystkie znaki, małe drzewa, mieszkańcy, gracze i przerżóżne ozdobniki (powiedzmy, że około 100 obiektów). Na Obszar Acheron ktoś wchodzi co około 2 minuty (strzelam, wydaje mi się żeczęściej, ale ząłóżmy, że co dwie).
Albo w Jaskini - są tam grzyby, wodospady, pleśnie i inne ozdobniki, plus szczury i nietoperze no i gracze, tez około 100 obiektów. Tam wchodzi ktoś raz na 10 minut(przypuśćmy).
Podczas kadżego takiego wejścia skrypt zajmie sobie stringa, którego będzie wypełniał kolejnymi wartościami (etykietami obiektów - ok. 100 operacji podstawienia), oraz po każdym podstawienu wykonywał GetIsValidObject() i drugie, z Etkietą "Lootbag". to jest 100*3 operacji na każdym wejściu do obszaru, w któym samych dropów będzie tam 15-25 .
Czyli pierwszy sposó wykona spokojnie co 6 sek 15-25 dodawań, a drugi co dziesięćmminut około 300 operacji, przy czym porównanie jest z tego co wiem bardziej pamięciżerne niż dodawanie. to mi się wydaje, że działania pierwszego skryptu nie będze się zauważać, a działanie drugiego będziemy obserwować przy każdym wchodzeniu na obszar, na któym działa ten skrypt. |
Nie -.-
Żaden int, żaden OnHeartbeat. Po prostu DelayCommand().
Nie na wejsciu do obszaru, a na wyjsciu z obszaru. Tylko podczas wychodzenia ostatniego gracza.
Chyba jednak ten sposób z czyszczeniem przy wychodzeniu ostatniego gracza będzie lepszy
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Justyna
Administrator
Dołączył: 30 Gru 2006
Posty: 687
Przeczytał: 0 tematów
Pomógł: 7 razy Ostrzeżeń: 0/5 Skąd: Katowice
|
Wysłany: Nie 12:07, 29 Kwi 2007 Temat postu: |
|
|
No skoro nie ONheartbeat i DelayCommand, to rzeczywiście większą wydajność masz Ale szkooooda, że będa itemki z podłogi znikały, to utrudni kilka spraw ;P
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Ving
Pogromca Drako
Dołączył: 30 Kwi 2006
Posty: 563
Przeczytał: 0 tematów
Pomógł: 19 razy Ostrzeżeń: 0/5 Skąd: Warszawa
|
Wysłany: Nie 12:36, 29 Kwi 2007 Temat postu: |
|
|
Nie itemki tylko Lootbagi, czyli dropy z critów.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|