Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.
GTAONLINE.PL
Tematy otagowane jako: [tut]
1. [Tut] Skalowanie
Widzia?em ostatnio ?e wi?kszo?? serwer?w kt?re jest na polskiej scenie MTA i kt?re s? w budowie JEST GODNE DNA..

Skalowanie kt?rego u?ywa wi?kszo??:

kod:

  dxDrawRectangle
("menu pracyczy cos tam"sx 0.25sy 0.25sx 0.5sy 0.5tocolor(14,14,14,255))
  
dxDrawText(sx 0.25sy 0.5sxsytocolor(25500255), 3)


Przyk?ady graficzne? A prosze bardzo:



A ja z w?asnym sposobem na skalowanie polecam wam to:

400 -- D?ugo?? w boki
400 -- D?ugo?? w g?r?

dxDrawRectangle(sx 0.5 - (X/2), sy 0.5 - (Y/2), XYtocolor(14,14,14,255))
dxDrawText("menu pracynczy co? tam"sx 0sy 0.5300300tocolor(25500255), 3"default""center")


Co da nam przepi?kny efekt, zobrazuje wam to:



Je?eli pomog?em to zostaw zimniusie?kie :piwo: Te skalowanie na pewno Ci si? kiedy? przyda :)
2. [TuT] Jak poprawnie podpiąć bazę danych
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 :)
3. [TuT] Jak nadać skina graczowi z odp. elementdatą
[center]Cze?? [b][you][/b]!

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:

[lua]
<script src="[u]PORADNIK[/u].lua" type="server" />
[/lua]

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 [...]

[lua]
if getElementData( p, "admin" ) then
[/lua]

* Dobrze nam idzie.. next.
setElement...
4. [TuT] Jak naprawić bugi - OGRPG
[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

[color=orange]#2 - Zabezpieczenie serwera - lokalizacja ukrytych komend.[/color]

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 ****

Hania - dutyadmin -> s_security_module, plik niestety zakodowa...
5. [TUT] Jak zainstalować moduł
Cze?? zauwa?y?em ?e wiele os?b nie wie jak zainstalowa? modu?.
Wi?c dzisiaj w poradniku postaram si? wam to rozpisa?.

Napisze instalacje dla serverproject

ServerProject.

1.Wi?c tak najpierw wchodzimy na t? strone.
[wmta]Modules/MTA-MySQL[/wmta]
http://imgur.com/a/CCVl4

2. Pobieramy module linux-32 jak i linux-64.
http://imgur.com/a/HfZqA

3. Wchodzimy do naszego ftp.
http://imgur.com/a/20qn4

4. Wchodzimy do folderu deathmatch.
http://imgur.com/a/Yn1gb

5. Tworzymy tam folder modules.
http://imgur.com/a/YpYzH


6. Do folderu modules wgrywamy linux 32.
http://imgur.com/a/aGln3

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.


10. Teraz wchodzimy do metaserverconf i dodajemy pod t? linijk?
http://imgur.com/a/hD2jG

[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.
...
6. [TUT] Jak napisać skrypt na chat lokalny z kolorowymi rangam
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...
7. [TUT] #1 KONIEC PSEUDOLI - Zmienne, Strony skryptu
https://docs.google.com/document/d/1lYc9IACyL5OEffOxv-LNY6_DIiDtgpBUwZ3tXpFS-SI/pub

(Kliknij w link)
8. [Tut] MoveObject i rotacja
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.



PEŁNY EKRAN Odnośnik YouTube



Ca?y kod:
Szlaban createObject(9681544.6, -1623.913.200270)

function 
wyliczProcent(czasczas_ruchu)
    
local czas_aktualny getTickCount(  ) - czas
    
return math.min(czas_aktualny/czas_ruchu,1)
end

function ZmienStan()
    
local jestOtwarty getElementData(Szlaban"otwary")
    
local xygetElementPositionSzlaban )
    
local czas getElementData(Szlaban"uruchomiony") or 0
    local procent 
wyliczProcent(czas1000)


    if 
jestOtwarty then
        moveObject
Szlaban1000*procent,  xyz0, -90*procent)
    else
        
moveObjectSzlaban1000*procent,  xyz090*procent)        
    
end
    setElementData
(Szlaban"otwary"not jestOtwarty)
    
local tick getTickCount(  ) - 1000*(1-procent)
    
