exp ring [TFS]

Status
Zamknięty.

YoS

Advanced User
Zarejestrowany
Dołączył
Sierpień 29, 2008
Posty
410
Liczba reakcji
29
Witam!
Prosze "pro" skrypterow o nie pastwienie sie nade mna odnosnie "wielkosci" skryptu gdyz sie dopiero UCZE!
Widzialem exp ring ale mi nie dzial wiec postanowilem zrobic swoj exp ring :>
oto owoc mojej pracy.
movements/scripts/exp ring.lua
Kod:
--By Kalan/YoS!--
local Inforate = getConfigInfo('rateExperience')
local lvlmin = 70 --lvl minimum by uzyc
local lvlmax = 400 --lvl max by uzyc
local exprate = 1.7 --jak ma zmieniac exp rate... 1.2 = exprate z configu + 20%
local newrate = exprate*Inforate
local effect = math.random(27, 32)


function onEquip(cid, item, slot) 

playerlvl = getPlayerLevel(cid)
playerpos = getPlayerPosition(cid)

if playerlvl >= lvlmin then
		if playerlvl <= lvlmax then
			doPlayerSetExperienceRate(cid, exprate)
			doPlayerSendTextMessage(cid,22,"Your Exp Stage is Bigger(rate: "..newrate..")!")
			doSendMagicEffect(playerpos, effect)
		else
			doPlayerSendTextMessage(cid,22,"Your lvl is too big!")
		end
else
	doPlayerSendTextMessage(cid,22,"Your lvl is too low!")
	end
return true
end

function onDeEquip(cid, item, slot)

if playerlvl >= lvlmin then
	doPlayerSetExperienceRate(cid, normal)
	doPlayerSendTextMessage(cid,22,"Your exp rate now is normal(rate: "..getConfigInfo('rateExperience')..")!")
	doSendMagicEffect(playerpos, effect)
end
return true
end
teraz uzasadnie dlaczego dalem min i max lv otoz ja np na moim ots nie chcialbym zeby gracz z +400lv mogl go uzywac tak samo nie chcialbym zeby 30 lv go mialy wiec ustawilem 70-400 bardzo latwo to zmienic :)
ss:

spore ograniczenie skryptu:
nie moze byc stages :( wiem ze istnieje "getExperienceStage(lvl)" ale nie dziala pod 8.54 (albo ja zle uzywam :<) tak wiec jesli ktos wie jak to zrobic prosze napisac! ofc bedzie rep za to;)

@edit poprawilem:)
@down
niestety nie bede szukal tych funkcji.. nie znam sie na skryptowaniu tak jak Ty. Jesli chcesz daj tu skrypt dam Ci repa i po sprawie..
 
Odp: exp ring [TFS]

Hmm, to to ja sie pierwszy pokusze na ocenienie twojej pracy. Jakie bledy:
- "local normalrate = normal*normalrate" czemu mnozysz to przez 1. Bezsens
- jesli chodzi o ta funkcje co pytasz to pogrzeb w google; znajdziesz inne skrypty, ktore korzystaja z tej funkcji

Jak poprawisz swoj skrypt to ja wrzuce swoj i zobaczymy co i jak :p
 
Odp: exp ring [TFS]

Nie dzia?a... Ani troch?.
Polecam:
Testowany na TFS 0.3.6, ale pewnie dzia?a te? na starszych...
Kod:
-- by Dragonas
local rate = 1 + (procent / 100)
local procent = 20 -- o ile wiekszy ma byc exp w %
function onEquip(cid, item, slot) 
    if(item.itemid ~= 7697) then     
    	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.") 
    	doPlayerSetExperienceRate(cid, rate) 
    	doTransformItem(item.uid, 7708 ) 
    	return true
    end  
    return true
end  
function onDeEquip(cid, item, slot) 
    if(item.itemid ~= 7708 ) then 
        return true
    end   
    doPlayerSetExperienceRate(cid, 1.0) 
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your extra experience rate has ended.") 
    doTransformItem(item.uid, 7697) 
    return true
