War3FT - Как да добавите повече нива в вашия сървър

В този раздел можете да намерите полезни кодове и уроци свързани с PAWN скриптинга.
Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: War3FT - Как да добавите повече нива в вашия сървър

Мнение от JustInCase » 28 Окт 2016, 18:20

Какво прави този ред?

Код за потвърждение: Избери целия код

new iXPLevelShortTerm[MAX_LEVELS+1]            = {0,150,300,600,1000,1500,2100,2800,3400,4500,5500};

Така оправих проблема с крашването но сега когато се вдигна 16 левел и си ъпдейтна skill тогава крашва.. :D
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
Zed
Извън линия
Потребител
Потребител
Мнения: 30
Регистриран на: 13 Окт 2016, 18:05
Местоположение: София
Обратна връзка:

Re: War3FT - Как да добавите повече нива в вашия сървър

Мнение от Zed » 28 Окт 2016, 19:25

JustInCase написа:Какво прави този ред?

Код за потвърждение: Избери целия код

new iXPLevelShortTerm[MAX_LEVELS+1]            = {0,150,300,600,1000,1500,2100,2800,3400,4500,5500};

Така оправих проблема с крашването но сега когато се вдигна 16 левел и си ъпдейтна skill тогава крашва.. :D
Да не си объркал нещо? :bl: че ти крашва?
Колата, блъсната жена ти същата ще я дам на тъщата :D

Аватар
3agopka
Извън линия
Потребител
Потребител
Мнения: 68
Регистриран на: 20 Окт 2016, 21:36
Получена благодарност: 1 път

Re: War3FT - Как да добавите повече нива в вашия сървър

Мнение от 3agopka » 28 Окт 2016, 20:11

Това е за XP.Нужния XP за следващото ниво, не си спомням много добре но ако нивата ти са 16 тези стойности трябва да са 17.Като винаги първата стойност трябва да е 0.В самия код си е така и така трябва да остане.

Ето какво пише в XP.h : // Amount of XP needed to gain a level - Стойност на XP за следващо ниво.Ако искаш след 10 или 13 lvl както прецениш не го удвоявай или добавай + 10000 тоест ако 10 ниво е 51200 за 11 лвл добави + 10000 и така на татък.

А този ред : // Amount of XP awarded when killing a user of this level означава
Стойност на XP за убийство на всеки следващ лвл.Тоест ако на 10 лвл ти дава по 32 XP ,то можеш на всеки следващ лвл да си го направиш по 50 XP зависи как ще си калкулираш горните стойности.Защото ако си остане по 32 XP за всеки следващ лвл ,то ще вдигаш 16 лвл до другата година по това време.Ако ме разбираш ;)

В constants.inl са самите ултимейти и способности на героите, там също трябва да се правят промени:
Ще намериш код:

Код за потвърждение: Избери целия код

// Constants for Abilities
new const Float:p_vampiric[3] =			{0.10,0.20,0.30}		// Vampiric Aura			(skill 1)
new Float:p_unholy[3] =					{265.0,285.0,300.0}		// Unholy Aura				(skill 2)
new Float:p_unholy_dod[3] =				{33.3,66.6,100.0}		// Unholy Aura				(skill 2)
new const Float:p_levitation[3] =		{0.8,0.6,0.4}			// Levitation				(skill 3)

new const p_invisibility[3] =			{200,175,135}			// Invisibility				(skill 1)
new const p_devotion =					15						// Devotion Aura			(skill 2)
new const Float:p_bash[3] =				{0.10,0.20,0.30}		// Bash						(skill 3)

new const Float:p_critical[3] =			{0.25,0.50,0.75}		// Critical Strike			(skill 1)
new const Float:p_grenade[3] =			{2.0,3.0,4.0}			// Critical Grenade			(skill 2)
new const Float:p_ankh[3] =				{0.333,0.666,1.0}		// Equipment reincarnation	(skill 3)

new const Float:p_evasion[3] =			{0.1,0.175,0.25}		// Evasion					(skill 1)
new const Float:p_thorns[3] =			{0.05,0.1,0.15}			// Thorns Aura				(skill 2)
new const Float:p_trueshot[3] =			{0.1,0.2,0.35}			// Trueshot Aura			(skill 3)


