Cze?? wszystkim! Z racji ?e pod prawie ka?dym Gamemode'm pojawia si? pytanie jak podpi?? MySQL, to wpad?em na pomys? ?e napisz? poradnik "dla zielonych" krok po kroku jak taki modu? podpi??.
1.Pobierz gamemoda kt?rego chcesz wgra? na sw?j serwer.
2. W gamemodzie powinna si? znajdowa? baza danych jak i DB2 i ogrpg-db
3. W swoich us?ugach np. ServerProject masz database, te dane kt?re znajduj? si? w database na hostingu musisz podmieni? je w DB2 i ogrpg-db!
4. Wchodzisz w phpmyadmin i wgrywasz t? baze danych kt?r? masz w gamemodzie (je?eli jej nie ma to mo?esz wzi?? j? z og czystego lub z its v1!
5. Po podmienieniu danych z MySQL zapisujesz i restartujesz skrypty DB2 i ogrpg-db!
My?l? ?e poradnik dla zielonych bardzo si? przyda?! Licz? na piwko
Poka?? Ci dzisiaj, jak napisa? taki prosty skrypt na nadawanie skina graczowi z odp. elementdat?, chodzi o to, ?e jak pobierze gracza z elementdat? "admin", to da mu skina o id 0. Poradnik jest przeznaczony dla pocz?tkuj?cych. Skrypt nie jest jako? zaawansowany, no ale my?l?, ?e si? przyda. [/center]
1. Tworzymy plik meta.xml, ?eby za?adowa? tam skrypt.
Dodajemy tam:
2. Nast?pnie tworzymy plik o nazwie takiej jak tam podali?my, jest to u mnie [u][color=red]PORADNIK[/color].lua[/u]
3. Teraz wchodzimy w ten plik, kt?ry ostatnio utworzyli?my... poradnik.lua
* Tworzymy tam funkcj? na przyk?ad o nazwie "daj",
i przypisujemy jej fragment o nazwie "p".
[lua]
function daj ( p )
[/lua]
* Teraz robimy zmienn? o nazwie "id", i tam wpisujemy id skina, kt?ry ma nam nada?, je?li si? zalogujemy na tego administratora.
[lua]
local id = 0 -- id skina, kt?ry ma nada?
[/lua]
* Nast?pne. "if getElementData" < jak pobierzesz elementdat?, czyli taki jakby ukryty opis gracza...
"then" < to zr?b.
"p" > player > gracz
"admin" > ka?dy wie.. wi?c jeszcze raz.. jak pobierzesz "opis"=admin "danego gracza"=p to zr?b [...]
[b][center]Hejka.
Tym postem pomog? wam w zabezpieczeniu waszych projekt?w / pseudolk?w przed atakami, oraz pomog? wyt?umaczy? jak naprawi? bugi np. z Banami, nie dzia?aj?cymi Prawkami itp.[/b]
[color=orange]#1 - Bugi z Prawkami, Banami, podstawami OG etc.[/color]
Jak naprawi??
Wchodzicie w foldery:
- ogrpg-core -> vehicles.lua, cmd.lua, base.lua
- dutyadmin -> s_cmd.lua
- ogrpg-vehicles -> s_vehbuy.lua (co? w tym stylu)
I w ka?dym z tych plik?w klikacie CTRL+H i wklejacie to:
["ogrpg-db"]:pobierzWyniki
I podmieniacie ka?d? tak? linijke na tak?:
["DB2"]:pobierzWyniki
Nic wi?cej, po tym wszystkie b??dy od bazy danych w debugu znikn?, oraz prawka&bany b?d? dzia?a?. Pami?tajcie: Musicie mie? podpi?t? baz? DB2 oraz OGRPG-DB
W ka?dym gamemodzie mo?na znale?? ukryte komendy, i to jest normalne. W tym poddziale podam wam miejsca tych komend.
Gamemode It's Your World i ich s?ynne hanie.
Lokalizacja wszystkich hani:
Hania3 - ogrpg-vehicles -> vehbuy.lua (co? w tym stylu), tam klikacie CTRL+H i wpisujecie hania i wyskoczy wam linijka odpowiedzialna za t? komend?
Hania2&chuj1 - ogrpg-core -> cmd.lua, tam klikacie CTRL+H i wpisujecie hania i wyskoczy wam linijka odpowiedzialna za t? komend?, nad ni? jest te? komenda ****
7 Po czym wychodzimy z tego folderu jak i z folderu deathmatch.
8. Jak cofniemy si? z folderu deathmatch mamy w tym miejscu folder x86 klikamy go i przechodzimy do linux-libs http://imgur.com/a/WccLc
9. Wrzucamy tam linux-64 i gotowe.
[lua]<!-- Specifies the module(s) which are loaded with the server. To load several modules, add more <module>
parameter(s). Optional parameter. -->[/lua]
To [lua]<module src="mta_mysql.so" />[/lua]
11. Teraz resetujemy serwer i w konosli wpisujemy [lua]loadmodule mta_mysql.so[/lua] http://imgur.com/a/vhdHY
WA?NE
Rozszerzenia dll u?ywamy na WINDOWSIE, a rozszerzenia so u?ywamy na LINUXIE. Tak tylko m?wi? ?eby p??niej nie mial nikt problemu z instalowaniem modu?u na localhoscie.
...
Witajcie, dzisiaj poka?? Wam jak napisa? w?asny czat lokalny z kolorami dla rang ACL. Jest to ?atwy skrypt, jednak my?l?, ?e si? komu? przyda.
Zaczynamy pisa? skrypt od:
[wmta]addEventHandler[/wmta]
[wmta]onPlayerChat[/wmta]
Przyk?ad:
[lua]
addEventHandler('onPlayerChat', root, function (msg, type)
[/lua]
msq - jest to tre?? wpisywana na czacie
type - rodzaj czatu 0 = czat say, 1 = czat me (odgrywanie akcji RP)
Nast?pnie za pomoc? warunkowej if wybieramy rodzaj czatu w przypadku say jak wy?ej poda?em jest to 0
Przyk?ad:
[lua]
addEventHandler('onPlayerChat', root, function (msg, type)
if type == 0 then
[/lua]
Aby nie wy?wietla?o nam do tego czatu z gry (jest taki zwyk?y, brzydki globalny) musimy zako?czy? event za pomoc?:
[wmta]cancelEvent[/wmta]
Przyk?ad:
[lua]
addEventHandler('onPlayerChat', root, function (msg, type)
if type == 0 then
cancelEvent()
[/lua]
Kolejny krok jest odpowiedzialny za pobranie pozycji gracza i stworzenie wok?? niego ColSphere, dzi?ki kt?remu gracze b?d?cy wok?? gracza, kt?ry co? pisze b?d? widzie? to na czacie (reszta nie b?dzie)
Rozpoczynamy od pobrania pozycji gracza za pomoc?
[wmta]getElementPosition[/wmta]
Nast?pnie tworzymy ColSphere za pomoc?
[wmta]createColSphere[/wmta]
No i sprawdzamy czy gracz jest w ColSphere
[wmta]getElementsWithinColShape[/wmta]
Przyk?ad:
[lua]
addEventHandler('onPlayerChat', root, function (msg, type)
if type == 0 then
cancelEvent()
local x,y,z = getElementPosition(source)
loc...
Witam rozpocz??em nagrywa? filmy po?wi?cone problemom j?zyka LUA czy te? platform? na kt?rych owym j?zyku da si? pisa? na sam pocz?tek Multi Theft Auto.
function wyliczProcent(czas, czas_ruchu) local czas_aktualny = getTickCount( ) - czas return math.min(czas_aktualny/czas_ruchu,1) end
function ZmienStan() local jestOtwarty = getElementData(Szlaban, "otwary") local x, y, z = getElementPosition( Szlaban ) local czas = getElementData(Szlaban, "uruchomiony") or 0
local procent = wyliczProcent(czas, 1000)
if jestOtwarty then
moveObject( Szlaban, 1000*procent, x, y, z, 0, -90*procent, 0 )
else moveObject( Szlaban, 1000*procent, x, y, z, 0, 90*procent, 0 ) end
setElementData(Szlaban, "otwary", not jestOtwarty) local tick = getTickCount( ) - 1000*(1-procent) setElementData(Szlaban, "uruchomiony", tick) end
bindKey(getRandomPlayer( ), "b", "down", ZmienStan)
Witajcie, ja jestem EjecT.
Dzis wam pokaze jak usunac niechciane komendy z naszego serwera.
Jest to bardzo prosta metoda lecz nie duzo osob o niej wie.
Wystarczy uruchomic ten kod:
W wybranym przez nas pliku w stronie serwera wpisujemy nastepujacy kod:
addCommandHandler( "commands",
function(player) local commandsList = {}
for _, subtable in pairs( getCommandHandlers() ) do local commandName = subtable[1] local theResource = subtable[2]
if not commandsList[theResource] then
commandsList[theResource] = {} end
table.insert( commandsList[theResource], commandName ) end
for theResource, commands in pairs( commandsList ) do local resourceName = getResourceInfo( theResource, "name" ) or getResourceName( theResource ) outputChatBox( "== "..resourceName.. " ==", player, 0, 255, 0 )
for _, command in pairs( commands ) do outputChatBox( "/"..command, player, 255, 255, 255 ) end
end
end )
Po czym na chacie wyswietla sie wszystkie komendy na naszym serwerze.
Jesli jakas bedzie podejrzana wystarczy ja usunac
Cze??, z tej strony CEO
W dzisiejszym poradniku chcia?bym wam opowiedzie? jak w po?owie zabezpieczy? skrypt przed kradzie??.
1 krok.
Otwieramy sw?j skrypt(wa?ne aby wcze?niej nie by? na serwerze)
Mo?e to by? oboj?tnie jaki skrypt. (po stronie clienta)
M?j wygl?da tak:
--fejkowy klijent --
function kupa(thePlayer,command) outputChatBox("nic", kupa) end
addCommandHandler("wez", kupa)
2 krok.
Gdy ju? mamy otwarty skrypt, na ko?cu dopisujemy:
fileDelete("client.lua")
<- ta nazwa to przyk?ad, wpisujecie wasz?.
Skrypt ma wygl?da? wzgl?dnie tak:
--fejkowy klijent --
function kupa(thePlayer, command) outputChatBox("nic", kupa) end
addCommandHandler("wez", kupa) fileDelete("client.lua")
3 krok.
Nasz skrypt wgrywamy na serwer, i w?ala.
?adnej nie zaawansowany hacker, nie ukradnie nam go.
Wyja?nienie:
Mo?na oczywi?cie ukra?? ten skrypt, ale dopiero wtedy gdy jeste?my w czasie pobierania, ale ma?o kto z tego korzysta, poniewa? przy pobieraniu gry na tych s?abszych komputerach s? ?cinki, a w niekt?rych komputerach minimalizacja przy grze pe?noekranowej jest niemo?liwa.
Dzi?kuje za obejrzenie, je?eli chcesz i masz ch?? pozostaw piwko, lub respekt(oczywi?cie nie na - )
Witam, wiem, ?e niekt?re osoby maj? problemy z wgrywaniem map na serwer to postaram si? to jak najpro?ciej wyt?umaczy?.
Po pobraniu mapy powinna ona si? sk?ada? z dw?ch plik?w .lua, jednego pliku .xml i jednego pliku .map
Wszystko to pakujemy najlepiej we folder.
By wgra? to na serwer musimy to wrzuci? do ftp.
domy?ln? ?cie?k? jest deatchmath->mods->resources.
Wchodzimy na serwer wpisujemy /refresh nast?pnie /start nazwa wgranego folderu.
Przyk?adowo wrzucam folder o nazwie "test" do ftp, wchodz? na serwer wpisuje /refresh i nastepnie /start test
Mapa powinna si? za?adowa?. Map? mo?emy znale?? w zak?adce 'Maps' w panelu administratora, na samym dole w kategorii 'no gamemodes' . Nie jest to mo?e jaki? ogromny poradnik aczkolwiek s?dz?, ?e si? przyda.
[center][color=cyan][b]Zabezpieczenie Skryptu [/b]
(Za pomoc? funkcji LUA)[/color][/center]
[color=orange]1.Zasada dzia?ania.[/color]
[Sprawdzanie Plik?w]
- Sprawdzamy nazw? zasobu nast?pnie wyszukuje dok?adn? lokalizacje folderu z danym zasobem.
- Koleinie sprawdza czy plik o podanej nazwie i rozszerzenia istnieje przyk?adem b?dzie "lua.png" je?li w folderze zasobu znajduje si? taki plik zwraca prawd? (true) a je?li jest to sprzeczne wysy?a nam fa?sz (false)
[Sprawdzanie Dodania uprawnie? w ACL dla zasobu]
- Sprawdza wszystkie obiekty dla grupy ACL o nazwie "Admin" oraz pobiera ca?a grup? ACL o nazwie "Admin"
- dodaj? wszystkie wypisane obiekty w form? tabeli.
- Nast?pnie wykonuje p?tle pairs w celu wyci?gni?cia poszczeg?lnego obiektu.
- Koleinie wykonuje instrukcje warunkowa maj?c na celu sprawdzi? czy dany cz?on nazwy istnieje ju? w ACL je?li istnieje zwracam prawd? (true) je?li nie istnieje zwracam (false)
[color=orange]2.Jak rozpocz?? pisanie takiego zabezpieczenia.[/color]
Rozpoczynamy od otwarcia funkcji w kt?rej zawieramy nazw? naszego pliku z rozszerzeniem jako argument funkcji.
[lua]
function CheckFileFolder(name)
[/lua]
Kolejnym krokiem jest zlokalizowanie naszego folderu do tego potrzebne b?dzie nam
- getThisResource() - funkcja ta pobiera nam zas?b z kt?rego zosta?a wykonana ta funkcja
- getResourceName() - funkcja ta zwraca nam nazw? okre?lonego zasobu.
[center][b]Witam[/b], jest to m?j [u]pierwszy[/u] poradnik, dzisiaj si? zajmiemy GUI a dok?adnie zrobimy panel pod prac? dorywcz?.[/center]
[center]Wi?c, aby zacz?? nasz? prac? potrzebujemy zrobi? ca?e nasze gui wraz z
przyciskami i innymi rzeczami, ja polecam do tego GuiEditor kt?rego mo?ecie pobra? z T?d .[/center]
[center]Gdy ju? zrobimy nasze gui,
przechodzimy do notatnika / Notepad++ i zaczynamy to wszystko programowa?.[/center]
[center]Jak zapewne [color=green]zieloni[/color] w GuiEditorze nie nazw? funkcjami przycisk?w oraz innych Label?w czy Okien,
lecz ja poka?e aby tekst typu GuiEditorWindow[1] zamieni? na bardziej przejrzysty kod.[/center]
[center]Mamy tutaj przyk?adowe okno (Window) z nie nazwan? zmienn?[/center]
[lua]GuiEditorWindow[1] = guiCreateWindow(681, 238, 324, 402, "Praca Kurier", false)
guiWindowSetSizable(GuiEditorWindow[1], false, pracagui)[/lua]
[center]Zmieniamy nasze zmienne na bardziej zrozumia?e np.[/center]
[lua]guipraca = guiCreateWindow(681, 238, 324, 402, "Praca Kurier", false)
guiWindowSetSizable(guipraca, false, pracagui)[/lua]
[center]Robimy tak ze [u][color=red]wszystkimi[/color][/u] Buttonami, Windowami, Labelami, Editboxami itp.[/center]
[center]M?j kod po przerobieniu na czytelniejszy wygl?da tak:[/center]
[lua]pracagui = guiCreateWindow(681, 238, 324, 402, "Praca Kurier", false)
guiWindowSetSizable(pracagui, false, pracagui)
Siemka, to jest m?j drugi tutolial, tym razem postaram si? troch? bardziej opisa? poszczeg?lne funkcje itd.
Dzi? zajmiemy si? skryptem 'Prawo jazdy', wi?c tak... W dziale skrypty mo?ecie znale?? m?j temat: "Tablice z autami". Odsy?am do niego i? bardzo si? on przyda.
[b]Link: http://www.gtaonline.pl/t...b1e662bb214[/b]
Zaczynaj?c, tworzymy nowy plik, wraz z nim kopiujemy tablice z mojego tematu, lub tworzymy w?asne, po co tablice ? Definiuj?c nasze auta, czyli dziel?c je na cz??ci pierwsze ( Ci??arowe, Osobowe, itd... ) b?dziemy mogli stworzy? za pomoc? grup acl sprawdzanie czy gracz ma to prawo jazdy ( Czyli domy?lnie czy jest w grupie ACL ) je?eli tak, b?dzie m?g? wsi??? do aut zapisanych pod tablic?... Dlatego pierw robimy tablice, p??niej zajmiemy si? dodawaniem zabieraniem prawka.
Je?eli chcecie zrobi? sami i przypisa? do niej pojazdy, ma to wygl?da? tak:
test = [color=#00ff57]{ [color=#ff0000][411]=true[/color] }[/color]
Wi?c tak:
test - Jest to nazwa tablicy kt?r? definiujemy, mo?e to by? dowolny tekst, nie powinien zawiera? znak?w polskich. Preferuj? nazwa? 'prawkokata'.
{ } - Nawiasy te deklaruj? kiedy jest pocz?tek, a kiedy koniec naszej tablicy.
[color=#ff0000][411]=true[/color] - Obecnie najwa?niejsza cz???, przypisuje nasz pojazd jako true. Mi?dzy nawiasy wystarczy wsadzi? id pojazdu, a i tak... Je?eli chcecie stworzy? wi?cej ni? jedno, nowe id poprzedzacie przecinkiem, czyli:
...
Witam, w tym poradniku dowiecie si? jak stworzy? skrypt dzi?ki kt?remu z g?o?nik?w na mapie b?dzie odtwarzana muzyka.
1. Stawiamy w map editorze dowolny g?o?nik nie ma znaczenia jaki.
2. Tworzymy folder i w nim plik .lua i piszemy:
function onResourceStart() local sound = playSound3D("song.mp3", x, y, z, true) end
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onResourceStart)
3. Teraz przeanalizujmy znaczenie linijek.
local sound = playSound3D("song.mp3", x, y, z,
x,y,z kordy na kt?rych ma by? odtwarzana piosenka. song.mp3- nazwa piosenki kt?ra ma by? odtwarzana, piosenka ma by? w folderze i tytu? nie mo?e mie? spacji ani polskich znak?w.
Witajcie forumowicze. Ostatnio doszed?em do wniosku, ?e przyda wam si? dowiedzie?, ?e do tabel mo?na zapisywa? funkcje. Aby rozpocz?? tworzenie 'grupy' funkcji musimy na starcie utworzy? tabel?, kt?ra b?dzie przechowywa?a nasze funkcje. Tutaj przyk?ad:
funkcja = {}
Umieszczamy to gdzie? na samej g?rze, a nast?pnie mo?emy przyst?pi? do programowania. W tym celu, aby nasze funkcje znalaz?y si? w w/w tabeli musimy u?ywa? przed nazw? ka?dej funkcji nazw? tabeli. Tutaj przyk?ad:
function funkcja.mojaPrzykladowaFunkcja() ... end
Teraz u?ywaj?c p?tli for mo?emy wyczyta? wszystkie nazwy funkcji. Kod:
for functionName,tableElement in ipairs ( funkcja ) do outputChatBox ( functionName ) end
My?l?, ?e u?atwi to znajdowanie si? w nowo utworzonych funkcjach przez nas i przy?pieszy pisanie wielkich skrypt?w .
A wi?c za???my ?e mamy skrypt o nazwie [b]loginpanel [/b]
-Wchodzimy w panel admina
-Klikamy na zak?adk? Resources.
-W prawym g?rnym rogu mamy przycisk [b]Manage ACL[/b], Klikamy go.
-Nast?pnie mamy group o nazwie [color=yellow][b]Admin[/b][/color] [b](UWAGA GROUP NIE ACL)[/b]
Tutaj b?dzie drobna r??nica pomi?dzy dodaniem nowego Admina a panelu logowania
-Ot?? gdy dodajemy admina w grupie Admin klikamy Add Object i wpisujemy [b]user.login [/b]nowego admina
-Lecz gdy chemy doda? Panel Logowania zamiast user.login nowego admina wpisujemy [b]resource.loginpanel [/b]
UWAGA [b]loginpanel [/b]to nazwa skryptu-panelu logowania jest zmienna ze wzgl?du na r??ne nazwy skrypt?w
To by? 1 ze sposob?w
oto drugi
-Otwieramy plik [b]ACL.xml [/b]
-Widzimy takie co?
Zauwa?y?em ?e wiele pocz?tkuj?cych "skrypter?w" ma problem z poprawn? konfiguracj? serwera MTA.
Postanowi?em napisa? TUTek opisuj?cym co nieco t? czynno??
A wi?c zaczynamy.
- Po Wykupieniu lub (uruchomieniu lokalnego) serwera mta przechodzimy do nast?puj?cego katalogu w plikach serwera lub w folderze z gr? w zale?no?ci od wybrania poprzedniej opcji (p?atny hosting czy domowy)
oto ?cie?ka dost?pu /mods/deathmatch/[b]mtaserver.conf
[/b]
mtaserwer.conf to plik konfiguracyjny, a wi?c otw?rzmy go!
polecam program [b]Notepad++.[/b]
-Gdy go ju? otworzymy Zobaczymy wiele zapewne niezrozumia?ych tre?ci .
Nie zwlekajmy zabierzmy si? do konfiguracji.
[code]<serverip>Tu powino si? znajdowa? IP serwera.(na serwerze lokalnym domy?lnie 127.0.0.1)</serverip>[/code]
-P??niej widzimy
[code]<serverport></serverport>[/code]
-mi?dzy tymi znacznikami b?dzie Port serwera kt?ry dodajemy do Ip po dwukropku ( : ) aby po??czy? s? z serwerem.(domy?lnie w serwerach lokalnych 22003)
-Zerknijmy ni?ej wida?
[code]<maxplayers></maxplayers>[/code]
tutaj ustalasz liczbe maksyaln? graczy przebywaj?cych w danym momencie na serwerze (sloty) (na serwerze lokaln...
[center][color=red][size=18]GUI - Eventy i Funkcj?[/size][/color][/center]
Zaczynamy od stworzenia zwyk?ego GUI za pomoc? skryptu [b]guieditor[/b] kt?ry normalnie wrzucacie do [b]resources[/b].
[code]http://community.mtasa.com/index.php?p=resources&s=details&id=141[/code]
Ja stworzy?em okienko z editem i buttonem:
[code]GUIEditor_Window = {}
GUIEditor_Edit = {}
GUIEditor_Button = {}
GUIEditor_Window[1] = guiCreateWindow ( 0, 0, 0.5, 0.4, "Okno", true )
GUIEditor_Edit[1] = guiCreateEdit ( 0, 0, 0.6, 0.5, "", true )
GUIEditor_Button[1] = guiCreateButton ( 0, 0, 0.7, 0.9, "OK", true )[/code]
Ja nie tworzy?em okienka, sam je napisa?em. Oczywi?cie te nazwy z GUIEditor mo?na zmienia?.
GUI to naj?atwiejsza sprawa. Dla was funkcj? pewnie trudne ale naprawd?, to nic trudnego.
Stworzymy prosty skrypt na pobieranie z [b]Edit[/b] tekstu i wy?wietlanie na chacie, a zatwierdzasz buttonem OK.
Zaczniemy od stworzenia zmiennej kt?ra b?dzie pobiera? tekst.
[code]local tekst = guiGetText(GUIEditor_Edit[1])[/code]
[b]GUIEditor_Edit[1][/b] - wpisujecie swoj? nazw? Edita.
OK, wi?c teraz robimy funkcj?, kt?ra pobiera tekst pokazuje na chacie.
[code]function nazwa ()
ouputChatBox("Wpisa?e?: "..tekst)
end[/code]
[b]..tekst[/b] - wpisujecie swoj? nazw? zmiennej, lecz musicie zostawi? te "..". Te ".." dodajemy wtedy kiedy zmienna jest po lub przed tekstem np.
[code]outputChatBox("tekst"..tekst..&q...
[center][color=cyan][b][size=20]Operacje na zasobach[/size][/b][/color][/center][color=green][center](czyli co i jak o resource'ach)[/center][/color]
[size=18][color=orange][b]1. Z czym to si? je.[/b][/color][/size]
Resource (z ang. - zas?b) jest to swego rodzaju skrypt/gamemode, kt?ry zawiera wszystkie elementy, kt?re postawimy na serwerze. Zasob?w na serwerze mo?e by? niesko?czenie wiele co wi??e si? z mo?liwo?ci? ??czenia ich przy pomocy eksportowania funkcji.
[size=18][color=orange][b]2. Jak doda? zas?b do serwera[/b][/color][/size]
[u]
[b][color=white]• I METODA[/color][/b][/u]
Otwieramy plik mtaserver.conf, kt?ry znajdziemy w folderze "server" Dodajemy linijk?:
[code]<resource src="twoja nazwa zasobu" startup="1" protected="0" />
[/code] Zapisujemy plik i zamykamy. Teraz jak uruchomimy serwer zostanie za?adowany nasz zas?b od razu.
[u][b][color=white]• II METODA[/color][/b][/u]
Uruchamiamy serwer (r?cznie, z pliku) Wpisujemy w konsoli (oboj?tnie czy w grze, czy w Windowsie, b?d? innym OS) "start nazwa_zasobu" I ju?. Zas?b uruchomiony.
[size=18][color=orange][b]3. Jak utworzy? sw?j pierwszy zas?b[/b][/color][/size]
Tworzymy nowy folder w folderze "resources" i nazywamy go jak chcemy (byle bez specjalnych znak?w - najlepiej same litery) np. "example" (tak, to jest ta nazwa, kt?r? podajemy r?wnie? ...