What's new

[Poradnik] Jak zrobi? profesj? Epic.

Lex

Advanced User
Joined
Jul 20, 2008
Messages
289
Reaction score
19
CZYTA? CA?Y TEMAT OD G?RY DO DO?U !!!

Postanowi?em napisa? ten temat ze wzgl?du na to ?e wiele os?b ma problem z w??czeniem u siebie na serverze promocji Epic. Dodatkowo opisz? jak zrobi? aby owa promocja by?a wy?wietlana na stronie acc makera. Wi?c do roboty:
Server
No wi?c pierwszym krokiem jest odwiedzenie folderu data/XML i edytowanie pliku Vocations.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<vocations>
	<vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="2">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="4" gainhpamount="5" gainmanaticks="4" gainmanaamount="5" manamultiplier="1.4" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="3">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="10" gainmanaticks="3" gainmanaamount="10" manamultiplier="1.4" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="9" name="Epic Master Sorcerer" description="an epic master sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="5" lessloss="50">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="10" name="Epic Elder Druid" description="an epic elder druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="50">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="11" name="Epic Royal Paladin" description="an epic royal paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="10" gainmanaticks="3" gainmanaamount="10" manamultiplier="1.4" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="50">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
	<vocation id="12" name="Epic Elite Knight" description="an epic elite knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="8" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="50">
		<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
		<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
	</vocation>
</vocations>
To jest gotowiec, nie ma tu nic trudnego, po prostu trzeba usun?? 2 linijki:
Code:
<!--
Code:
-->
I poustawia? tak ?eby by?o czytelnie i wygl?da?o jak nale?y.
Drugim krokiem jest nastawienie aby NPC sprzedawa? now? promocje, a wi?c wchodzimy do data/npc/scripts i edytujemy plik promotion.lua:
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function onCreatureAppear(cid)			npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)		npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)		npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()				npcHandler:onThink()					end
local node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'})
	node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'})
	node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})
local node2 = keywordHandler:addKeyword({'epic'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can epicize you for 200000 gold coins. Do you want me to epicize you?'})
	node2:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 200000, level = 120, promotion = 2, text = 'Congratulations! You are now epicized.'})
	node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true})
npcHandler:addModule(FocusModule:new())
Kolejny gotowiec, w zasadzie to nie b?d? t?umaczy? co tutaj usun?? a co zostawi? bo i tak wiem ?e ka?dy woli kopiuj/wklej. :)
Acc Maker
Teraz pora doda? na swojego Acc Makera promocj? kt?r? zrobili?my. No wi?c wchodzisz do folderu z acc makerem /config i edytujesz plik config.php. Szukasz w nim:
Code:
// list of vocations on ots (world 0)
$vocation_name[0][0] = array(0 => 'None', 1 => 'Sorcerer', 2 => 'Druid', 3 => 'Paladin', 4 => 'Knight'); // id => 'name' , $vocation_name[0] - promotion level 0, $vocation_name[0] - for world ID 0
$vocation_name[0][1] = array(1 => 'Master Sorcerer', 2 => 'Elder Druid', 3 => 'Royal Paladin', 4 => 'Elite Knight'); // id => 'name' , $vocation_name[1] - promotion level 1, $vocation_name[0] - for world ID 0
Pod tym wklejasz to:
Code:
$vocation_name[0][2] = array(1 => 'Epic Master Sorcerer', 2 => 'Epic Elder Druid', 3 => 'Epic Royal Paladin', 4 => 'Epic Elite Knight'); // id => 'name' , $vocation_name[1] - promotion level 1, $vocation_name[0] - for world ID 0
Mam nadziej? ?? komu? si? to przyda. To co jest tu opisane by?o testowane na silniku TFS 0.3.6pl1 i tyczy si? Acc Makera by G?sior Version 0.3.6 r.70.
Notka moderatorska:
Z?y dzia?, przenosz?.
 

Samik

Advanced User
Joined
Jul 18, 2008
Messages
436
Reaction score
54
Odp: [Poradnik] Jak zrobi? profesj? Epic.

Zapomnia?e? o najwa?niejszych rzeczach.
lib/vocations.lua
PHP:
function isSorcerer(cid)
	return isInArray({1, 5, 9}, getPlayerVocation(cid))
end

function isDruid(cid)
	return isInArray({2, 6, 10}, getPlayerVocation(cid))
