• 01-04.05.2026 - DOUBLE EXP / SKILL EVENT!

Skrypty & Kody Przemiot daj?cy Magic Lvl

Status
Zamknięty.

The Vamrock

User
Zarejestrowany
Dołączył
Listopad 18, 2011
Posty
31
Liczba reakcji
1
Witam, poszukuj? kodu, aby przedmiot dodawa? x Magic Lvl.

Kod:
	<attribute key="weight" value="800"/>	
	<attribute key="armor" value="60"/>
	<attribute key="slotType" value="legs"/>
	<attribute key="healthGain" value="3000"/>
	<attribute key="healthTicks" value="1000"/>
	<attribute key="manaGain" value="3000"/>
	<attribute key="manaTicks" value="1000"/>

Wi?c.. Co dopisa?, aby ten przedmiot dodawa? te kilka Magic Lvli?
 
Odp: Przemiot daj?cy Magic Lvl

PHP:
<attribute key="magiclevelpoints" value="2" />

W 2 zmieniasz na ile chcesz ,?eby dany items mia? mlvl


Pozdrawiam..
 
Ostatnia edycja:
Odp: Przemiot daj?cy Magic Lvl

Musisz tez dodac do movements takie linijki:
PHP:
<movevent type="Equip" itemid="xxxx" slot="armor" event="function" value="onEquipItem">

<movevent type="DeEquip" itemid="xxxx" slot="armor" event="function" value="onDeEquipItem"/>

Oczywiscie musisz wpisac czy to jest armor czy buty itp, a do tego wpisac id itemu.
 
Odp: Przemiot daj?cy Magic Lvl

PHP:
<attribute key="magiclevelpoints" value="2" />

W 2 zmieniasz na ile chcesz ,?eby dany items mia? mlvl


Pozdrawiam..

Mhmm, co? nie chce dzia?a?

Musisz tez dodac do movements takie linijki:
PHP:
<movevent type="Equip" itemid="xxxx" slot="armor" event="function" value="onEquipItem">

<movevent type="DeEquip" itemid="xxxx" slot="armor" event="function" value="onDeEquipItem"/>

Oczywiscie musisz wpisac czy to jest armor czy buty itp, a do tego wpisac id itemu.


Tyle to ja wiem, nieco namiesza?e?, chocia? mo?e to moja wina, bo nie wspomnia?em, ?e szukam tego na tibie 7.92

Tak mi?dzy nami - powinno by? tak:

PHP:
<movevent event="Equip" itemid="xxxx" slot="xyz" function="onEquipItem" />
<movevent event="DeEquip" itemid="xxxx" slot="xyz" function="onDeEquipItem" />

xxxx - ID przedmiotu
xyz - Nazwa slotu





Zawitamy jeszcze kogo? z jakim? pomys?em?
 
Odp: Przemiot daj?cy Magic Lvl

Mhmm, co? nie chce dzia?a?




Tyle to ja wiem, nieco namiesza?e?, chocia? mo?e to moja wina, bo nie wspomnia?em, ?e szukam tego na tibie 7.92

Tak mi?dzy nami - powinno by? tak:

PHP:
<movevent event="Equip" itemid="xxxx" slot="xyz" function="onEquipItem" />
<movevent event="DeEquip" itemid="xxxx" slot="xyz" function="onDeEquipItem" />

xxxx - ID przedmiotu
xyz - Nazwa slotu





Zawitamy jeszcze kogo? z jakim? pomys?em?


W nowszych silnikach tak jest, wiec nic nie namieszalem.
Nawet dobrze nie otagowales tematu i nie napisales jaka wersja, wiec skopiowalem linijke(dzialajaca z dzialjaacego serwera) z 8.6... Czyli jednej z najpopularniejszych wersji.
Co do tego, ze nie dziala. To mozesz nie miec w silniku "magiclevelpoints" tylko cos innego. Sprawdz jesli masz juz jakis przedmiot ktory dodaje mlvl jak to wyglada i w tym ktory chcesz zmienic zrob analogicznie do juz istniejacego.
 
Odp: Przemiot daj?cy Magic Lvl

To mozesz nie miec w silniku "magiclevelpoints" tylko cos innego. Sprawdz jesli masz juz jakis przedmiot ktory dodaje mlvl jak to wyglada i w tym ktory chcesz zmienic zrob analogicznie do juz istniejacego.

Taa, my?lisz, ?e na to nie wpad?em?

PHP:
		<attribute key="increaseMagicPercent" value="10"/>

Ekhm.. I problem jest w tym, ?e dodaje magic level w procentach, nie poziomach.
 
Odp: Przemiot daj?cy Magic Lvl

