Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak dodać na serwer szkatułke serwerową


Rekomendowane odpowiedzi

Opublikowano

Witam, 

stworzyłem ikonke skrzynki serwerowej zaplanowałem drop, teraz co powinienem zrobić aby na serwerze z mobów leciały te skrzynki a ze skrzynek drop?

 

rozumiem że musze dodać skrzynie do item_proto w mysql w navi 

potem musze ustalić drop ze skrzyni ( nie wiem jak )

dodać skrzynie do klienta aby była widoczna ( nie wiem jak )

no i ustalić aby dropiła z mobów

 

czy pomoże mi ktos to ogarnąć?

 

co prawda serwer jest 4fun no ale chciałbym na przyszłośc wiedziec co i jak.

Opublikowano

1. Dop skrzynek:

 

 

quest drop_skrzyn begin
state start begin
when kill begin
local pass_percent=1
local s=number(1,115)
            local mob_level = npc.get_level()
            local level = pc.get_level()
            if level - mob_level <= 15 and level - mob_level >= -15 then
if s<=pass_percent then
notice(""..item_name(120004).." Wpadła Ci do ekwipunku.")
pc.give_item2(19, 1)
end
end
end
end
end

 

 

 

2. Zawartosc skrzynek(3punkt):

 

 

 

3. Dodawanie do clienta/serwera:

 

 

Prace nad pierwszym, solowym serwerem rozpoczete zostana dnia ------ :

 


- Kompletowanie pomysłu - 71%


- Serwer : * Strona clienta - 2% * Strona serwera - 5%


- Strona - 0%


- Forum - 0%

Opublikowano

@BinLaden.

 

mam problem ze skrzynka pokazuje sie dodalem drop w special item drop

ale po kliknieciu prawym na skrzynie nic sie nie dzieje.

w item proto skopiowałem tabele ze szkaty blasku ( te wszystkie wartosci ) podmienilem nazwy i id.

 

nie mam pojecia o co moze chodzic ;/

 

 

mam jeszcze pytanie jak ustawic % na drop skrzyni z moba?

Opublikowano

@BinLaden.

 

mam problem ze skrzynka pokazuje sie dodalem drop w special item drop

ale po kliknieciu prawym na skrzynie nic sie nie dzieje.

w item proto skopiowałem tabele ze szkaty blasku ( te wszystkie wartosci ) podmienilem nazwy i id.

 

nie mam pojecia o co moze chodzic ;/

 

 

mam jeszcze pytanie jak ustawic % na drop skrzyni z moba?

special_item_group(najlepiej jak id grupy i vnum szkatulki sa takie same). Pamiętaj o tabach.

Group	idgrupy				
{					
	Vnum	vnum_itemka
	index	id_przedmiotu	ilosc	szansa
}

Skrzynia

Dla proto.txt

idprzedmiotu	jakasnazwa	ITEM_GIFTBOX	0	1	NONE	ITEM_STACKABLE	NONE	NONE	0	0	0	0	0	LIMIT_NONE	0	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	0	0	0	0	0	0	0	0	0

dla proto.sql

id	Nazwaitemka	jakasnazwa	23	0	1	0	0	4	0		0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0

Najważniejsze: 
Type: 23
Subtype: 0

Quest on/off z roznica lvl moba.

quest nazwa begin
	state start begin
		when kill with not npc.is_pc() and game.get_event_flag("nazwaeventu") == 1 and pc.get_level() >= jakislvl begin
			local mob_level = npc.get_level()
			local level = pc.get_level()
			if level - mob_level <= 10 then
				local s = number(1, 180) --tu masz szanse, 1/180 na drop
				if s==1 then
					game.drop_item_with_ownership(50011, 1)
				end
			end
		end
	end
end 

Do tego questa musisz mieć dopisaną funkcję npc.get_level().

Jeśli działasz na source dodaj to do questlua_npc

Po tym: int npc_set_vid_damage_mul(lua_State* L) dodaj to:

int npc_get_level(lua_State * L)
{
	LPCHARACTER npc = CQuestManager::instance().GetCurrentNPCCharacterPtr();
	lua_pushnumber(L,npc ? npc->GetLevel() : 0);
	return 1;
}

Po tym:{ "set_vid_damage_mul",		npc_set_vid_damage_mul	},
dodaj to:{ "get_level",			npc_get_level			},


Potem na serwerze w quest_function dopisz: npc.get_level

Szkatułkę możesz też ustawić w common_drop_item

