|
 |
|
 |
|
|
 |
OTS
Wszystko o naszym Servie
|
 |
|
Obecny czas to Wto 2:58, 04 Mar 2025
|
Autor |
Wiadomość |
Mario Bross
Administrator
Dołączył: 14 Lut 2007 Posty: 162
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 0:01, 15 Lut 2007 Temat postu: Fast Attack-7.6 |
|
|
Otóż, tak zauważyłem, że jest tutaj na tym forum jedyny kod do fast attacku ale to "kulawy" skrypt ^^ a mimo, to nadal widuję tutaj prośby o fast attack do tibi 7.6 więc chwilę poszukałem i znalazłem trochę inny kod niż zwykle, czyli zabawa w plikach source w game.cpp, game.h itp., tu się ustawia tylko w jednym pliku, też jest to trochę bardziej ubogi skrypt od wszystkich zazwyczaj pokazywanych, ale jednak działa i ustawia on szybkość ataku na wszystkie profesję :] więc chyba jest dobry a łatwiejszy do wkompilowania.
Kod Pod Tibię 7.6
Dobrze zrobiony, działający pod wszystkie profesję i prosty do zrobienia "Fast Attack" pod tibię 7.6:
W game.cpp znajdujecie:
Cytat:
player->eventCheckAttacking = addEvent(makeTask(2000, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
By zrobić, szybszy atak zmniejszamy tę [b]2000 które mamy w linijce (niektórzy mogą mieć inaczej) na jeszcze mniejsze, jednak to jest "kulawy" (słaby) skrypt, gdyż w tedy wszystkie profesje będą walić tak samo szybko. Dlatego jeśli chcecie by np. knight walił inaczej niż sorc to zamieniacie ten (wyżej podany) kod na ten (niżej podany):
Cytat:
switch(player->getVocation())
{
case 1:
player->eventCheckAttacking = addEvent(makeTask(2000, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
break;
case 2:
player->eventCheckAttacking = addEvent(makeTask(2000, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
break;
case 3:
player->eventCheckAttacking = addEvent(makeTask(1500, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
break;
case 4:
player->eventCheckAttacking = addEvent(makeTask(1000, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
break;
default:
player->eventCheckAttacking = addEvent(makeTask(2000, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
break;
}
Pod słowem "break" obok słowa "case" macie numery od 1-4 i to są "profesje" (vocation)
1-sorcerer
2-druid
3-paladyn
4-knight
I w każdym kodzie danej profesji macie ustawioną szybkość ataku, np. w tym podanym kodzie knight ma podane 1000 czyli z tego co wiem 1 sekundę (raczej tak ) to jeśli chcesz możesz to zmienić ^^ I zmieniasz każdemu (ustawiasz) tak jak chcesz zapisujesz i kod jest już gotowe
_________________________________________________________________
Jednak jest też inna metoda, też nawet łatwa, ale ona chyba jest niestety trochę uboga ^^
Mianowicie:
Znajdujesz w pliku game.cpp
Cytat:
player->eventCheckAttacking = addEvent(makeTask(2000, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
Możliwe, że masz inną szybkość ataku ustawioną i zamieniasz to na:
Cytat:
player->eventCheckAttacking = addEvent(makeTask(g_config.getGlobalNumber("attackspeed", 1500), std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), player->getID())));
Zapisujesz, wchodzisz w config.lua i dodajesz tam (najlepiej na samym dole) taką linijkę:
Cytat:
-- attackspeed
attackspeed = 100
______________________________________________________________
@Edit
O dziwo, po chwili szukania, znalazłem najpopularniejszy sposób kompilowania fast attacku ^^ czyli jak wiadomo więcej zabawy przy kompilacji, ale póxniej wszystko się konfiguruje w config.lua :] więc proszę, oto i kod
Po 1: Lepiej zróbcie zapasowy plik ots'a :]
Po 2: Kod jest pod 7.6 i jest testowany na Devland i YurOTS, reszta nie wiadomo :
W game.cpp znajdujecie:
Cytat:
creature->eventCheckAttacking = addEvent(makeTask(2000, std::bind2nd(std::mem_fun(&Game::checkCreatureAttacking), id)));
I zamieniacie to na:
Cytat:
Player* player = dynamic_cast<Player*>(creature);
if (player->vocation == 0) {
int speed = int(g_config.NO_VOC_SPEED * 1000);
creature->eventCheckAttacking = addEvent(makeTask(speed, std::bind2nd(std::mem_fun(&Game::checkCreatureAtta cking), id)));
}
else if (player->vocation == 1) {
int speed = int(g_config.SORC_SPEED * 1000);
creature->eventCheckAttacking = addEvent(makeTask(speed, std::bind2nd(std::mem_fun(&Game::checkCreatureAtta cking), id)));
}
else if (player->vocation == 2) {
int speed = int(g_config.DRUID_SPEED * 1000);
creature->eventCheckAttacking = addEvent(makeTask(speed, std::bind2nd(std::mem_fun(&Game::checkCreatureAtta cking), id)));
}
else if (player->vocation == 3) {
int speed = int(g_config.PALLY_SPEED * 1000);
creature->eventCheckAttacking = addEvent(makeTask(speed, std::bind2nd(std::mem_fun(&Game::checkCreatureAtta cking), id)));
}
else if (player->vocation == 4) {
int speed = int(g_config.KNIGHT_SPEED * 1000);
creature->eventCheckAttacking = addEvent(makeTask(speed, std::bind2nd(std::mem_fun(&Game::checkCreatureAtta cking), id)));
}
else { //change the 2000 to whatever you want; 2000 = 2 seconds per attack
creature->eventCheckAttacking = addEvent(makeTask(2000, std::bind2nd(std::mem_fun(&Game::checkCreatureAtta cking), id)));
}
In game.h
Teraz w game.h znajdujecie:
Cytat:
void creatureTurn(Creature *creature, Direction dir);
POD tym wklejacie:
Cytat:
static double NO_VOC_SPEED, SORC_SPEED, DRUID_SPEED, PALLY_SPEED, KNIGHT_SPEED;
Teraz w luascript.cpp znajdujecie:
Cytat:
if (lua_dofile(luaState, filename))
return false;
I POD tym wklejacie:
Cytat:
NO_VOC_SPEED = atof(getGlobalStringField("speed", 1, "2.0").c_str());
SORC_SPEED = atof(getGlobalStringField("speed", 2, "2.0").c_str());
DRUID_SPEED = atof(getGlobalStringField("speed", 3, "2.0").c_str());
PALLY_SPEED = atof(getGlobalStringField("speed", 4, "2.0").c_str());
KNIGHT_SPEED = atof(getGlobalStringField("speed", 5, "2.0").c_str());
W luascript.h znajdujecie:
Cytat:
LuaScript();
~LuaScript();
I POD tym wklejacie:
Cytat:
double NO_VOC_SPEED;
double SORC_SPEED;
double DRUID_SPEED;
double PALLY_SPEED;
double KNIGHT_SPEED;
Zapisujecie, otwieracie config.lua, po czym najlepiej na samym dole dodajecie taką linijkę:
Cytat:
-- speed of attack in seconds (no-voc, sorc, druid, pally, knight)
speed = {"2.5", "2.0", "2.0", "1.5", "1.0"}
I w config.lua, w tej linijce ustawiacie "szybkość" ataku u danych profesji (im mniej, tym szybszy atak ^^)
Oczywiście, możesz sobie ustawić, szybkość ataku jaką chcesz ^^
Można oczywiście również łączyć te sposoby.
Do tego potrzebna jest wiedza o kompilacji
Ps- Jeśli, Ci coś nie wychodzi, lub nie działa, albo nie wiesz jak to zrobić, to trudno, próbuj dalej 1 i 2 Skrypt jest zrobiony (albo napisany) przez Killavusa z tibi.org.pl ( w tym linku podany jest również kod na Niekończące się bolty )
Link-Fast attack i Niekończące się bolty.
Dla Leniwych !!!
OTS'y z fast attack'iem:
[link widoczny dla zalogowanych] ---Illusion
[link widoczny dla zalogowanych] ---Devland
[link widoczny dla zalogowanych] ---Domeria
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
 |
Autor |
Wiadomość |
Boczek
Moderator
Dołączył: 15 Lut 2007 Posty: 96
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Z domu
|
Wysłany: Czw 22:25, 15 Lut 2007 Temat postu: |
|
|
Własnie moglbys zrobic fast atack na tym otsie chociaz taki jakis slaby
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
Autor |
Wiadomość |
Mario Bross
Administrator
Dołączył: 14 Lut 2007 Posty: 162
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 22:29, 15 Lut 2007 Temat postu: |
|
|
No właśnie w Your OTSie to jest bardzo trudno jutro coś pokombnuje ^^
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
Autor |
Wiadomość |
Boczek
Moderator
Dołączył: 15 Lut 2007 Posty: 96
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Z domu
|
Wysłany: Czw 22:30, 15 Lut 2007 Temat postu: |
|
|
ja na tibia.org.pl widzialem kiedys do youots fast atack poszukam puznij ale niema nic za darmo no dobrta dla ciebie za free
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
Autor |
Wiadomość |
Mario Bross
Administrator
Dołączył: 14 Lut 2007 Posty: 162
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 22:34, 15 Lut 2007 Temat postu: |
|
|
No to dam ci tutora
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
Autor |
Wiadomość |
Boczek
Moderator
Dołączył: 15 Lut 2007 Posty: 96
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Z domu
|
Wysłany: Czw 22:36, 15 Lut 2007 Temat postu: |
|
|
dobra trzmam cie za jenzyk
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
Autor |
Wiadomość |
Mario Bross
Administrator
Dołączył: 14 Lut 2007 Posty: 162
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Czw 22:43, 15 Lut 2007 Temat postu: |
|
|
Dobra Dobra
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
Autor |
Wiadomość |
czester
Gość
|
Wysłany: Czw 19:39, 17 Maj 2007 Temat postu: |
|
|
kto pomoze mi w tym ots zrobic i skod sciognoć youots jesli ktos by mugł mi pomuc to niek napisze mi na gg co 8016383 ;/ prosze niekt ktoś poda mi te liki aby zrobic swego ots i tesz aby byl dobry poradnik co
|
|
Powrót do góry |
|
|
Możesz pisać nowe tematy 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, 2002 phpBB Group. Theme Designed By ArthurStyle
|
 |
|
 |
|
|