new const Float:p_phoenix[3] =			{0.333,0.666,1.0}		// Phoenix					(skill 1)
new const p_phoenix_dod[3] =			{300,600,900}			// Phoenix - DOD			(skill 1)
new const Float:p_banish[3] =			{0.05,0.10,0.15}		// Banish					(skill 2)
new const Float:p_mana[3] =				{0.02,0.04,0.08}		// Siphon Mana				(skill 3)
new const Float:p_resistant[11] =		{0.02, 0.04, 0.08, 0.12, 0.16, 0.20, 0.24, 0.28, 0.32, 0.36, 0.40}	// Resistant Skin		(Skill 4)

new const Float:p_heal[3] =				{6.0,4.0,2.0}			// Healing Wave				(skill 1)
new const Float:p_hex[3] =				{0.05,0.10,0.15}		// Hex						(skill 2)
new const p_serpent[3] =				{1,2,3}					// Serpent Ward				(skill 3)
new const Float:p_concoction[11] =		{0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.15}	// Unstable Concoction	(Skill 4)

new const Float:p_fan[3] =				{0.05,0.10,0.15}		// Fan of Knives			(skill 1)
new const Float:p_blink[3] =			{0.333,0.666,1.0}		// Blink					(skill 2)
new const Float:p_shadow[3] =			{0.05,0.10,0.15}		// Shadow Strike			(skill 3)
new const Float:p_harden[11] =			{0.03, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50}	// Hardened Skin		(Skill 4)

new const Float:p_impale[3] =			{0.05,0.1,0.15}		    // Impale					(skill 1)
new const Float:p_spiked[3] =			{0.05,0.1,0.15}			// Spiked Carapace			(skill 2)
new const Float:p_carrion[3] =			{0.05,0.10,0.15}		// Carrion Beetle			(skill 3)
new const Float:p_orb[11] =				{0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.15}
Давам кода за 16 лвл:

Код за потвърждение: Избери целия код

// Constants for Abilities
new const Float:p_vampiric[5] = {0.10,0.20,0.30,0.40,0.50} // Vampiric Aura (skill 1)
new Float:p_unholy[5] = {265.0,285.0,300.0,320.0,340.0} // Unholy Aura (skill 2)
new Float:p_unholy_dod[5] = {33.3,66.6,100.0,133.3,166.6} // Unholy Aura (skill 2)
new const Float:p_levitation[5] = {0.8,0.6,0.4,0.3,0.2} // Levitation (skill 3)

new const p_invisibility[5] = {200,175,135,120,105} // Invisibility (skill 1)
new const p_devotion = 15 // Devotion Aura (skill 2)
new const Float:p_bash[5] = {0.10,0.20,0.30,0.40,0.50} // Bash (skill 3)

new const Float:p_critical[5] = {0.25,0.50,0.75,0.85,1.00} // Critical Strike (skill 1)
new const Float:p_grenade[5] = {2.0,3.0,4.0,5.0,6.0} // Critical Grenade (skill 2)
new const Float:p_ankh[5] = {0.333,0.666,0.788,1.0,1.333} // Equipment reincarnation (skill 3)

new const Float:p_evasion[5] = {0.1,0.175,0.25,0.275,0.5} // Evasion (skill 1)
new const Float:p_thorns[5] = {0.05,0.1,0.15,0.2,0.3} // Thorns Aura (skill 2)
new const Float:p_trueshot[5] = {0.1,0.2,0.35,0.45,0.55} // Trueshot Aura (skill 3)


new const Float:p_phoenix[5] = {0.333,0.666,0.788,1.0,1.333} // Phoenix (skill 1)
new const p_phoenix_dod[5] = {300,600,900,1200,1500} // Phoenix - DOD (skill 1)
new const Float:p_banish[5] = {0.05,0.10,0.15,0.20,0.30} // Banish (skill 2)
new const Float:p_mana[5] = {0.02,0.04,0.08,0.12,0.16} // Siphon Mana (skill 3)
new const Float:p_resistant[17] = {0.02, 0.04, 0.08, 0.12, 0.16, 0.20, 0.24, 0.28, 0.32, 0.34, 0.36, 0.38, 0.40, 0.42, 0.44, 0.46, 0.48} // Resistant Skin
new const Float:p_heal[5] = {6.0,4.0,2.0,1.5,1.0} // Healing Wave (skill 1)
new const Float:p_hex[5] = {0.05,0.10,0.15,0.20,0.30} // Hex (skill 2)
new const p_serpent[5] = {1,2,3,4,5} // Serpent Ward (skill 3)
new const Float:p_concoction[17] = {0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17} // Unstable Concoction (Skill 4)

