• 01-04.05.2026 - DOUBLE EXP / SKILL EVENT!

Upgrade Stone

Status
Zamknięty.

jestemPolakiem

Advanced User
Zarejestrowany
Dołączył
Styczeń 1, 2010
Posty
310
Liczba reakcji
21
Upgrade Stone
napisane przez jestemPolakiem
Dla administracji :
Wiem, ?e owy skrypt znajduj? si? na forum - ale nie dzia?a on pod najnowsz? wersj? klienta (chodzi tutaj o 8.54).
Skrypt napisany w ca?o?ci przeze mnie - nie bazuj? na podstawie tamtego skryptu.
Opis:
Dzia?anie skryptu jest proste, gracz mo?e zdoby? 4 kamienie, kt?re zwi?kszaj? :
  • atak broni
  • obron? broni
  • obron? zbroi
  • atak i obron? zbroi
Skrypt ?atwy w u?yciu, u?ywamy przedmiot na dan? bro? lub zbroj? i dzia?a. Uwzgl?dni?em te? tak?e szcz??cie, kt?re wp?ywa na pozytywne ulepszenie
Instalacja skryptu:
  1. W pliku config.lua, na samym ko?cu dodajemy tak? linijk?
    Kod:
    totUpgradeStoneChance = 15
    Zamiast liczby podajemy procent udania si? ulepszania, je?li to ma by? za pierwszym razem to 100 wpisujemy.
  2. Wchodzimy w folder data/actions/scripts/ i tworzymy cztery pliki - o takich nazwach: upgstone_atk.lua, upgstone_def.lua, upgstone_arm.lua, upgstone_full.lua. P??niej w ka?dym z nich wklejamy takie skrypty
    upgstone_atk.lua
    Kod:
    function onUse(PlayerID, item, fromPosition, item2, toPosition)
    	local config = {upgradeStoneChance = (getConfigValue('totUpgradeStoneChance'))}
    	local item_db = {atk = getItemAttribute(item2.uid, "attack"), def = getItemAttribute(item2.uid, "defense"), arm = getItemAttribute(item2.uid, "armor")}
    	if (item2.uid ~= 0) then
    		if (item_db.atk ~= 0) then
    			local randChance = math.random(1, 100)
    			if (config.upgradeStoneChance > randChance) then
    				doItemSetAttribute(item2.uid, "attack", item_db.atk + 1)
    				doSendAnimatedText(fromPosition, "^^ ^^", 154)
    				doSendMagicEffect(toPosition, 28)
    				doRemoveItem(item.uid, 1)
    				return true
    			else
    				doRemoveItem(item.uid, 1)
    				doPlayerSendTextMessage(PlayerID, MESSAGE_STATUS_CONSOLE_BLUE, "Nie powiodlo sie, sprobuj ponownie!")
    				doSendMagicEffect(toPosition, 0)
    				return false
    			end
    		else
    			return false
    		end
    	end
    	return false
    end
    upgstone_def.lua
    Kod:
    function onUse(PlayerID, item, fromPosition, item2, toPosition)
    	local config = {upgradeStoneChance = (getConfigValue('totUpgradeStoneChance'))}
    	local item_db = {atk = getItemAttribute(item2.uid, "attack"), def = getItemAttribute(item2.uid, "defense"), arm = getItemAttribute(item2.uid, "armor")}
    	if (item2.uid ~= 0) then
    		if (item_db.def ~= 0) then
    			local randChance = math.random(1, 100)
    			if (config.upgradeStoneChance > randChance) then
    				doItemSetAttribute(item2.uid, "defense", item_db.def + 1)
    				doSendAnimatedText(fromPosition, "^^ ^^", 154)
    				doSendMagicEffect(toPosition, 28)
    				doRemoveItem(item.uid, 1)
    				return true
    			else
    				doRemoveItem(item.uid, 1)
    				doPlayerSendTextMessage(PlayerID, MESSAGE_STATUS_CONSOLE_BLUE, "Nie powiodlo sie, sprobuj ponownie!")
    				doSendMagicEffect(toPosition, 0)
    				return false
    			end
    		else
    			return false
    		end
    	end
    	return false
    end
    upgstone_arm.lua
    Kod:
    function onUse(PlayerID, item, fromPosition, item2, toPosition)
    	local config = {upgradeStoneChance = (getConfigValue('totUpgradeStoneChance'))}
    	local item_db = {atk = getItemAttribute(item2.uid, "attack"), def = getItemAttribute(item2.uid, "defense"), arm = getItemAttribute(item2.uid, "armor")}
    	if (item2.uid ~= 0) then
    		if (item_db.arm ~= 0) then
    			local randChance = math.random(1, 100)
    			if (config.upgradeStoneChance > randChance) then
    				doItemSetAttribute(item2.uid, "armor", item_db.arm + 1)
    				doSendAnimatedText(fromPosition, "^^ ^^", 154)
    				doSendMagicEffect(toPosition, 28)
    				doRemoveItem(item.uid, 1)
    				return true
    			else
    				doRemoveItem(item.uid, 1)
    				doPlayerSendTextMessage(PlayerID, MESSAGE_STATUS_CONSOLE_BLUE, "Nie powiodlo sie, sprobuj ponownie!")
    				doSendMagicEffect(toPosition, 0)
    				return false
    			end
    		else
    			return false
    		end
    	end
    	return false
    end
    upgstone_full.lua
    Kod:
    function onUse(PlayerID, item, fromPosition, item2, toPosition)
    	local config = {upgradeStoneChance = (getConfigValue('totUpgradeStoneChance'))}
    	local item_db = {atk = getItemAttribute(item2.uid, "attack"), def = getItemAttribute(item2.uid, "defense"), arm = getItemAttribute(item2.uid, "armor")}
    	if (item2.uid ~= 0) then
    		if ((item_db.atk ~= 0) and (item_db.def ~= 0) then
    			local randChance = math.random(1, 100)
    			if (config.upgradeStoneChance > randChance) then
    				doItemSetAttribute(item2.uid, "attack", item_db.atk + 1)
    				doItemSetAttribute(item2.uid, "defense", item_db.def + 1)
    				doSendAnimatedText(fromPosition, "^^ ^^", 154)
    				doSendMagicEffect(toPosition, 28)
    				doRemoveItem(item.uid, 1)
    				return true
    			else
    				doRemoveItem(item.uid, 1)
    				doPlayerSendTextMessage(PlayerID, MESSAGE_STATUS_CONSOLE_BLUE, "Nie powiodlo sie, sprobuj ponownie!")
    				doSendMagicEffect(toPosition, 0)
    				return false
    			end
    		else
    			return false
    		end
    	end
    	return false
    end
  3. Wchodzimy w plik data/actions/actions.xml i po linijce
    Kod:
    <actions>
    Dodajemy taki kawa?ek kodu
    Kod:
    <action itemid="8300"	event="script" 	value="upgstone_atk.lua" 		/>
    <action itemid="8305"	event="script" 	value="upgstone_def.lua" 		/>
    <action itemid="8310"	event="script" 	value="upgstone_arm.lua" 		/>
    <action itemid="8306"	event="script" 	value="upgstone_full.lua" 		/>
  4. To wszystko - tw?j skrypt zosta? zamontowany mo?esz cieszy? si? nowymi mo?liwo?ciami!

Pozdrawiam
jestemPolakiem
 
Odp: Upgrade Stone

A na co ten tab przy actionach? poza tym wszystko ?adnie... tylko ?e gelio zrobi? to wcze?niej :D

Pozdrawiam,
Marek677
 
Odp: Upgrade Stone

No, no... dzi?ki za skrypt. Potrzebny mi by? pod ots'a ale faktycznie tamten poprzedni mi nie chodzi? na tfs'ie.
;)
 