PAWN	S_PAWN	KNIGHT	S_KNIGHT
nazwa	odlvl	dolvl	szansa	id	100 	nazwa	odlvl	dolvl	szansa	id	100 	nazwa	odlvl	dolvl	szansa	id	100 	nazwa	odlvl	dolvl	szansa	id	100


Powyżej musi być 4x to samo. PAWN/S_PAWN/KNIGHT/S_KNIGHT to poziom potwora( poziom 1/2/3/4)

zandia_sygna.png

Opublikowano

 

@BinLaden.

 

mam problem ze skrzynka pokazuje sie dodalem drop w special item drop

ale po kliknieciu prawym na skrzynie nic sie nie dzieje.

w item proto skopiowałem tabele ze szkaty blasku ( te wszystkie wartosci ) podmienilem nazwy i id.

 

nie mam pojecia o co moze chodzic ;/

 

 

mam jeszcze pytanie jak ustawic % na drop skrzyni z moba?

special_item_group(najlepiej jak id grupy i vnum szkatulki sa takie same). Pamiętaj o tabach.

Group	idgrupy				
{					
	Vnum	vnum_itemka
	index	id_przedmiotu	ilosc	szansa
}

Skrzynia

Dla proto.txt

idprzedmiotu	jakasnazwa	ITEM_GIFTBOX	0	1	NONE	ITEM_STACKABLE	NONE	NONE	0	0	0	0	0	LIMIT_NONE	0	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	0	0	0	0	0	0	0	0	0

dla proto.sql

id	Nazwaitemka	jakasnazwa	23	0	1	0	0	4	0		0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0

Najważniejsze: 
Type: 23
Subtype: 0

Quest on/off z roznica lvl moba.

quest nazwa begin
	state start begin
		when kill with not npc.is_pc() and game.get_event_flag("nazwaeventu") == 1 and pc.get_level() >= jakislvl begin
			local mob_level = npc.get_level()
			local level = pc.get_level()
			if level - mob_level <= 10 then
				local s = number(1, 180) --tu masz szanse, 1/180 na drop
				if s==1 then
					game.drop_item_with_ownership(50011, 1)
				end
			end
		end
	end
end 

Do tego questa musisz mieć dopisaną funkcję npc.get_level().

Jeśli działasz na source dodaj to do questlua_npc

Po tym: int npc_set_vid_damage_mul(lua_State* L) dodaj to:

int npc_get_level(lua_State * L)
{
	LPCHARACTER npc = CQuestManager::instance().GetCurrentNPCCharacterPtr();
	lua_pushnumber(L,npc ? npc->GetLevel() : 0);
	return 1;
}

Po tym:{ "set_vid_damage_mul",		npc_set_vid_damage_mul	},
dodaj to:{ "get_level",			npc_get_level			},


Potem na serwerze w quest_function dopisz: npc.get_level

Szkatułkę możesz też ustawić w common_drop_item

PAWN	S_PAWN	KNIGHT	S_KNIGHT
nazwa	odlvl	dolvl	szansa	id	100 	nazwa	odlvl	dolvl	szansa	id	100 	nazwa	odlvl	dolvl	szansa	id	100 	nazwa	odlvl	dolvl	szansa	id	100


Powyżej musi być 4x to samo. PAWN/S_PAWN/KNIGHT/S_KNIGHT to poziom potwora( poziom 1/2/3/4)

 

@Poeta

 

a czy mógłbyś przeorobić ten quest aby drop nie był eventowy tylko stały?

 

Opublikowano


quest nazwa begin

state start begin

when kill with not npc.is_pc() and pc.get_level() >= jakislvl begin

local mob_level = npc.get_level()

local level = pc.get_level()

if level - mob_level <= 10 then

local s = number(1, 180) --tu masz szanse, 1/180 na drop

if s==1 then

game.drop_item_with_ownership(50011, 1)

end

end

end

end

end

 

and game.get_event_flag("nazwaeventu") == 1 tylko to trzeba było usunąć

zandia_sygna.png

Opublikowano

To jest akurat chasdasdasowe i  musisz sobie tam pobawic sie i po testowac, bo nie ma zasady ze 10 to 10. 

Prace nad pierwszym, solowym serwerem rozpoczete zostana dnia ------ :

 


- Kompletowanie pomysłu - 71%


- Serwer : * Strona clienta - 2% * Strona serwera - 5%


- Strona - 0%


- Forum - 0%

Opublikowano

mam jeszcze ostatnie pytanie ( wybacz że tak truje )

 

czy jeżeli chce ustawić szanse na drop 10% to powinienem wpisać local s = number(10, 100) ?

 

@ρσєτα

To jest loteria. Możesz robić też na math.random(x1, x2)

zandia_sygna.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...