new const Float:p_fan[5] = {0.05,0.10,0.15,0.20,0.30} // Fan of Knives (skill 1)
new const Float:p_blink[5] = {0.333,0.666,0.8,1.0,1.333} // Blink (skill 2)
new const Float:p_shadow[5] = {0.05,0.10,0.15,0.20,0.30} // Shadow Strike (skill 3)
new const Float:p_harden[17] = {0.03, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.37, 0.40, 0.43,0.46,0.50,0.55,0.60,0.65,0.70} // Hardened Skin (Skill 4)

new const Float:p_impale[5] = {0.05,0.1,0.15,0.2,0.30} // Impale (skill 1)
new const Float:p_spiked[5] = {0.05,0.1,0.15,0.2,0.30} // Spiked Carapace (skill 2)
new const Float:p_carrion[5] = {0.05,0.10,0.15,0.2,0.30} // Carrion Beetle (skill 3)
new const Float:p_orb[17] = {0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17} // Orb of Annihilation (Skill 4)
Или си ги калкулирай ти.
Ето източника за този код:

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: War3FT - Как да добавите повече нива в вашия сървър

Мнение от JustInCase » 28 Окт 2016, 23:10

След като разгледах кода забелязах тези работи const които ти си написал и тръгнах да си ги правя аз. И според мен крашва от тях.



Вземи го добави в урока защото иначе нещата не се получават.. Всички ще имат тези грешки, които аз имам.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
3agopka
Извън линия
Потребител
Потребител
Мнения: 68
Регистриран на: 20 Окт 2016, 21:36
Получена благодарност: 1 път

Re: War3FT - Как да добавите повече нива в вашия сървър

Мнение от 3agopka » 29 Окт 2016, 17:23

Сега след като си го редактирал това , оправи ли се краша ?

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Re: War3FT - Как да добавите повече нива в вашия сървър

Мнение от JustInCase » 29 Окт 2016, 17:33

Да, всичко работи перфектно.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
MF1
Извън линия
Потребител
Потребител
Мнения: 316
Регистриран на: 12 Окт 2016, 21:15
Местоположение: гр.Варна
Получена благодарност: 12 пъти
Обратна връзка:

Re: War3FT - Как да добавите повече нива в вашия сървър

Мнение от MF1 » 18 Май 2017, 19:00

здравейте,
и аз стигам до този краш след ъпдейта на skill - позваля ми повече от 16 и затова крашва...
всичко съм направил по темата (16нива) но съм променил по-мой вкус това :
XP.h

Код за потвърждение: Избери целия код

// Amount of XP needed to gain a level
new iXPLevelShortTerm[MAX_LEVELS+1]				= {0,150,300,600,1000,1500,2100,2800,3400,4500,5500};
new iXPLevelSaved[MAX_LEVELS+1]	= {0, 50, 200, 350, 500, 700, 950, 1250, 1650, 2150, 2850, 3850, 4850, 5950, 7150, 8650, 10650}

// Amount of XP awarded when killing a user of this level
new iXPGivenShortTerm[MAX_LEVELS+1]				= {10,15,25,35,40,50,60,70,80,90,95};
new iXPGivenSaved[MAX_LEVELS+1] = {5,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}
дали от тук е крашът :?

едит:
Тествах със калкулирани стойности и пак крашва, ето и тях:

Код за потвърждение: Избери целия код

// Amount of XP needed to gain a level
new iXPLevelShortTerm[17]				= {0,150,300,600,1000,1500,2100,2800,3400,4500,5500,6700,8000,9500,11500,14000,20000};
new iXPLevelSaved[17]					= {0,100,200,400,800,1600,3200,6400,12800,25600,51200,80000,100000,130000,180000,500000,1000000};

// Amount of XP awarded when killing a user of this level
new iXPGivenShortTerm[17]				= {10,15,25,35,40,50,60,70,80,90,95,105,110,125,130,140,150};
new iXPGivenSaved[17]					= {6,8,10,12,14,16,18,20,24,28,32,34,38,42,48,52,60};
ЕДИТ2:
Успях и поправих проблема със моите стойности като промених стойността на MAX_LEVEL_SKILL на 5, а не на 16 защото 3 раси и 1 ултимейт = 5+5+5+1(ултимейта) = 16 = което е равно на нивата ! :)
Може в урока да едитнете :)
Join now.
www.MF1-CS.eu ---------------------------- 91.132.63.55:27015 91.132.63.56:27015 ---------------------------- :bg:

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Полезни кодове/уроци”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 9 госта