Odp: Upgrade Stone

Skrypt mi sie podoba, ale moglbys dodac zeby bylo mozna maks ulepszyc np na +10 i zeby jak sie ulepszanie nie powiedzie to spadly statystyki broni/armoru?
 
Odp: Upgrade Stone

Jeden ma?y skrypt w 4 plikach? Do tego widz?, ?e nie bardzo pojmujesz
Kod:
return false
return true
W skryptach deklarujesz zmienne, ale z nich nie korzystasz. Og?lnie bardzo du?o b??d?w.
 
Odp: Upgrade Stone

Kod:
[17/02/2010 20:54:32] [Error - Action Interface] 
[17/02/2010 20:54:32] data/actions/scripts/upgstone_atk.lua:onUse
[17/02/2010 20:54:32] Description: 
[17/02/2010 20:54:32] data/actions/scripts/upgstone_atk.lua:8: attempt to perform arithmetic on field 'atk' (a nil value)
[17/02/2010 20:54:32] stack traceback:
[17/02/2010 20:54:32] 	data/actions/scripts/upgstone_atk.lua:8: in function <data/actions/scripts/upgstone_atk.lua:1>


moze cos robie zle albo mam zly silnik. a mialo byc tak pieknie.
 
Odp: Upgrade Stone

Podoba mi si? ten skrypt, nie powiem ?e si? nie przyda? ;d
Dzieki wielkie, i wi?cej takich ;)
 
Odp: Upgrade Stone

Wszystko fajnie, tylko mo?na co? zrobi?, aby jeden kamie?/przedmiot wykonywa? wszystkie czynno?ci?...
Chodzi mi o to, ?eby mia? funkcj? ulepszania ataku/obrony broni i obrony eq (he?mu, zbroi, nogawic?w i but?w)
 
Odp: Upgrade Stone

Tak czy siak mi nie dziala pod 0.3.6pl1.
errorvv.png
 
Odp: Upgrade Stone

Zrobilem wszystko co podales .... ale pokazal sie blad ... wie ktos jak go naprawic?

