• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

mala zmiana w changegold.lua

experienced

Intermediate OT User
Joined
Jan 13, 2011
Messages
418
Reaction score
102
Location
Poland
hejka
mam tu podstawowy changegold i tak
Code:
local coins = {
	[ITEM_GOLD_COIN] = {
		to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
	},
	[ITEM_PLATINUM_COIN] = {
		from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
	},
	[ITEM_CRYSTAL_COIN] = {
		from = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_TEAL
	}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local coin = coins[item.itemid]
	if(not coin) then
		return FALSE
	end

	if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then
		doChangeTypeItem(item.uid, item.type - item.type)
		doPlayerAddItem(cid, coin.to, 1)
		doSendAnimatedText(fromPosition, "$$$", coins[coin.to].effect)
	elseif(coin.from ~= nil) then
		doChangeTypeItem(item.uid, item.type - 1)
		doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
		doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
	end
	return TRUE
end
chialbym aby zostaly wszystkie te funkcje tylko zeby niebieskich crystalek nie dalo sie juz zamieniac :p pewnie wiecie o co chodzi
jak zamienisz na niebieska to zeby tej niebieskiej juz sie nie dalo ruszyc :]
probowalem ale to jakies poplatane :\
 
usun to:
LUA:
,
	[ITEM_CRYSTAL_COIN] = {
		from = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_TEAL
 
ta jak zamieniam 100 siwych to sie zamienia owszem ale nie ma tego napisu $$ i bledy
[17/08/2011 13:28:56] data/actions/scripts/other/changegold.lua:20: attempt to index field '?' (a nil value)
[17/08/2011 13:28:56] stack traceback:
[17/08/2011 13:28:56] data/actions/scripts/other/changegold.lua:20: in function <data/actions/scripts/other/changegold.lua:11>
;/
 
Dlaczegóż tak Ci zależy na nierozmienianiu CC?
Stwórz sobie CONDITION_PARAM_EXHAUST na to i po sprawie.

 
PHP:
	if (item.itemid == ITEM_CRYSTAL_COIN) then		return true	end
Dodaj zaraz po zdefiniowaniu funkcji, to powinno rozwiązać twój problem.​
 
Palka sie przegla.
Dostajesz gotowca i sie jeszcze pytasz gdzie to wkleic?
moze Ci jeszcze podac linijke do actions?
No i nie zapomnij serva zrestartowac -.-
 
ludzie ludzie, męczycie

najprościej jest nic nie robić w skrypcie changegold

actions.xml

PHP:
	<!-- Change gold -->
	<action itemid="2148" event="script" value="other/changegold.lua"/>
	<action itemid="2152" event="script" value="other/changegold.lua"/>
	<action itemid="2160" event="script" value="other/changegold.lua"/>

na

PHP:
	<!-- Change gold -->
	<action itemid="2148" event="script" value="other/changegold.lua"/>
	<action itemid="2152" event="script" value="other/changegold.lua"/>


czy naprawdę trzeba było z tym iść na forum?

już nie mówiąc o tym, że koob ze swoim pomysłem usunięcia tych linijek w skrypcie pierdolnął jak dzik w sosne
 
Kazdy orze(pomaga) jak moze ;)
Scooty ja uwazam ze glupota bylo zapoczatkowanie tego tematu, bo to naprawde nie jest problem. Rozumiem error w wykorzystaniu funkcji blad jakies danej i tego typu pomoc. Koob uwazal ze takie rozwiazanie bedzie dobre i tak mu poradzil.
 
Palka sie przegla.
Dostajesz gotowca i sie jeszcze pytasz gdzie to wkleic?
moze Ci jeszcze podac linijke do actions?
No i nie zapomnij serva zrestartowac -.-

Chyba ci sie coś pojeb*** wystarczy samo /reload creaturescripts
 
na

PHP:
	<!-- Change gold -->
	<action itemid="2148" event="script" value="other/changegold.lua"/>
	<action itemid="2152" event="script" value="other/changegold.lua"/>

nie bo na

LUA:
    <!-- Change gold -->
    <action itemid="2148;2152" event="script" value="other/changegold.lua"/>

usunięcia tych linijek w skrypcie pierdolnął jak dzik w sosne

im krótszy kod tym lepszy, szczególnie ze autor tematu nie będzie już używał crystal coinsów.
 
Last edited:
Nie zawsze im krotszy kod tym lepszy ;(
Zgadzam się z Tobą, Moqill.
Długie kody 'miotają jak szatan', wystarczy dobra optymalizacja!


LUA:
local coins = {
	[ITEM_GOLD_COIN] = {
		to = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_YELLOW
	},
	[ITEM_PLATINUM_COIN] = {
		from = ITEM_GOLD_COIN, to = ITEM_CRYSTAL_COIN, effect = TEXTCOLOR_LIGHTBLUE
	},
	[ITEM_CRYSTAL_COIN] = {
		from = ITEM_PLATINUM_COIN, effect = TEXTCOLOR_TEAL
	}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local coin = coins[item.itemid]
	if(not coin) then
		return FALSE
	end

	if(coin.to ~= nil and item.type == ITEMCOUNT_MAX and coins.from ~= ITEM_CRYSTAL_COIN) then
		doChangeTypeItem(item.uid, item.type - item.type)
		doPlayerAddItem(cid, coin.to, 1)
		doSendAnimatedText(fromPosition, "$$$", coins[coin.to].effect)
	elseif(coin.from ~= nil) then
		doChangeTypeItem(item.uid, item.type - 1)
		doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX)
		doSendAnimatedText(fromPosition, "$$$", coins[coin.from].effect)
	end
	return TRUE
end

Sprawdź to(pisane na kolanie)!
 
Back
Top