Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2016-12-18, 14:36


_Haze

Peace Yo!






Wiek: 24
Na forum: 4184 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

Triggery

Cze??
w tym poradniku chcia?bym wyja?ni? dzia?anie samych trigger?w, jak zrobi? trigger, jak go poprawnie u?y?.

Do czego nam jest potrzebny trigger i co to jest?
Trigger z angielskiego oznacza wywo?ywacz. W lua triggery wywo?uj? funkcje uprzednio stworzone po jednej ze stron. Triggery ??cz? nam stron? servera z clientem. Posiadaj? one kilkusekundowe op??nienia dlatego cz?sto w skryptach z triggerami dx jest kilkusekundowe ?adowanie. Triggery zwracaj? true je?li si? wykonaj? albo false kiedy si? nie wykonaj?.

Linki Wiki/Sk?adnia

Więcej informacji znajdziesz w Wikipedii MTA:

TriggerClientEvent

bool triggerClientEvent ( [table/element sendTo=getRootElement()], string nameelement sourceElement, [arguments...] )

Pierwszy argument to element gracza do kt?rego wysy?amy.
Drugi argument to nazwa eventu wykonywanego.
Trzeci argument to sourceElement czyli element kt?ry wysy?a to.
Reszta argument?w opcjonalnie zale??ca od eventu.

Więcej informacji znajdziesz w Wikipedii MTA:

TriggerEvent

bool triggerEvent string eventNameelement baseElement, [ var argument1, ... ] )

Pierwszy argument to nazwa eventu.
Drugi to element gracza do kt?rego to wysy?amy.
Reszta argument?w opcjonalnie zale??ca od eventu.

Więcej informacji znajdziesz w Wikipedii MTA:

TriggerServerEvent

bool triggerServerEvent string eventelement theElement, [arguments...] )

Pierwszy argument to nazwa eventu.
Drugi argument to sourceElement czyli element kt?ry wysy?a to.
Reszta argument?w opcjonalnie zale??ca od eventu.

Więcej informacji znajdziesz w Wikipedii MTA:

AddEvent

bool addEvent string eventName [, bool allowRemoteTrigger false ] ) 

Pierwszy argument to nazwa eventu.
Drugi argument oznacza to czy pozwalamy ?eby inne resource mog?y korzysta? z tego eventu.(client-server te?)

Więcej informacji znajdziesz w Wikipedii MTA:

TriggerLatentClientEvent

bool triggerLatentClientEvent ( [table/element sendTo=getRootElement(),] string name, [int bandwidth=50000,] [bool persist=false,] element theElement, [arguments...] )

Pierwszy argument to element gracza do kt?rego wysy?amy.
Drugi argument to nazwa eventu wykonywanego.
Trzeci argument to czas wysy?ania eventu.
Czwarty argument oznacza czy po wy??czeniu resource nadal ma kontynuowa? trigger.
Pi?ty argument to sourceElement czyli element kt?ry wysy?a to.
Reszta argument?w opcjonalnie zale??ca od eventu.

Więcej informacji znajdziesz w Wikipedii MTA:

TriggerLatentServerEvent

bool triggerLatentServerEvent string event, [int bandwidth=5000bool persist=false,] element theElement, [arguments...] )

Pierwszy argument to nazwa eventu wykonywanego.
Drugi argument to czas wysy?ania eventu.
Trzeci argument oznacza czy po wy??czeniu resource nadal ma kontynuowa? trigger.
Czwarty argument to sourceElement czyli element kt?ry wysy?a to.
Reszta argument?w opcjonalnie zale??ca od eventu.

Wi?cej do poczytania o systemie event?w tutaj
Więcej informacji znajdziesz w Wikipedii MTA:

Event_system

Przyk?ad

Client:
addEvent("dajpkt"true)
addEventHandler("dajpkt"root, function(p1p2t1t2r1g1b1r3g3b3alive2)
  team1 t1
  team2 t2
  pkt1 p1
  pkt2 p2
  r r1
  g g1
  b b1
  r2 r3
  g2 g3
  b2 b3
  alive alive2
end)

Server:
setTimer(function()
    r3,g3,b3 getTeamColor(team1)
    r4,g4,b4 getTeamColor(team2)
    local liczba1 #getAlivePlayersInTeam(team1)
    local liczba2 #getAlivePlayersInTeam(team2)
    alive kolor(r3,g3,b3)..tonumber(liczba1).." #ffffffvs "..kolor(r4,g4,b4)..tonumber(liczba2)
    triggerClientEvent(root"dajpkt"rootpkt1pkt2,t1,t2,r1,g1,b1,r2,g2,b2,alive)
end,1000,0)

Zmienne u?yte w cliencie s? draw'?owane(nie znam innego okre?lenia xdxd chodzi o to ?e s? czytane przez dxDrawText jako zmienna) i je?li zmienimy nazw? komend? to po sekundzie timer ustawi to w dx.

Prawid?owe tworzenie eventu
Server
addEvent("Cash"true)--pozwala na korzystanie tego eventu z innych zasob?w
addEventHandler("Cash"root, function(interakcjailosc)-- dodaje trigger
if tostring(interakcja) and tonumber(iloscthen--ma?o wa?ny kod
    if interakcja == "take" then--ma?o wa?ny kod
        takePlayerMoney(client,ilosc)--ma?o wa?ny kod
    elseif interakcja == "give" then--ma?o wa?ny kod
        givePlayerMoney(client,ilosc)--ma?o wa?ny kod
    end
end
end)

Wykonanie triggera:

triggerClientEvent(elementgracza"Cash"elementgracza"take"50)

Po stronie servera wygl?da?o by to tak:
triggerServerEvent ("Cash"elementgracza"take"50)

(Jest to tylko pokaz argument?w ?eby wykona? event, po tej samej stronie trzeba u?y? triggerEvent)

Czy mo?na u?y? triggera po tej samej stronie?
Jest to cz?ste pytanie dotycz?ce trigger?w. Tak. U?ywamy do tego triggerEvent
W powy?szym przypadku b?dzie to wygl?da?o tak.
triggerEvent("Cash"elementgracza"give",100)



To na tyle w tym poradniku. Mam nadziej? ?e ten poradnik wam si? spodoba?. Prosz? o zg?aszanie ewentualnych b??d?w.


Ostatnio zmieniony przez _Haze 2016-12-19, 15:46, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-18, 15:39


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

Przyda?by si? jeszcze
Więcej informacji znajdziesz w Wikipedii MTA:

triggerLatentServerEvent


Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-12-18, 18:58


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Hazmudex, poradnik nie jest z?y, ale te? nie jest dobry. Nie poda?e? sk?adni funkcji i poda?e? jakie maj? parametry dodatkowe a niekt?re maja i innych rzeczy kt?rych nie uwzgl?dni?e?.

Do?? s?abo poopisywane rzeczy i nie jasno napisane co do czego s?u?y.

Postaw piwo autorowi tego posta
 

 
Tagi: poradnik :: triggery
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Poradniki do LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku