• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

jak jest oskryptowane depo?

Seminari

Banned User
Joined
Dec 13, 2009
Messages
1,496
Reaction score
34
Location
Poland
Czy chciałby się ktoś nieodpłatnie, czysto z dobrych chęci podzielić się wiedzą jak w temacie?
Chodzi mi jak to jest, że ten locker w depocie tam jest, gdzie to w source(chyba tam nie?) jest dodane? Bo rozumiem sprawa, że nie da się lockera przesuwać to zapewne w items.otb jest not moveable.
I jak ewentualnie mógłbym dodać oprócz lockera nowy item? np. item 22222222222 ? załóżmy, że byłby not moveable i byłby containerem.
 
eee nic nie zrozumiałem, nie wiem jakiego języka używasz ale na PB używaj polskiego.
 
Patrz masz depo, a w nim jest taki pojemnik co się chyba zwie "locker", nie można go przesuwać, wyciągać z depo, ale można wkładać tam itemy, jest containerem.

Jak sprawa wygląda od strony techniczej, w sensie jak to jest oskryptowane, zapewne w source?

I jak ewentualnie mogę dodać kolejny pojemnik do depo :)
 
PHP:
Depot* Player::getDepot(uint32_t depotId, bool autoCreateDepot)
{
	DepotMap::iterator it = depots.find(depotId);
	if(it != depots.end()){
		return it->second;
	}

	//depot does not yet exist

	//create a new depot?
	if(autoCreateDepot){
		Depot* depot = NULL;
		Item* tmpDepot = Item::CreateItem(ITEM_LOCKER1);
		if(tmpDepot->getContainer() && (depot = tmpDepot->getContainer()->getDepot())){
			Item* depotChest = Item::CreateItem(ITEM_DEPOT);
			depot->__internalAddThing(depotChest);

			addDepot(depot, depotId);
			return depot;
		}
		else{
			g_game.FreeThing(tmpDepot);
			std::cout << "Failure: Creating a new depot with id: "<< depotId <<
				", for player: " << getName() << std::endl;
		}
	}

	return NULL;
}

Przy pierwszej "styczności" z depotem (czy to otwarciu przez gracza czy np. wysłaniu parcela przez kogoś do gracza) tworzony i dodawany jest locker depot chest.
 
Last edited:
Code:
type=depot
chyba jeszcze w items jest atrybut od depota.
 
hm a jakbym przykładowo chciał dodać backpack 1988, to jak to bym miał zrobić?
tzn jakie pliki bym musiał edytować i np. jak to zrobić by potem itemid tego backpacka nie był 1988 w source tylko był pobierany z config.lua np. nowy_depo_bp = 1988 ?
 
chodzi mi jak to dodać do depota, by był we wnętrzu, a nie do items.xml >.<

//edit

<attribute key="type" value="depot" />


mogę to dodać do jakiegoś bp i zawsze doda do depo i będzie git?

// to depot to jest do przechowywania jako depo, a nie jako umieszczony tam depot chest

<item id="2594" article="a" name="depot chest">
<attribute key="containerSize" value="30" />
</item>

to jest w każdym depocie, nie ma żadnych specjalnych atrybutów, więc jest info jaki itemid w source..
 
Last edited:
tak, ale gdzie to masz? bo sprawdzałem plik depot.cpp i nie ma tam takich linijek?
Nigdy wcześniej nie edytowałem sourca, bo robił to kumpel, więc nie zbyt to ogarniam, a chcę zacząć ;/
 
player.cpp

pod
PHP:
container->__internalAddThing(Item::CreateItem(ITEM_DEPOT));

daj sobie
PHP:
container->__internalAddThing(Item::CreateItem(jakis_inny_item_id));

i będzie dodawało dwa itemy domyślnie do lockera.
 
Back
Top