baldp.jpg
 
Odp: Upgrade Stone

Mi dzia?a, napewno si? przyda
 
Odp: Upgrade Stone

Na otland podobny skrypt tylko troch? bardziej rozbudowany istnieje ju? od ponad miesi?ca, niestety nie otrzyma?em pozwolenia na rozpowszechnianie go na te forum.(prawa autorskie przede wszystkim).
I faktycznie troch? za du?o skrypt?w, mo?na to by by?o wrzuci? do jednego pliku ale i tak nie?le. Jeste? pierwsz? osob? kt?ra zrobi?a w pe?ni dzia?aj?cy taki system(i udost?pni?a go za darmo).
 
Odp: Upgrade Stone

ten skrypt na tfs 8.54 nie dziala, jak zrobilem 50% na ulepszenie jak mialo sie powiesc "you cannont use this object" a jak mialo sie nie powiesc to bylo "Nie powiodlo sie, sprobuj ponownie!" skrypt nie dziala, nie polecam.
 
Odp: Upgrade Stone

hmm fajny skrypt sprawdze na swoim ots i zobaczymy xdd
 
Odp: Upgrade Stone

Skrypt Fajny, dzia?a mi na "tyller Yourots 0.6.5" ale jeszcze mog?e? zrobi? ?e trzeba wej?? w items.xml i zmieni? nazw? tych 4 items 8/10 za to ?e nie ma zmienionych nazw items ;]
 
Odp: Upgrade Stone

Ja jak uzyje tego Ulepszacza na ARM To czasem pisze not cannot used object czy cos i w silniku taki blad

[Error - Action Interface]
[18/09/2010 21:56:04] data/actions/scripts/upgstone_arm.lua:onUse
[18/09/2010 21:56:04] Description:
[18/09/2010 21:56:04] data/actions/scripts/upgstone_arm.lua:8: attempt to perform arithmetic on field 'arm' (a nil value)
[18/09/2010 21:56:04] stack traceback:
[18/09/2010 21:56:04] data/actions/scripts/upgstone_arm.lua:8: in function <data/actions/scripts/upgstone_arm.lua:1>


A czasem normalnie wchodzi i pisze ze nie udalo czy cos ? co sie dzieje
 
Odp: Upgrade Stone

skrypt ?wietny, taki fajny klimat daje:P
Ja go u siebie dodam, i wstawie na sms shop :D
 
Odp: Upgrade Stone

A elf CHodzi pod windows 7
___________$$$$$$$$$$$$$$$$$$$$$$$
________$$$$___$$$$$$$$$$$$$$$___$$$
______$$$$______$$$$$$$$$$$$______$$$$
____$$$$$________$$$$$$$$$$________$$$$
___$$$$$__________$$$$$$$$___________$$$$
__$$$$$____________$$$$$$____________$$$$$
_$$$$$$____________$$$$$$$____________$$$$$
_$$$$$$___________$$$$$$$$$___________$$$$$$
_$$$$$$$_________$$$_$$$_$$$_________$$$$$$$
_$$$$$$$$______$$$$___$___$$$$_______$$$$$$$$
_$$$$$$$$$$$$$$$$$___$$$____$$$$$$$$$$$$$$$$$
_$$$_$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$__$$$
_$$$__$$$$$$$_____ Number One ___$$$$$$____$$$
__$$$__$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_____$$$
___$$$______$$$$$$$$$$$$$$$$$$__________$$$$
____$$$$____________$$'$$______________$$$$
_____$$$$$___________________________$$$$
_______$$$$$$______________________$$$$
__________$$$$$___________________$$$$
____________$$$$o$o$o$o$o$o$o$o$$$$'
_______________$$$$$$$$$$$$$$$$$$$
 
Odp: Upgrade Stone

Dobre, dobre, ale mo?e jeszcze jaki? limit? Bo go nie zauwa?y?em w source skrypta. Jakby tak nie patrze? to jak kto? ma bro? z np Ferumbrasa 60 ataku to inny mo?e zrobi? sobie mace z 90 ataku. Daj limit np. 10x u?y? przedmiotu na 1 rzeczy i z g?owy. ^^

B?dzie klimat RPG, bo kto? zrobi mace +10 atak i zamiast rezygnowa? z innych broni tylko dodawa? do jednej b?dzie szuka? np jakiego? "agza" byle tylko mie? o 2 ataku wi?cej ni? kumpel ^^ Rywalizacja nie tylko w poziomie postaci to dobre urozmaicenie na otsy ^^
 
Odp: Upgrade Stone

SUPER SKRYPT, Dzi?kuje Bardzo za niego, Masz Reputa :) Pi?knie wygl?da w praktyce oraz masz ?adnie wszystko opisane, Dzi?kuje :)

10/10 za ten piekny skrypt...

Zastosuje go na swoim OTS
 
Status
Zamknięty.
Back
Do góry