|
www.l2walkerpolska.fora.pl L2Walker, Lineage II, L2.Net, L2Divine, L2Superman,
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Theo
Dołączył: 18 Cze 2010
Posty: 8
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 1:00, 04 Paź 2010 Temat postu: |
|
|
Witam ponownie po długiej mojej nieobecności.
Ponownie mam problem z czasami w skrypcie, tym razem chodzi o skrypt dla wielu wymian.
Kod: |
// Manor 1.6 by AdiFenix
//////////////////////////////////////////////////////////////////
DEFINE_GLOBAL Arraylist SED_ID 0
DEFINE_GLOBAL Arraylist ILO 0
DEFINE_GLOBAL Arraylist MAN 0
DEFINE_GLOBAL Arraylist u_id 0
/////////////////////////////////////////////////////////////////////
///////////////////// Manor /////////////////////////////////////////
// 1 - gludio ///2 - dion // 3 - giran // 4 - oren // 5 -aden
// 6 - innadril // 7 - goddard // 8 - rune // 9 - schuttgard
///////////////////////////////////////////////////////////////////////
SED_ID.add #I6541
ILO.add #I100
MAN.add #I6
SED_ID.add #I6542
ILO.add #I100
MAN.add #I6
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
/////////////// Dont change anything below /////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
DEFINE_GLOBAL int zaeve 0
DEFINE_GLOBAL int ok 0
DEFINE_GLOBAL int check_last 0
DEFINE_GLOBAL int Gmsg 0
Define int temp_spr1 0
Define string Man_name "Manor Manager"
Define int dyst_man 0
///////////////////////
if SED_ID.count != ILO.count
PRINT_TEXT " Data corrupt ! - Script Stopped"
Jump_to_label koni
else
if SED_ID.count != MAN.count
PRINT_TEXT " Data corrupt ! - Script Stopped "
Jump_to_label koni
ENDIF
for a 0 "<ILO>" 1
ITEM_COUNT temp_spr1 "<SED_ID>"
sleep 250
if temp_spr1 < ILO.a
PRINT_TEXT "You typed too much crops to sell = <ILO> in inv u have = <temp_spr1> - Script Stopped"
Jump_to_label koni
ENDIF
next
for a 0 "<man>" 1
if man.a <1> 9
PRINT_TEXT " manor nr +++??? - check data ! - Script Stopped"
jump_to_label koni
ENDIF
next
IF target_name != Man_name
COMMAND "/Target <Man_name>"
ENDIF
sleep 500
IF target_name == Man_name
DISTANCE dyst_man CHAR_X CHAR_Y CHAR_Z TARGET_X TARGET_Y TARGET_Z
if dyst_man > 150
PRINT_TEXT " You need to be closer to Manor manager !! - Script Stopped"
jump_to_label koni
endif
ELSE
PRINT_TEXT " I dont see - Manor manager - Script Stopped"
jump_to_label koni
ENDIF
/////////////////////////////////////////////
define int temmm 0
for a o "<SED_ID>" 1
INVEN_GET_UID temmm "<SED_ID>"
u_id.add temmm.clone
next
PRINT_TEXT "-------------------------------------------------------------------"
PRINT_TEXT "AUTO Sell crops v1.6 EPILOGUE by AdiFenix"
PRINT_TEXT "-------------------------------------------------------------------"
SET_EVENT "<SCRIPTEVENT_SERVERPACKETEX>" "<SYSTEM_CURRENTFILE>" Buy_fun 120
SET_EVENT "<SCRIPTEVENT_SERVERPACKET>" "<SYSTEM_CURRENTFILE>" sysmas 98
sleep 500
Call prepare_1
do
sleep 400
loop zaeve <SED_ID> 1
sleep 600
for i 1 "<SED_ID>" 1
check_last = 1
NPC_DIALOG "bypass -h manor_menu_select?ask=9&state=<SED_ID>&time=0"
do
sleep 2
loop check_last == 1
sleep 600
NEXT
endif
RETURN VOID
FUNCTION Buy_fun
ok = 0
Gmsg = 1
Define int Man_ok 0
Define int temp_seed 0
Define int ile_man 0
Define int temp_manor 0
Define int ilo_sed 0
Define int price 0
Define int temp_uid 0
packet.READ_BYTE null
packet.READ_INT16 null
packet.READ_INT32 temp_seed
FOR b 0 "<SED_ID>" 1
if temp_seed == SED_ID.b
packet.READ_INT32 ile_man
IF ile_man == 0
PRINT_TEXT "Manor with this type of croops (<temp_seed>) = 0 "
endif
for a 0 "<ile_man>" 1
packet.READ_INT32 temp_manor
if temp_manor == man.b
packet.READ_INT64 ilo_sed
packet.READ_INT64 price
packet.READ_BYTE null
PRINT_TEXT " Slots available = <ilo_sed> Price <price> ID = <temp_seed>"
IF ilo_sed < ILO.b
inject "D0 02 00 01 00 00 00 <u_id> <temp_seed> <temp_manor> <ilo_sed> 00 00 00 00"
ELSE
inject "D0 02 00 01 00 00 00 <u_id> <temp_seed> <temp_manor> <ilo> 00 00 00 00"
ENDIF
ELSE
packet.READ_INT64 null
packet.READ_INT64 null
packet.READ_BYTE null
PRINT_TEXT "Diferent man.: <temp_manor> for <temp_seed> "
ENDIF
NEXT
endif
next
if check_last == 1
check_last = 0
endif
zaeve = zaeve + 1
RETURN VOID
FUNCTION sysmas
define int man_mani 879
define int temp_id 0
packet.read_byte null
packet.read_int32 temp_id
if temp_id == man_mani
Gmsg = 1
endif
RETURN VOID
|
W skrypcie dla jednej wymiany wystarczyło zmienić sleep w funkcji prepare_1 z 900 na np 600, próby sprzedaży były szybsze i po kłopocie. Tutaj jednak w tej samej funkcji mamy 3 sleepy (tych 2 i 5ms nie liczę), nie wiem który odpowiada za "pompowanie" aż manor stanie się aktywny, a który za przerwy pomiędzy wymianami wpisanych owocków, te dodatkowe sleepy jakoś się sumują i wymiana idzie opornie.
Chodzi mi o to aby próby "pompowania" były tak jak pojedynczym manorze co 600ms (aby uniknąć antyflooda), ale kiedy manor stanie się już aktywny żeby kolejne wymiany poszły bardzo szybko w odstępach max 550ms.
Post został pochwalony 0 razy
Ostatnio zmieniony przez Theo dnia Pon 1:13, 04 Paź 2010, w całości zmieniany 3 razy
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
FX
Moderator
Dołączył: 28 Sty 2010
Posty: 682
Przeczytał: 0 tematów
Pomógł: 17 razy Ostrzeżeń: 0/5
|
Wysłany: Pon 9:51, 04 Paź 2010 Temat postu: |
|
|
cos tam pozmieniales u siebie wiec wezne funkcje prepare z orginalnego skryptu i dodam pare znacznikow ....cos kolorki mi w tagach "code" niedzialaja wiec musze tak ..
FUNCTION prepare_1
define int zm1 0
ok = 1
do
Gmsg = 0
1-NPC_DIALOG "bypass -h manor_menu_select?ask=9&state=<&SED_ID.0&>&time=0"
do
2- sleep 5
loop Gmsg == 0
if ok == 1
3-sleep 700
endif
4-loop ok != 0
if SED_ID.count > 1
5-sleep 600
for i 1 "<&SED_ID.count&>" 1
check_last = 1
6- NPC_DIALOG "bypass -h manor_menu_select?ask=9&state=<&SED_ID.i&>&time=0"
do
7- sleep 2
loop check_last == 1
8- sleep 700
NEXT
endif
RETURN VOID
1- wysyla zapytanie o 1 owoc z listy
2-ta petla z slepem 2 czeka na odp z servera albo dostaje info o owocu albo info ze mani jest - jak ktoras z tych akcji dostanie to idzie dalej
3-sprawdza czy ostatnia odp to fail "manor mani" jezeli tak czeka 700 ms
jezeli nie pomija tego slepa
4-zakonczenie petli ktora chce sprzedac 1 owoc jezeli w punkcie 2 dostanie odp z info o owocu to wyskakuje z petli jezeli o failu odnowa robi to co wyzej jest
5-dostal info ze manor juz dziala i czeka po ostatnim zapytaniu 600 ms
6-zapytanie w petli pyta o reszte owocow ktore ma w liscie
7- czeka na odp od servera
8- czeka 700 ms
ten skrypt niejest "zafajny" bo ma pewne wady po 1
do slepa doliczana jest wartosc pingu (bo czeka na odp ) - poto sa te petle 2 i 7
dotego jest podatny na pewna anomalie jak jakims cudem niedostanie odp od servera to sie zatnie
ogulnie trzeba zmieniac wnim 3 slepy - sleep 700 sleep 600 i sleep 700
mysle ze to wyjasnia troche - szlo to lepiej napisac ale niemialem weny ;>
a tez niechcialem robic to zbyt skomplikowanie
Post został pochwalony 1 raz
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Theo
Dołączył: 18 Cze 2010
Posty: 8
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 17:01, 04 Paź 2010 Temat postu: |
|
|
Czyli jeśli dobrze rozumiem o za "pompowanie" manora pierwszą wymianą (1) aż stanie się aktywny, jeśli nie to czeka (3) i jeszcze raz (1) jeśli sprzedaż się uda to czeka (5) i leci sprawdzanie czy są jeszcze jakieś nasionka w tablicy (linie powyżej i poniżej) jeśli tak to wymienia je kolejno w odstępach co (.
Wnioskuję, że aby przyspieszyć wymianę mogę spokojnie okroić czas 5 i 8 w granicach rozsądku (ping i szybkość serwera). Zakładając że antyflood jest ustawiony na 500 to 5 i 8 okroił bym do tej samej wartości.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
FX
Moderator
Dołączył: 28 Sty 2010
Posty: 682
Przeczytał: 0 tematów
Pomógł: 17 razy Ostrzeżeń: 0/5
|
Wysłany: Wto 9:52, 05 Paź 2010 Temat postu: |
|
|
no 3 5 i 8 mozna "okroic"
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Leiard
Dołączył: 14 Paź 2010
Posty: 2
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 20:56, 14 Paź 2010 Temat postu: |
|
|
Mam problem ze scryptem. Gdy uruchomię go by sprzedawał owocki na manora wykonuje wszystko co powinien oprócz sprzedawania i po manorze dalej klika w opcję sprzedaży. w skrypcie nic nie zmieniałam a wcześniej działało poprawnie. Co jest nie tak? I co muszę zmienić bym mogła dalej sprzedawać owocki?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
FX
Moderator
Dołączył: 28 Sty 2010
Posty: 682
Przeczytał: 0 tematów
Pomógł: 17 razy Ostrzeżeń: 0/5
|
Wysłany: Pią 17:32, 15 Paź 2010 Temat postu: |
|
|
skoro dzialalo to..
albo server zmienil kronike
albo admin zmienil dzialanie manora np na ten z przed graci epilogue
albo admin servera dodal jakis "anti bot"
oczywiscie na tej samej wersji l2neta odpalalas skrypt z tymi samymi ustawieniami ?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Leiard
Dołączył: 14 Paź 2010
Posty: 2
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Sob 10:41, 16 Paź 2010 Temat postu: |
|
|
Tak. Zawsze na tym samym l2necie i tych samych ustawieniach, które zawsze działały. Da się coś z tym zrobić?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
FX
Moderator
Dołączył: 28 Sty 2010
Posty: 682
Przeczytał: 0 tematów
Pomógł: 17 razy Ostrzeżeń: 0/5
|
Wysłany: Pon 10:25, 18 Paź 2010 Temat postu: |
|
|
pytanie ..
co mam ci odpowiedziec ? tak da sie cos zrobic :>
jak juz pisalem tu i na glownym forum l2neta w postach/pm ja niejestem jasnowidzem jaki serv, co admin zrobil etc.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
sezon16
Dołączył: 05 Lis 2010
Posty: 4
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 20:50, 08 Lis 2010 Temat postu: |
|
|
moglby ktos wyslac ten skrypt w/w z poprawkami??? ten 1.6 wyslany przez Theo i poprawione jakies pkt przez FX. jakby mogl ktos calosc tego plx
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
FX
Moderator
Dołączył: 28 Sty 2010
Posty: 682
Przeczytał: 0 tematów
Pomógł: 17 razy Ostrzeżeń: 0/5
|
Wysłany: Wto 10:45, 09 Lis 2010 Temat postu: |
|
|
jakimi poprawkami ?
ten skrypt dziala na normalnych serwerach l2j z normalnym manorem
jezeli server ma jakies udziwnienia to trzeba by pod konkretny server zmieniac skrypt - zawsze mozesz potestowac inne delaye
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kocikocilapci
Dołączył: 12 Lut 2011
Posty: 13
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Sob 14:10, 12 Lut 2011 Temat postu: |
|
|
trzeba poprawic ten skrypt na freye :/
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Sefiron
Dołączył: 06 Maj 2011
Posty: 6
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pią 22:26, 06 Maj 2011 Temat postu: |
|
|
Witam chciałem zapytać czy któryś skrypt do manora działa na Freye??
Za odp wielkie THX!
Post został pochwalony 0 razy
Ostatnio zmieniony przez Sefiron dnia Pią 22:34, 06 Maj 2011, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
FX
Moderator
Dołączył: 28 Sty 2010
Posty: 682
Przeczytał: 0 tematów
Pomógł: 17 razy Ostrzeżeń: 0/5
|
Wysłany: Sob 19:41, 07 Maj 2011 Temat postu: |
|
|
powinno dzialac na frei ale to zalezy czy server uzywa standardowego manora
wiem ze jakis serwer (ktos mi pisal na pm) jest freya a uzywa manora z przed gfinal
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
tenhi
Dołączył: 03 Lis 2010
Posty: 48
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 20:04, 13 Cze 2011 Temat postu: |
|
|
FX napisał: | wiem ze jakis serwer (ktos mi pisal na pm) jest freya a uzywa manora z przed gfinal |
pewnie chodzi o mnie
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
AK
Dołączył: 01 Wrz 2011
Posty: 2
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 22:24, 01 Wrz 2011 Temat postu: |
|
|
witam,
czy ten skrypt działa tylko na serwerach java czy też na tych postawionych na plikach z oficjala?
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
|