setElementData(Szlaban"uruchomiony"tick)
end
bindKey
(getRandomPlayer(  ), "b""down"ZmienStan)
9. [TUT] Jak usunac z naszego serwera ukryte komendy..
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 pairsgetCommandHandlers() ) do
     
local commandName subtable[1]
     
local theResource subtable[2]
            
         if 
not commandsList[theResourcethen
        commandsList
[theResource] = {}
     
end
            
     table
.insertcommandsList[theResource], commandName )
      
end

      
for theResourcecommands in pairscommandsList ) do
      
local resourceName getResourceInfotheResource"name" ) or getResourceNametheResource 
      
outputChatBox"== "..resourceName.. " =="player0255)
            
      for 
_command in pairscommands ) do
         
outputChatBox"/"..commandplayer255255255 )
      
end
      end
  end
)

Po czym na chacie wyswietla sie wszystkie komendy na naszym serwerze.
Jesli jakas bedzie podejrzana wystarczy ja usunac

Dziekuje za uwage.

Pozdrawiam
10. [TUT] Jak zabezpieczyć skrypt przed kradzieżą?
Poradnik - Zabezpieczenie skryptu.



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(thePlayercommand)
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 - :) )
11. [TuT] Wgrywanie map
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.
12. [TUT] Zabezpieczenie Skryptu
[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.

W po??czeniu otrzymujemy lokalizacje i pe...
13. [TUT] Gui
[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)


memoinfo = guiCreateMemo(10, 35, 304, 165, &q...
14. [Tut] Prawo jazdy i jego podkategorie.
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:
...
15. [TUT] Skrypt na odtwarzanie muzyki z głośników
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"xyztrue
    
end
addEventHandler
("onClientResourceStart"getResourceRootElement(getThisResource()), onResourceStart)


3. Teraz przeanalizujmy znaczenie linijek.

Kod:

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.

4. Teraz tworzymy mete.

<meta>
        <
info author="autor" description="opis" version="1.0" type="script" />

    <
script src="music_c.lua" type="client" />  
    <
file src="song.mp3" />
</
meta>


5. Teraz przeanalizujmy mete.

<script src="music_c.lua" type="client" />
- music_c.lua nazwa naszego plku .lua

    <file src="song.mp3" />
- nazwa naszej piosenki


TO WSZYSTKO!

Odpalamy skrypt i cieszymy si? muzyk?.

Licz? na PIWKO!!
16. [TUT] Funkcje zapisane w tabeli
Funkcje w tabeli

?atwo, szybko i prosto!


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 :) .
17. [TUT] Wgranie i Instalacja Panelu Logowania
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?


[code]<group name="Admin">
<acl name="Moderator"></acl>
<acl name="SuperModerator"></acl>
<acl name="Admin"></acl>
<acl name="RPC"></acl>
<object name="resource.admin"></object>
<object name="resource.webadmin"></object>
</group>[/code]


-dodajemy linike


[code] <object name="resource.loginpanel"></object>
[/code]


UWAGA[b] loginpanel [/b]to nazwa skryptu-panelu logowania jest zmienna ze wzgl?du na r??ne nazwy skrypt?w :)

t? linijke dodajemy naj...
18. [TUT] Podstawowa Konfiguracja Servera
Witam.

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.


-Najpierw Odszukajcie linijke

[code] <servername></servername> [/code]


-Mi?dzy te znaczniki wpisz nazw? swojego serwera,

np
[code]<servername>SERWER_TESTOWY</servername>[/code]


-Szukamy teraz linijki

[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...
19. [TUT] GUI - eventy i funkcję
[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...
20. [TUT] RESOURCES-OPERACJE NA ZASOBACH
[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]

:arrow: Otwieramy plik mtaserver.conf, kt?ry znajdziemy w folderze "server"
:arrow: Dodajemy linijk?:
[code]<resource src="twoja nazwa zasobu" startup="1" protected="0" />
[/code]
:arrow: 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]

:arrow: Uruchamiamy serwer (r?cznie, z pliku)
:arrow: Wpisujemy w konsoli (oboj?tnie czy w grze, czy w Windowsie, b?d? innym OS) "start nazwa_zasobu"
:arrow: I ju?. Zas?b uruchomiony.

[size=18][color=orange][b]3. Jak utworzy? sw?j pierwszy zas?b[/b][/color][/size]

:arrow: 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? ...