end

function isPaladin(cid)
	return isInArray({3, 7, 11}, getPlayerVocation(cid))
end

function isKnight(cid)
	return isInArray({4, 8, 12}, getPlayerVocation(cid))
end

function isRookie(cid)
	return isInArray({0}, getPlayerVocation(cid))
end

Oraz zmiana wszystkich zakl?? w /spells/spells.xml ?eby dzia?a?y dla nowej profesji, tak samo w plikach /movements/movements.xml i /weapons/weapons.xml.
 

Lex

Advanced User
Joined
Jul 20, 2008
Messages
289
Reaction score
19
Odp: [Poradnik] Jak zrobi? profesj? Epic.

Zapomnia?e? o najwa?niejszych rzeczach.
lib/vocations.lua
PHP:
function isSorcerer(cid)
	return isInArray({1, 5, 9}, getPlayerVocation(cid))
end
function isDruid(cid)
	return isInArray({2, 6, 10}, getPlayerVocation(cid))
end
function isPaladin(cid)
	return isInArray({3, 7, 11}, getPlayerVocation(cid))
end
function isKnight(cid)
	return isInArray({4, 8, 12}, getPlayerVocation(cid))
end
function isRookie(cid)
	return isInArray({0}, getPlayerVocation(cid))
end
Oraz zmiana wszystkich zakl?? w /spells/spells.xml ?eby dzia?a?y dla nowej profesji, tak samo w plikach /movements/movements.xml i /weapons/weapons.xml.
Niestety mi wszystko dzia?a bez dodawania niczego do lib. W spells.xml tez niczego nie zmienia?em i wszystkie czary dzia?aj?. Jedyne co to w weapons.xml pododawa?:
Code:
<vocation id="[B]ID PROF[/B]"/>
 

Lex

Advanced User
Joined
Jul 20, 2008
Messages
289
Reaction score
19
Odp: [Poradnik] Jak zrobi? profesj? Epic.

Dodam jeszcze bo zapomnia?em, je?eli robi si? t? promocj? kt?ra widnieje w temacie to trzeba doda? id profesji w actions\scripts\liquids\potions.lua. A wygl?da to mniej wi?cej tak:
Code:
local POTIONS = {
	[8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion
	[7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion
	[7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8, 11, 12}, vocStr = "knights and paladins"}, -- strong health potion
	[7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8, 12}, vocStr = "knights"}, -- great health potion
	[8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8, 12}, vocStr = "knights"}, -- ultimate health potion
	[7620] = {empty = 7636, splash = 7, mana = {70, 115}}, -- mana potion
	[7589] = {empty = 7634, splash = 7, mana = {160, 220}, level = 50, vocations = {1, 2, 3, 5, 6, 7, 9, 10, 11}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
	[7590] = {empty = 7635, splash = 7, mana = {250, 400}, level = 80, vocations = {1, 2, 5, 6, 9, 10}, vocStr = "sorcerers and druids"}, -- great mana potion
	[8472] = {empty = 7635, splash = 3, health = {300, 500}, mana = {200, 300}, level = 80, vocations = {3, 7, 11}, vocStr = "paladins"} -- great spirit potion
}

Dok?adnie chodzi o lini?:

Code:
vocations = {1, 2, 3, 5, 6, 7, 9, 10, 11}

W zale?no?ci od potki dajesz w tym nawiasie odpowiednie id profesji.
 

krwiaczek

User
Joined
Oct 24, 2009
Messages
41
Reaction score
1
Odp: [Poradnik] Jak zrobi? profesj? Epic.

Zrobilem wszystko pozmienialem wszystko i jest ok. ale jak ustawie w phpmyadmin w players vocation np. 9 to pmi pisze w grze you are. i nie ma zadnej profesji a jak dam 6 to daje mi tego epic sorca czy tam druida ale po relognieciu dalej mam master/elder. Wie ktos co zrobic z tym? Prosze o odpowiedz.
 

PrzemeQ213

Active User
Joined
Aug 18, 2009
Messages
95
Reaction score
2
Odp: [Poradnik] Jak zrobi? profesj? Epic.

Siema!
Poradnik 10/10
Ale mo?na jako? zmieni? nazwe nie na epic ale np na Evolution ?
@up
Prawdopodobnie ?le przepisa?e? co? z linijki config.php.
 
Top