Najłatwiejszym zadaniem dla nowego skryptera LUA będzie dodanie nowego, prostego zadania związanego z pokonaniem chordy krwiożerczych potworków i odnalezieniem skarbów w umieszczonym w specjalnym miejscu skrzyni.
Jest to bardzo proste, w tym celu wystarczy:
Przykładowy fragment pliku actions/chest.lua wygląda następująco:
Aby nasza skrzynka "wydawała" nagrodę trzeba dodać wpis do tablicy konfiguracyjnej "actions" w następuący sposób:
Parametry opisane są w komentarzach skryptu i wydaje mi się, że nie potrzebują dodatkowego opisu. Gracz po naciśnięciu na skrzynkę otrzyma przedmiot o id 3000 i nazwie "Nasz Przedmiot". Należy zapisać tak zedytowany plik.
Należy również zedytować plik lua/global.lua i wyszukać w nim fragment kodu "SV_CHEST". Tablica ta może być skonfigurowana następująco:
Musimy dodać do niej informacje o SV naszego nowego questu. W tym celu dopisujemy po ["QUEST_POI"] = 4006: ["NASZ_QUEST"] = 4007. Ostatecznie zmienna wygląda w ten sposób:
Zapisujemy plik i wgrywamy go na serwer razem z actions/chest.lua. Po tej czynności restartujemy serwer lub wpisujemy po zalogowaniu na postać Mistrz Gry: /reload actions. Zadanie jest gotowe do przetestowania przez pierwszego śmiałka.
Jest to bardzo proste, w tym celu wystarczy:
- Otworzyć edytor map (informacja o tym jak go skonfigurować znajduje się w tym temacie: KONFIGURACJA RME), importować naszą mapę, stworzyć interesującą nas lokacje i w jakimś trudno dostępnym miejscu, na samym jej końcu postawić skrzynkę,
- Skrzynka musi posiadać unikalny ActionID, którego nie posiada na naszej mapie żaden inny przedmiot. Powiedzmy, że u nas to jest 1000,
- Po utworzeniu nowej lokacji, po dodaniu nowej skrzynki, po określeniu unikalnego ActionID na który będzie reagował skrypt, wystarczy już tylko zedytować plik actions/chest.lua:
Przykładowy fragment pliku actions/chest.lua wygląda następująco:
PHP Code:
function onUse(cid, item, frompos, item2, topos)
local actions = {
{
_itemaid = 4000,
doSetSV = SV_CHEST["CHEST_ROPE"],
rewards = { {name = 'Rope', namepl= 'Lina', id = 2941, cout = 1}, },
}
end
Aby nasza skrzynka "wydawała" nagrodę trzeba dodać wpis do tablicy konfiguracyjnej "actions" w następuący sposób:
PHP Code:
function onUse(cid, item, frompos, item2, topos)
local actions = {
{
_itemaid = 4000,
doSetSV = SV_CHEST["CHEST_ROPE"],
rewards = { {name = 'Rope', namepl= 'Lina', id = 2941, cout = 1}, },
{
_itemaid = 1000, -- Nasz unikalny ActionID skrzynki
doSetSV = SV_CHEST["NASZ_QUEST"], -- Unikalny SV Zadania
rewards = { {name = 'Our Item', namepl= 'Nasz Przedmiot', id = 3000, cout = 1}, },
}
end
Parametry opisane są w komentarzach skryptu i wydaje mi się, że nie potrzebują dodatkowego opisu. Gracz po naciśnięciu na skrzynkę otrzyma przedmiot o id 3000 i nazwie "Nasz Przedmiot". Należy zapisać tak zedytowany plik.
Należy również zedytować plik lua/global.lua i wyszukać w nim fragment kodu "SV_CHEST". Tablica ta może być skonfigurowana następująco:
PHP Code:
SV_CHEST = {
-- Rezerwacja SV od 4000 do 5000
["CHEST_DFQ_REWARDS"] = 4000,
["CHEST_ANNIHILATOR_REWARDS"] = 4001,
["QUEST_DJINN"] = 4002,
["QUEST_BEHEMOT"] = 4003,
["QUEST_BK"] = 4004,
["QUEST_GS"] = 4005,
["QUEST_POI"] = 4006,
--(...)---
}
Musimy dodać do niej informacje o SV naszego nowego questu. W tym celu dopisujemy po ["QUEST_POI"] = 4006: ["NASZ_QUEST"] = 4007. Ostatecznie zmienna wygląda w ten sposób:
PHP Code:
SV_CHEST = {
-- Rezerwacja SV od 4000 do 5000
["CHEST_DFQ_REWARDS"] = 4000,
["CHEST_ANNIHILATOR_REWARDS"] = 4001,
["QUEST_DJINN"] = 4002,
["QUEST_BEHEMOT"] = 4003,
["QUEST_BK"] = 4004,
["QUEST_GS"] = 4005,
["QUEST_POI"] = 4006,
["NASZ_QUEST"] = 4007,
}
Zapisujemy plik i wgrywamy go na serwer razem z actions/chest.lua. Po tej czynności restartujemy serwer lub wpisujemy po zalogowaniu na postać Mistrz Gry: /reload actions. Zadanie jest gotowe do przetestowania przez pierwszego śmiałka.