Wyst?pi? jeszcze jeden problem, a mianowicie - ustawienie buff?w w broniach i tarczach. W items.xml wszystko dobrze, lecz gdy przechodz? do movements.xml, i we?my np. tarcz?

PHP:
<movevent event="Equip" itemid="6098" xxxx="yyyy" function="onEquipItem" />
<movevent event="DeEquip" itemid="6098" xxxx="yyyy" function="onDeEquipItem" />

A tutaj bro?:

PHP:
<movevent event="Equip" itemid="6097" zzzz="xyz" function="onEquipItem" />
<movevent event="DeEquip" itemid="6097" zzzz="xyz" function="onDeEquipItem" />

W miejsce "xxxx" wpisywa?em ju? chyba wszystko <slot nie dzia?a>. yyyy - zgaduj?, ?e tam powinno by? "shield", zzzz - wszystko wpisywa?em, xyz - zgaduj?, ?e b?dzie "fist", "club" etc.

<Wiem, ?e chaotycznie napisane>

Wi?c prosz? o pomoc z buffem w broniach & tarczach, oraz tym magic lvlem.
 
Odp: Przemiot daj?cy Magic Lvl

Co do mlvl. W item.cpp znajdz:
magiclevelpercent
I dodaj tam gdzies:
PHP:
			else if(tmpStrValue == "magiclevelpoints" || tmpStrValue == "magicpoints")
			{
				if(readXMLInteger(itemAttributesNode, "value", intValue))
					it.abilities.stats[STAT_MAGICLEVEL] = intValue;
			}
Nie wiem co z tymi buffami...

Sloty sa takie:
PHP:
			else if(tmpStrValue == "slottype")
			{
				if(readXMLString(itemAttributesNode, "value", strValue))
				{
					tmpStrValue = asLowerCaseString(strValue);
					if(tmpStrValue == "head")
					{
						it.slotPosition |= SLOTP_HEAD;
						it.wieldPosition = SLOT_HEAD;
					}
					else if(tmpStrValue == "body")
					{
						it.slotPosition |= SLOTP_ARMOR;
						it.wieldPosition = SLOT_ARMOR;
					}
					else if(tmpStrValue == "legs")
					{
						it.slotPosition |= SLOTP_LEGS;
						it.wieldPosition = SLOT_LEGS;
					}
					else if(tmpStrValue == "feet")
					{
						it.slotPosition |= SLOTP_FEET;
						it.wieldPosition = SLOT_FEET;
					}
					else if(tmpStrValue == "backpack")
					{
						it.slotPosition |= SLOTP_BACKPACK;
						it.wieldPosition = SLOT_BACKPACK;
					}
					else if(tmpStrValue == "two-handed")
					{
						it.slotPosition |= SLOTP_TWO_HAND;
						it.wieldPosition = SLOT_TWO_HAND;
					}
					else if(tmpStrValue == "necklace")
					{
						it.slotPosition |= SLOTP_NECKLACE;
						it.wieldPosition = SLOT_NECKLACE;
					}
					else if(tmpStrValue == "ring")
					{
						it.slotPosition |= SLOTP_RING;
						it.wieldPosition = SLOT_RING;
					}
					else if(tmpStrValue == "ammo")
						it.wieldPosition = SLOT_AMMO;
					else if(tmpStrValue == "hand")
						it.wieldPosition = SLOT_HAND;
					else
						std::clog << "[Warning - Items::loadFromXml] Unknown slotType " << strValue << std::endl;
				}
			}
A tak wyglada equip i deequip.
,
PHP:
			lua_pushboolean(L, MoveEvent::DeEquipItem(event, player, item, slot, boolean));
			lua_pushboolean(L, MoveEvent::EquipItem(event, player, item, slot, boolean));
Generalnie to gdzies musisz miec cos pokopane i pozmieniane...
Jeszcze mozesz sprawdzic czy nie masz zmienionego "magiclevelpoints" na cos innego, szukajac takiej linijki w items.cpp:
PHP:
it.abilities.stats[STAT_MAGICLEVEL]
 
Ostatnia edycja:
Odp: Przemiot daj?cy Magic Lvl

Gdzie znajd? ten plik item.cpp ?
 
Odp: Przemiot daj?cy Magic Lvl

Gdzie znajd? ten plik item.cpp ?

W zrodlach silnika... Ktorych najwidoczniej... nie posiadasz... Wiec pewnie... kompilowac tez nie umiesz. Wiec nic z tym nie zrobisz w taki sposob. Jedyna opcja w takim wypadku to zmiana silnika na taki w ktorym jest to zrobioe tak, zeby ci pasowalo.
 
Status
Zamknięty.
Back
Do góry