• 01-04.05.2026 - DOUBLE EXP / SKILL EVENT!

Change Items

Status
Zamknięty.

God Jako

Banned
Zbanowany
Dołączył
Styczeń 25, 2011
Posty
83
Liczba reakcji
6
Wiek
27
Witam dzi? dla was napisa?em kolejnego skrypta!
Czas si? wzi?? do roboty!
Punkty
1 - Om?wienie
2 - Zastosowanie
3 - Instalacja
*Punkt 1 (Om?wienie)
Skrypt polega na tym ?e gdy masz 100 poziom i 100cc i klikniesz na Oli Lamp dostajesz Golden Helmet!
ID Oli Lamp:2344
Ma?y SS:
f470fe8bdae2cc8a.jpg

*Punkt 2 (Zastosowanie)
Najlepiej to si? stosuje na questach z map? RPG Bo ci??ko zarobi? 100cc a Golden Helmet to rar item:]
*Punkt 3 (Instalacja)
Otwieramy foldery:OTS/data/actions/actions.xml < - - (Otwieramy jako notatnik)
I wklejamy to:
<action itemid="2344" event="script" value="change.lua"/>
I zapisujemy. Teraz w?azimy w folder script tworzymy plik change.lua
i wklejamy tam to:
--[[
Script by God Jako
--]]
function onUse(cid, item, fromPosition, fromEx, toPosition)
local cena = 1000000
if item.itemid == 2344 then
if doPlayerRemoveMoney(cid, cena) == TRUE then
getPlayerLevel(cid, 100)
doPlayerAddItem(cid, 2471, 1)
doSendMagicEffect(getPlayerPosition(cid), 49)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations you replace oli lamps on golden helmet it cost you "..cena.." gold.")
doSendAnimatedText(getPlayerPosition(cid), "Change!", TEXTCOLOR_ORANGE)
doRemoveItem(item.uid)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "I'm sorry you're too small or do not have the level of "..cena.." gold.")
doSendMagicEffect(getPlayerPosition(cid), 2)
end
end
end
Gdy to zrobili?my dajemy zapisz i odpalamy ponownie serwer!
Skrypt testowany na TFS 0.4
Pozdrawiam
God Jako~~
 
Odp: Change Items

1. Skrypt umieszczaj w bbcode
Kod:
 lub [php].
2. Bardzo wa?ne przy tworzeniu i publikowaniu skrypt?w/kod?w jest to by? wbi? sobie do g?owy, ?e musisz zastosowa? tabulacj?. Kod stanie si? czytelniejszy.
3. Nie potrzebny warunek: [code]if item.itemid == 2344 then
regulujesz to za pomoc? wpisu w actions.xml
4.
Kod:
local cena = 1000000
Przenie? nad funkcje.
5*.
Kod:
doPlayerAddItem(cid, 2471, 1)
zmie? na
Kod:
doPlayerAddItem(cid, 2471, 1, true)
(item mo?e wypa?? na map?, je?eli gracz nie ma miejsca/capa)
6. Co robi tutaj robi sama funkcja
Kod:
getPlayerLevel(cid, 100)
? Powinno by?
Kod:
if(getPlayerLevel(cid) >= 100) then
;)
7. Przed ostatnim endem dodaj return true.
8.
Kod:
doSendMagicEffect(getPlayerPosition(cid), 2)
Zamiast cyfry staraj si? podawa? nazw? (np. CONST_ME_POFF). Wiem, ?e si? czepiam ale wszystko staj? o wiele bardziej czytelne ;)
9.
Gdy to zrobili?my dajemy zapisz i odpalamy ponownie serwer!
/reload actions >.<
10. Szczerze m?wi?c nie ma sensu tworzenia zmiennej (cena), kt?rej tylko raz u?ywasz (niby pomaga w konfiguracji, ale dla mnie zb?dne). Zamiast takich zmiennych zr?b tablic? z ca?ym configiem.
11. Je?eli skrypt piszesz w j?zyku angielskim staraj si? wszystko w nim pisa? (nazwy zmiennych, komentarze itp).
 
Odp: Change Items