end
movements.xml:
Kod:
	<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>
	<movevent type="Equip" itemid="7708" slot="ring" event="script" value="exp_ring.lua"/>
    	<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="exp_ring.lua"/>
items.xml:
Kod:
<!-- Exp Ring-->
<!-- ON -->
   <item id="7708" article="a" name="Experience ring">
        <attribute key="weight" value="80"/>
        <attribute key="slotType" value="ring"/>
        <attribute key="decayTo" value="0"/>
        <attribute key="duration" value="480"/>
        <attribute key="showduration" value="1"/>
	</item>
    <!-- OFF -->
    <item id="7697" article="an" name="experience ring">
        <attribute key="weight" value="80"/>
        <attribute key="slotType" value="ring"/>
		<attribute key="transformEquipTo" value="7708"/>
        <attribute key="stopduration" value="1"/>
        <attribute key="showduration" value="1"/>
    </item>
Je?li chcesz, ale nie musisz to mo?esz mi da? reputka, bo w ch nie znalaz?em innego dzia?aj?cego i ty by? pewnie innego te? nie znalaz? i dlatego napisa?em go sam. Dzia?a 100% xDD
Pozdrawiam, Dragonas
 
Ostatnio edytowane przez moderatora:
Odp: exp ring [TFS]

Nie dzia?a... Ani troch?.
Polecam:
Testowany na TFS 0.3.6, ale pewnie dzia?a te? na starszych...

Je?li chcesz, ale nie musisz to mo?esz mi da? reputka, bo w ch nie znalaz?em innego dzia?aj?cego i ty by? pewnie innego te? nie znalaz? i dlatego napisa?em go sam. Dzia?a 100% xDD
Pozdrawiam, Dragonas

Denerwuj? mnie tacy ludzie jak Ty... Nie sprawdzi?e? tego i twierdzisz ?e nie dzia?a... :curse:

###Topic
Przetestowa?em skrypt YoS'a i mog? zapewni? ?e na TFS 0.3.5 i 0.3.6 dzia?a bez zarzutu.
Skrypt og?lnie pomys?owy, ale pomys? ju? wykorzystany, zarazem YoS doda? nowe zale?no?ci, wi?c moja ocena to 10/10.

Nie wiem czemu ale skrypt YoSa mi tak?e nie dzia?a?... zabrak?o w nim ?e po zdj?ciu ringa ma zmieni? si? ?eby czas nie lecia?.

W tej sytuacji musz? si? z Tob? zgodzi?. Dobrze by by?o jak by?by na czas. ; ) A YoS si? tym zajmie...

Pozdrawiam,
Sassin
 
Odp: exp ring [TFS]

Denerwuj? mnie tacy ludzie jak Ty... Nie sprawdzi?e? tego i twierdzisz ?e nie dzia?a... :curse:
###Topic
Przetestowa?em skrypt YoS'a i mog? zapewni? ?e na TFS 0.3.5 i 0.3.6 dzia?a bez zarzutu.
Skrypt og?lnie pomys?owy, ale pomys? ju? wykorzystany, zarazem YoS doda? nowe zale?no?ci, wi?c moja ocena to 10/10.
Pozdrawiam,
Sassin


Nie wiem czemu ale skrypt YoSa mi tak?e nie dzia?a?... zabrak?o w nim ?e po zdj?ciu ringa ma zmieni? si? ?eby czas nie lecia?.
 
Odp: exp ring [TFS]

niestety musze Was poinformowac ze moj skrypt dziala na tibii 8.54 moze uzywacie innego protokolu? nie wiem mi dziala nawet ss jest co dowodzi ze dziala!

@up
on nie jest na czas! on jest na zawsze... > <


@topic
Reflesh prosze o oceny - przyda sie Wam raczej nie?;o
 
Status
Zamknięty.
Back
Do góry