• 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!

Skrypt-dzwignie

sariaan

teKoa, mapper
Joined
Feb 17, 2009
Messages
43
Reaction score
1
Location
Poland/Wroclaw
Tak, wiem jest dział request~ czy coś w tym stylu no ale wole tutaj xd.
Więc mam prośbę do osób, które znają się troche na skryptowaniu.. Mianowicie potrzebuje skrypt na dźwignie, no więc;
kiedy użyje się dźwigni z danym actionID, to profesja się zmienia(bez różnicy jaka profesja(bo i tak będą specjalne drzwi aby weszła dana profesja)) na dany ID (przykładowo 12 - (chce dużo profesji)) + żeby zmieniało level, temu kto użył dźwigni na 1lv (100exp~) Czyli tak;
Podchodzę do drzwi levelowych - przechodze przez nie, następnie przez drzwi dla danej profesji (<-- to sobie sam zrobie) i widzę przed sobą 4 dźwignie - ciągnę jedną i moja profesja się zmienia na ID 12 oraz na 1lv.. Kiedy próbuje ciągnąć kolejną, to wyświetla się napis, przykładowo 'juz posiadasz profesje specjalna' i można to zrobić tylko raz na postaci. -- Wiem, skrypt dosyć trudny, no ale sam bym go nie zrobił..
Czekam na jakieś odpowiedzi. I żeby nie były to odpowiedzi typu; Nikt ci nie zrobi takiego skryptu/ile płacisz..
 
Tak, wiem jest dział request~ czy coś w tym stylu no ale wole tutaj xd.
Pomógł bym gdybyś powiedział wprost, że kaleczysz angielski :peace:.

#topic
Actions>[item]actionID>onUse>
[forgottenserver] Contents of /tags/0.3.6/doc/LUA_FUNCTIONS
set(Character/Player)Storage (szukać, nie pamiętam nazw funkcji)
set...Level/Exp

Do tego kilka ifów.

Zapamiętaj:
Tutaj nie dajemy gotowych odpowiedzi (z reguły), tylko naprowadzamy.
 
Mam coś w stylu;

--- skrypt
function onUse(cid, item, frompos, item2, topos)
if item.uid == 9998 then
doPlayerSetVocation(cid, 12)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "costam")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE)
else
return 0
end
return 1
end

Lecz nie jestem skrypterem i zbytnio nie wiem jak dodać do tego, to że zmienia lvl na 1 i nie można użyć już innych dzwigni.. xd (no tak mało kumaty jestem)
 
@up
Jak już zacząłeś to skończe :).

Code:
function onUse(cid, item, frompos, item2, topos)
		if item.uid == 9998 and getPlayerStorageValue(cid, 2222) < 1 then
			doPlayerSetVocation(cid, 12)
			setPlayerStorageValue(cid, 2222, 1)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "costam")
			doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE)
		else
			return FALSE
		end
	return TRUE
end

setPlayerLevel nie znalazłem, jest doAddPlayerLevel, można zrobić coś takiego:
Code:
doPlayerAddLevel(cid, -1*(getPlayerLevel(cid)-1))
Tylko nie doczytywałem się odnośnie 3go argumentu doPlayerAddLevel i dokładnie jak ta funkcja działa. Trzeba by pokombinować...

Nie wiem także jak jest z exp'em gracza, czy się odejmie. Jak mówię trzeba potestować :).
 
Dobra, później się z tym pobawie to może coś pójdzie.. A jeszcze mam jedno pytanie; Można zmienić exp rate jakiejś wybranej profesji? Znaczy raczej można, bo zrobił tak Elf w Wypas Otsie, tylko ja nie mam pojęcia jak xd

A, i wielkie dzięki za pomoc ;d
 
A, ostatnie pyt. jak zmienić, aby po tym użyciu dżwigni dawało maxhealth i maxmana na 185 health i 35 mana? Jeżeli się da.. bo tak pozostaje wszystko i po prostu głupio to wygląda : | (A, i jak dać żeby dawało 8lv? bo jak wpisuje 8 zamiast 1 to nadal daje 1)

Bo jak narazie to wygląda tak;
wmf6so.png

(napis będzie zmieniony - i żeby nie było głupich komentarzy ;s)
 
Last edited:
[forgottenserver] Contents of /tags/0.3.6/doc/LUA_FUNCTIONS

* setCreatureMaxHealth
* setCreatureMaxMana

Code:
doPlayerAddLevel(cid, -1*(getPlayerLevel(cid)-1))
Jak to zadziałało to super, bo pisałem "na poczekaniu" :).

Code:
doPlayerAddLevel(cid, -1*(getPlayerLevel(cid)-[B]X[/B]))
X - Level do jakiego ma downgrade-ować :) (od 1, czyli jak dasz 5 to da 5lvl, jak dasz 10 to da 10lv itd.).

#edit
Ile placisz?
Zdzisieq, jeżeli ktoś wypowiada się z kulturą i nie "żąda" to myślę, że można mu pomóc ;).

#Topic:
I żeby nie były to odpowiedzi typu; Nikt ci nie zrobi takiego skryptu/ile płacisz..
 
Cześć! korzystając, że jest temat związany z tym czymś to mam dwa pytania; jak można dodać w skrypcie na dole jeszcze jedną możliwość 'promocji' czyli jest promote i epic. Bo jak próbowałem to zmienić to był problem ze znakiem '[' i skrypt nie działał. :|

A drugie to, czy można zrobić tak; kiedy wykupuje promocję u npc, to dostaje promocje i odrazu nasz poziom zmienia się w 8 i 185hp / 35mp? Nie wiem czy to można zrobić w skrypcie promote, ale wiem że jakoś się da.

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())

Help? ;d
 
Oczywiscie, ze sie da.
Jak przeczytales wszytskie posty w tym temacie, to powinienies wiedziec jak, poniewaz npc nie wiele rozni sie od actions.
A jesli dalej nie wiesz jak to dziekujemy juz panu.
 
Ehh, czyli jak nie znam sie na skryptach to nie moge spytać na forum? =.= Gdybym potrafił coś takiego zrobić to napewno nie napisałbym tamtego posta. Jeżeli mam wstawić funkcje lua w skrypcie npc to jak to zrobić? I na to pierwsze pytanie nadal poszukuje odpowiedzi od osób, które chcą coś pomóc a nie się wymądrzać czy coś
 
Back
Top