Ta, po za tym funkcje getPlayerPosition() jest przestarza?a ;)
9.
Cytat:
Gdy to zrobili?my dajemy zapisz i odpalamy ponownie serwer!
/reload actions >.<
A jak nie mam w??czonego silnika? ^^

Do autora tematu, r?b co? w tym stylu:
Kod:
--[[
	*Script by God Jako
	*Small fixes by Animax ;)
	]]
	
local config = {
	money = 1000000,
	mustLevel = 100,
	failEffect = 2,
	okyEffect = 49,
	itemRemove = true,
	addItem = 2471,
	addItemCount = 1
}
function onUse(cid, item, fromPosition, fromEx, toPosition)

	if(not doPlayerRemoveMoney(cid, config.money)) then -- if player don't have money
		return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "I'm sorry you're too small or do not have the level of "..config.money.." gold.") and doSendMagicEffect(getCreaturePosition(cid), config.failEffect)
	end
	
	if(getPlayerLevel(cid) < config.mustLevel) then -- if player don't have level
		return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You must "..config.mustLevel.." level.") and doSendMagicEffect(getCreaturePosition(cid), config.failEffect)
	end
	if(not doPlayerAddItem(cid, config.addItem, config.addItemCount)) then
		return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You don't have cap or slot.") and doSendMagicEffect(getCreaturePosition(cid), config.failEffect)
	end
	
	if(config.itemRemove) then doRemoveItem(item.uid) end -- remove item ;)
	return doSendMagicEffect(getCreaturePosition(cid), config.okyEffect) and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations you replace oli lamps on golden helmet it cost you "..config.money.." gold.") and doSendAnimatedText(getCreaturePosition(cid), "Change!", TEXTCOLOR_ORANGE)
end
 
Odp: Change Items

Xemorin napisał:
Przenie? nad funkcje.
Nad funkcje? Pojeba?o? Drogi profesjonalisto, zawsze, wszystko umieszcza si? pod funkcj?. -,-
Ja bym ca?y ten skrypt napisa? w ten spos?b:
PHP:
--[[
Script by God Jako
Edited by Elff
]]
function onUse(cid, item, fromPosition, fromEx, toPosition)
  local cena = 1000000
  
   if item.itemid == 2344 and (getPlayerLevel(cid) >= 100) then
      doPlayerRemoveMoney(cid, cena)
      doPlayerAddItem(cid, 2471, 1, true)
      doSendMagicEffect(getPlayerPosition(cid), 49)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Congratulations! You have replaced oli lamps for golden helmet and it cost you "..cena.." gold.")
      doSendAnimatedText(getPlayerPosition(cid), "Change!", TEXTCOLOR_ORANGE)
        
		else
         doPlayerSendCancel(cid,"I'm sorry but you haven't reached level 100 yet and you don't have "..cena.." gold.")
         doSendMagicEffect(getPlayerPosition(cid), 2)
     end
	 return true
end
Czytelniej? Czytelniej.

Pozdrawiam.
 
Odp: Change Items

Ot?? prawie-profesjonalisto zadowoli Ci? odpowied?: bullshit? Powiesz nam, na czym opierasz swe stwierdzenie, ?e wszystko musi by? pod deklaracj? funkcji?
Odpal sobie skrypt:
PHP:
local lokalna = 1000
globalna = 10
function onUse(cid, item, fromPosition, itemEx, toPosition)
local lokalna2 = 2000
globalna2 = 20
print (lokalna, globalna, lokalna2, globalna2)
return true
end
:< Nie wydaje Ci si? dziwne, ?e wi?kszo?? deklarowanych tablic (taki zbi?r zmiennych) deklarowany jest r?wnie? nad funkcj?? ;p
A jak nie mam w??czonego silnika? ^^
Ej, ale w poradniku nie by?o nic o wy??czeniu silnika ;p
 
Ostatnia edycja:
Odp: Change Items

:< Nie wydaje Ci si? dziwne, ?e wi?kszo?? deklarowanych tablic (taki zbi?r zmiennych) deklarowany jest r?wnie? nad funkcj?? ;p
Widzia?em i owszem, skrypt je?li jest dobrze napisany, b?dzie dzia?a?, ale ka?de zmienne powinno si? umieszcza? pod funkcj?. Nie tylko wygl?da to estetyczniej, ale jest tak?e bardziej czytelne.

