• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

M?j pierwszy skrypt !!!

Status
Zamknięty.
Odp: M?j pierwszy skrypt !!!

kowol napisał:
getPlayerLevel(cid, xx)
Pro elo skrypter? ;x Od kiedy do funkcji, kt?ra pobiera jak?? level potrzeba drugiego warunku?Dlaczego chcesz da? doPlayerRemoveItem pomi?dzy if/then? Bug? Je?li dobrze napiszesz skrypt, nie ma mowy o b??dzie. Oczywi?cie s? wyj?tki.

mini skrypt by me
Kod:
function onUse(cid,item,frompos,item2,topos)
local items = {1212,1313,1414}-- itemy, ktore dostaniemy po kliknieci u 
local count = {1,2,3,}  --ilosc itemow, jakie dostaniemy (dla id 1212 wynosi 1, dla 1313 wynosi 2 itp
local exp = 0 --ile dostaniemy expu
local hp = 100
local mana = 100
for i = 1, #items do
doPlayerAddItem(cid,items[i],count[i])
end
doPlayerAddHealth(cid,hp)
doPlayerAddMana(cid,mana)
doPlayerAddExp(cid,exp)
doRemoveItem(item.uid)
end
;>
 
Odp: M?j pierwszy skrypt !!!

A wiec tak:
getPlayerLevel(cid, xx) - funkcja ta pobiera lvl gracza, funkcja ktora go dodaje wyglada tak: doPlayerAddExp(cid, exp).
Nastepny blad jest taki ze skrypt mozna zbugowac, musisz zmienic doRemoveItem(item.uid,1) na if doPlayerRemoveItem(cid, item.uid, 1) == TRUE then
Jesli wykonasz ta operacje musisz na koncu dodac jescze jedna "end"
doPlayerAddHealth(cid,-100)
A wiec poprawny skypt wzglada tak:
Kod:
function onUse(cid, item, frompos, item2, topos)
local ile_expa = 10000 - ile expa ma dac
local mp = 100 - ile ma dac many
local hp = 100 - ile ma dac h
local item1 = 1111 - id itemu ktory dostaniemy
local item2 = 1111 - id itemu ktory dostaniemy
if doPlayerRemoveItem(cid, item.uid, 1) == TRUE then
doPlayerAddExp(cid, ile_expa)
doPlayerAddMana(cid,mp)
doPlayerAddHealth(cid,hp)
doPlayerAddItem(cid,item1,1)
doPlayerAddItem(cid,item2,1)
doSendMagicEffect(getPlayerPosition(cid),18)
doSendAnimatedText(getPlayerPosition(cid),"Uzyles przedmiotu,dodalo ci hp,mane, lvle i mlvle. Gratulacje !!!",TEXTCOLOR_RED)
end
end

I skrypt nie bedzie dzialac, poniewaz komentarze sie poprzedza dwoma myslnikami. Teraz sewer bedzie probowal wykonac dzialanie matematyczne (1111 - id itemu ktory dostaniemy).

Poprawny skrypt wiec wyglada tak (wprowadzilem pewne modyfikacje ofc. :D)
Kod:
function onUse(cid, item, frompos, item2, topos)
local experience = 10000 -- ile expa ma dac
local mana = 100 -- ile ma dac many
local health = 100 -- ile ma dac h
local item = 2160 -- id itemu ktory dostaniemy
if doPlayerRemoveItem(cid, item.uid, 1) == TRUE then
	doPlayerAddExp(cid, experience)
	doPlayerAddMana(cid, mana)
	doPlayerAddHealth(cid, health)
	doPlayerAddItem(cid, item, 1)
	doSendMagicEffect(fromPosition, 18)
	doSendAnimatedText(fromPosition, "Uzyles przedmiotu, dodalo Ci ' .. health .. ' zycia , ' .. mana .. ' many oraz ' .. experience .. ' punktow doswiadczenia.", MESSAGE_INFO_DESCR)
end
end
 
Odp: M?j pierwszy skrypt !!!

skrypt jak na pierwszy raz dobry ale z malymi bledami ale widac ze sam robiles :) dobze zaczynasz tylko z tym lvl i mlvl przesadziles bo to jest nie potrzebne do tibi lvle to sie na expie wbija.
 
Odp: M?j pierwszy skrypt !!!

Skrypt w porz?dku przyda si? na wielu OTS
 
Ostatnia edycja:
Odp: M?j pierwszy skrypt !!!

No jak na tw?j pierwszy skrypt to jest dobre gz :)
 
Odp: M?j pierwszy skrypt !!!

Nie lepiej by wygl?da? skrypt w ten spos?b?
Kod:
local config = {
storage = 997, 
storageval = 1, 
mana = xxx, 
health = xxx, 
effect = 20, 
color = 22
}
local items = {
jeden = xxx, 
dwa = xxx,
iloscjeden = xxx
iloscdwa = xxx
}
local text = {dobry = "Uzyles przedmiotu,dodalo ci hp,mane, lvle i mlvle. Gratulacje !!!"}
function onUse(cid, item, frompos, item2, topos)
if getPlayerLevel(cid) >= config.level then
		doPlayerAddMana(cid, config.mana)
		doPlayerAddHealth(cid, config.heal)
		doPlayerAddItem(cid, items.jeden,items.iloscjeden)
		doPlayerAddItem(cid, items.dwa, items.iloscdwa)
			doRemoveItem(item.uid,1)
			doSendMagicEffect(fromPosition, config.Effect)
			doPlayerSendTextMessage(cid, config.color, text.dobry)
end
end
 
Ostatnia edycja:
Status
Zamknięty.
Do góry