• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[0.3.4pl2] Podlewanie / zapis mapy

Matkas

New Member
Joined
Dec 13, 2008
Messages
14
Reaction score
0
Witam,
starałem się wykonać skrypt na podlewanie, aczkolwiek natrafiłem na pewną trudność, a mianowicie sprawdzanie czy ziemia jest równa określonemu id.
Code:
if itemEx.itemid == 2674 then
if item.type == 1 then
doTransformItem(itemEx.uid,6217)
doChangeTypeItem(item.uid,0)
doPlayerAddSkillTry(cid,2,1)
Przy tym kodzie mogę, podlewać/sadzić przedmiot na każdym podłożu, natomiast chcę aby było to tylko możliwe na ziemi o id tymitym. Próbowałem ze Stackpos, ale się nie udało, więc licze na Waszą pomoc.

2. Odnośnie zapisu mapy.

Chcę(co nie znaczy mogę) zrobić cóś, dzięki czemu aktualna mapa servera będzie się zapisywać. Głównie chodzi mi o sadzenie, czy wykonywanie budowli, aby przy zapisie servera itemy, które są postawione/leżą na ziemii 'dodały się' do mapy.
Jest to wykonalne?

Pozdrawiam, liczę na Waszą pomoc, i Wesołych Świąt Bożego Narodzenia;)
 
2. Wykonalne :) przejrzyj źródła mapeditora i dodaj co potrzeba do TFS.
 
Ostatnio kolega mnie zapytał czy nie potrafiłbym zrobić skryptu, który zapisuje z poziomu servera mape(czyli dokładnie to co ja chciałem rok temu). Postanowiłem mu pomóc. Wziąłem się do roboty i udało się, lecz nie dokladnie w takim sposób jaki bym chciał.
Cały skrypt opiera się na bazie danych. Przy przesunięciu przedmiotu, poprzedni rekord jest usuwany, i tworzony jest nastepny z nowymi współrzędnymi.
Generalnie rzecz biorąc, skrypt działa, ale przy kilku osobach na serwerze, generowałby olbrzymie ilości zapytań do bazy. Postanowiłem to zmienić.

Sciągnąłem źródła RME, i po przejrzeniu ich , nie znalazłem nic co mógłbym zaaplikować do TFS'a.

Mógłby mnie ktoś naprowadzić, na jakiś trop, jak użyć kod z RME w TFS'ie?
Nie mam pojęcia jak to zrobić.

Pozdrawiam, Mateusz.
 
Cache. Trzymaj te warstwy itemow w RAM i co jakis czas laduj je do bazy ;p.
 
Przed wgraniem nowych elementów, usunę te stare i wszystko powinno być okay. Chociaz i tak wolałbym aby była modyfikacja pliku .OTBM, ale to już chyba przerasta moje możliwości, chyba , że patrze ze złej strony... :)

Edit:

Udało mi się zrobić tak jak powiedział Chojrak :) Bardzo dziękuje za pomoc. Jeśli ktoś ma pomysł jak jeszcze wmieszać to w OTBM to proszę dać znać.
 
Last edited:
Nie chcę zakładać nowego tematu. Czy wie ktoś w jakim pliku jest warunek, który przy tym jak życie i nazwa gracza nie jest wyświetlana, to nie można go zaatakować i nie widać go w liście 'battle'?
Dla ułatwienia, chodzi mi o coś takiego:

Code:
if(hideName == true && hideHealth == true)
    {
       Skasuj z listy 'battle'(chodzi mi o tą liste po prawej w cliencie Tibii, ktora wyswietla graczy i potwory)
       
    }

Szukam tego w plikach od wczoraj i nie mogę się doszukać.
Z góry wlk dzięki za pomoc.

Pozdrawiam , Mateusz.
 
ProtocolGame::AddCreature
Moze cos takiego zdziala:
Code:
if(creature->getHideHealth()) return;

I wtedy ni doda go ;p.

@Edit:
Atakowanie mniej wiecej tak:
Code:
void ProtocolGame::parseAttack(NetworkMessage& msg)
{
	uint32_t creatureId = msg.get<uint32_t>();
	msg.get<uint32_t>(); //?
	msg.get<uint32_t>(); //?
	
	Player *player = Game::getCreatureByID(creatureId)->getPlayer();
	if(player != NULL && player->getHideHealth())
		return;

	addGameTask(&Game::playerSetAttackedCreature, player->getID(), creatureId);
}
 
Nie wiem czy dobrze sprecyzowałem swoje poprzednie pytanie.
Chodzi mi o to , aby w grze nie było widać życia i nazwy gracza, ale można było Go normalnie atakować, czy 'śledzić'.
Zabieram się za przeanalizowanie Twojej propozycji ;p
 
Oh, zle Cie zrozumialem. W takim razie sprobuj po prostu dac hide health i hide name na playerze.
 
W tym rzecz, że dałem i nie mogę zaatakować gracza czy potwora. Po prostu jak by Go nie było:| Póki co nie pojmuje czemu tak się dzieje, skoro tylko wyłączam wyświetlanie życia i nazwy. Ciężki orzech do zgryzienia...
 
Back
Top