@down
1. Ekhm... ; d
Wiem, ?e jest to tutaj:
PHP:
<action itemid="2344" event="script" value="change.lua"/>
ale autor tego tematu, napisa? skrypt w inny spos?b, a ja mu tylko pokaza?em jak to mo?e wygl?da?.

2. Por?wnaj nasze skrypty, jest jeden na pokaz - styka
No mi nie styka, bo jeden, jest zajebi?cie d?u?szy od mojej wersji i dwa, nie potrzebnie zasypany tablic?. Nie zawsze d?u?szy skrypt jest lepszy kolego, powiniene? to wiedzie? skoro ja, gorszy od Ciebie posiada takowe informacje. :)

4. Jak dajemy jaki? config, to lepiej da? go za event, czemu? Bo potem nie u?yjesz zmiennej w pisaniu jakiej? funkcji
Tylko, ?e autor tematu ?adnego configu do swojego skryptu nie doda?... -,-

5. onUse to event a nie funkcja ^.^
Nie bez powodu zaczyna jest to "function onUse".

Co do mojego skryptu - napisa?em go w taki spos?b, ?eby autor tematu go zrozumia?. R?wnie dobrze m?g?bym doda? config tak jak ty i autor by niczego z tego nie poj??, a obs?uga tablic, p?tli itp. przychodzi sama z czasem.

To by by?o na tyle. :)
 
Ostatnia edycja:
Odp: Change Items

xElf napisał:
item.itemid == 2344
1. Ekhm... ; d

2. Por?wnaj nasze skrypty, jest jeden na pokaz - styka
wink.gif

3. Nie spinaj tak, nie jeste? elfem ^.^
4. Jak dajemy jaki? config, to lepiej da? go za event, czemu? Bo potem nie u?yjesz zmiennej w pisaniu jakiej? funkcji
wink.gif

5. onUse to event a nie funkcja ^.^

Widzia?em i owszem, skrypt je?li jest dobrze napisany, b?dzie dzia?a?, ale ka?de zmienne powinno si? umieszcza? pod funkcj?. Nie tylko wygl?da to estetyczniej, ale jest tak?e bardziej czytelne.

Nie jest estetyczniejsze, sp?jrz na m?j skrypt ^.^ Tablica nad eventem ;) I wcale nie powinno, wr?cz odwrotnie ;)


To by by?o, na tyle,
Animax.
 
Ostatnia edycja:
Odp: Change Items

ja pierdole zamknijcie sie i idzcie do przedszkola albo za?atwcie to na pw -.- to jest temat do oceniania skryptu pocz?tkuj?cego a nie do wyra?ania swoich idiotycznych przekona?...

@topic
co do skryptu to troche malo praktyczny... nie lepiej zrobic skrzynke questow? kt?ra daje reward tylko jesli zaplacisz 100cc? ;d poza tym brakuje tabulencji a lokalne ktore nie korzystaja z parometr?w eventu (jak cid, itemid etc.) lepiej jest uzywac nad funkcj?.
 
Ostatnia edycja:
Odp: Change Items

Skrypt przydatny tak jak powiedzia?e? do serwer?w RPG, na questa. Mo?na sobie oczywi?cie dopasowa? ilo?? wymaganego CC, do w?asnych wymaga?, ale to piku?.
Tak wi?c, dzi?ki ci za tego skrypta. Wielki plus dla ciebie.

@2up Tak jak powiedzia? kolega, Dubler to jest temat do oceniania skryptu, a nie do sprzeczek, k??tni itp.

Wiadomo?? kt?r? wpisa?e? jest za kr?tka. Prosz? wyd?u?y? swoj? wypowied? do przynajmniej 1 znak?w.
 
Odp: Change Items

Nawet cz?onek Teamu TNP jest tak *inny* by si? w takie k??tnie do??cza? .... ahh brak s??w

Skrypt fajny ?ycz? by? robi? mn?stwo nowych i wspania?ych skrypt?w ;p
 
Status
Zamknięty.
Back
Do góry