GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Leírások => A témát indította: Xenius - 2015. Augusztus 27. - 16:22:13

Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 16:22:13
írd meg magadnak
Cím: írd meg magadnak
Írta: lackos888 - 2015. Augusztus 27. - 17:16:06
Ezek a timerek.. Játszik péld 200 játékos és 200 timer elindul akár egyidőben 2 másodpercre. Semmi értelme nincs. Erre van a getTickCount nevű funkció. A nearbyplayerst egyszerűbben temp colshapeval is meglehetne oldani, bár ez sem rossz, csak gondolom a C++-os colshape gyorsabban lefutna mint ez.
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 18:49:03
Idézetet írta: lackos888 date=1440688566\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Ezek a timerek.. Játszik péld 200 játékos és 200 timer elindul akár egyidőben 2 másodpercre. Semmi értelme nincs. Erre van a getTickCount nevű funkció. A nearbyplayerst egyszerűbben temp colshapeval is meglehetne oldani, bár ez sem rossz, csak gondolom a C++-os colshape gyorsabban lefutna mint ez.
 
Milyen timerről beszélsz? Ez csak egyszer fut le kliens oldalon, 2 másodpercenként 1x enged írni.
Amúgy pedik nem létezik ennél jobb megoldás, colshape-val is csak zabáltatod a cpu-t. A getNearbyPlayers csak azokat a játékosokat kéri le akik a közeledben vannak (getElementsByType(\"players\", root, true)).
Máskor nézd meg jobban a dolgokat, mielőtt hülyeségeket írsz.
Cím: írd meg magadnak
Írta: Incama - 2015. Augusztus 27. - 18:56:17
Magam sem csináltam volna jobban.  :thumbsup:  XD
Cím: írd meg magadnak
Írta: lackos888 - 2015. Augusztus 27. - 19:03:45
Bocsánat, a kliens oldalit elnéztem, viszont szerintem még mindig kézenfekvőbb a getTickCount. A colshapeba is lehet igazad, mert az összes elementet nézi.
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 19:18:41
Idézetet írta: lackos888 date=1440695025\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Bocsánat, a kliens oldalit elnéztem, viszont szerintem még mindig kézenfekvőbb a getTickCount. A colshapeba is lehet igazad, mert az összes elementet nézi.
 
Kliens oldalon van a getElementsByType  funkciónak egy plusz paramétere, amivel csak a be streamelt elementeket kéri le. Amúgy meg tick count vagy timer, ilyen kis dolgoknál nem számít semmit hogy melyiket használod.
Cím: írd meg magadnak
Írta: DrAkE - 2015. Augusztus 27. - 19:52:41
Ez a leírás már alapból több sebből vérzik:
 
Idézetet írta: Xenius date=1440685333\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
szerveroldal használata nélkül adatokat közölni kliens-kliens közt
 
Alapból hülyeség, hiszen a kliens elküldi először a szervernek az adatot, utána pedig a szerver küldi el a többi kliensnek az adatot, tehát már alapból nem lesz kliens-kliens kommunikáció.
Másrészt, Te fogod, és tiltod az eventet, majd csinálsz kliens oldalon egy \"/say\" parancsot. Ez mind szép és jó, csak ha írsz a chatbe, akkor 2X! küldi el ugyanazt az üzenetet. Egyszer ugye az alap MTA say parancsa, utána pedig a kliens oldali say parancs. Ezzel már alapból tönkrebasztad a(z) \"Szerver optimalizáció\"-t, és \"sok sok\" netet elhasználsz.
Ha annyira akarsz spam protectiont, meg lokális chatet, írtam neked egy nagyon szép, és rövidkét (FIGYELEM! EZ SZERVER OLDALI! TÖNKRE FOGJA BASZNI A SZERVERGÉP CPUJÁT, MEG A NETJÉT!!!!!!):
 

local antiSpam = {}
function sendMessageToNearbyPlayers(player, dist, message)
local x,y,z = getElementPosition(player)
local myDim = getElementDimension(player)
local myInt = getElementInterior(player)
for k,v in ipairs(getElementsByType(\"player\", root, true)) do
if myDim == getElementDimension(v) and myInt == getElementInterior(v) then
   local distance = getDistanceBetweenPoints3D(x, y, z, getElementPosition(v))
   if distance <= dist then
      outputChatBox(getPlayerName(player) .. \"#FFFFFF mondja: \" .. message, v, 255, 255, 255, true)
   end
end
end
end
addEventHandler(\"onPlayerChat\", root, function(message, messageType)
if not antiSpam[source] or antiSpam[source] < getTickCount() then
antiSpam[source] = getTickCount() + 2000
sendMessageToNearbyPlayers(source, 20, message)
end
cancelEvent()
end)

 
Legközelebb inkább gondolkodj el, hogyan is működik egy kliens - szerver kommunikáció.
(Jah meg a timer igen is nagy különbség, mivel ha létrehozol egy timert, az egy nagy tárolóba fog eltárolódni. Ezen a tárolón a játék, minden miliszekundumban végigfut, és összehasonlítja hogy lejárt-e már a timer vagy nem, ha igen, akkor meghívja azt a funkciót, ami a lua stackben el lett tárolva).
Peace.
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 19:57:28
Idézetet írta: DrAkE date=1440697961\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Ez a leírás már alapból több sebből vérzik:
 

szerveroldal használata nélkül adatokat közölni kliens-kliens közt
 
Alapból hülyeség, hiszen a kliens elküldi először a szervernek az adatot, utána pedig a szerver küldi el a többi kliensnek az adatot, tehát már alapból nem lesz kliens-kliens kommunikáció.
Másrészt, Te fogod, és tiltod az eventet, majd csinálsz kliens oldalon egy \"/say\" parancsot kliens oldalon. Ez mind szép és jó, csak ha írsz a chatbe, akkor 2X! küldi el ugyanazt az üzenetet. Egyszer ugye az alap MTA say parancsa, utána pedig a kliens oldali say parancs. Ezzel már alapból tönkrebasztad a(z) \"Szerver optimalizáció\"-t, és \"sok sok\" netet elhasználsz.
Ha annyira akarsz spam protectiont, meg lokális chatet, írtam neked egy nagyon szép, és rövidkét:
 

local antiSpam = {}
function sendMessageToNearbyPlayers(player, dist, message)
local x,y,z = getElementPosition(player)
local myDim = getElementDimension(player)
local myInt = getElementInterior(player)
for k,v in ipairs(getElementsByType(\"player\", root, true)) do
if myDim == getElementDimension(v) and myInt == getElementInterior(v) then
   local distance = getDistanceBetweenPoints3D(x, y, z, getElementPosition(v))
   if distance <= dist then
      outputChatBox(getPlayerName(player) .. \"#FFFFFF mondja: \" .. message, v, 255, 255, 255, true)
   end
end
end
end
addEventHandler(\"onPlayerChat\", root, function(message, messageType)
if not antiSpam[source] or antiSpam[source] < getTickCount() then
antiSpam[source] = getTickCount() + 2000
sendMessageToNearbyPlayers(source, 20, message)
end
cancelEvent()
end)

 
Legközelebb inkább gondolkodj el, hogyan is működik egy kliens - szerver kommunikáció.
Peace.
 
[/quote]
\"szerveroldal használata nélkül adatokat közölni kliens-kliens közt\" - ezt a régi rendszerre írtam.
amúgy pedig nem fogja kétszer kiírni, tájékozódj jobban mielőtt hülyeséget írsz. a szerveroldali spam védelem pedig alapból fail, amit írtál  kód, az teljesen használhatatlan. lehet hogy 50 embernél nem fog nagyobb gondot okozni, viszont 200-300 embernél már meg fogod érezni. \"Nem mindegy hogy a hülye okoskodik vagy hogy az okos hülyéskedik-\"
Cím: írd meg magadnak
Írta: DrAkE - 2015. Augusztus 27. - 19:59:16
Idézetet írta: Xenius date=1440698248\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


Ez a leírás már alapból több sebből vérzik:
 

szerveroldal használata nélkül adatokat közölni kliens-kliens közt
 
Alapból hülyeség, hiszen a kliens elküldi először a szervernek az adatot, utána pedig a szerver küldi el a többi kliensnek az adatot, tehát már alapból nem lesz kliens-kliens kommunikáció.
Másrészt, Te fogod, és tiltod az eventet, majd csinálsz kliens oldalon egy \"/say\" parancsot kliens oldalon. Ez mind szép és jó, csak ha írsz a chatbe, akkor 2X! küldi el ugyanazt az üzenetet. Egyszer ugye az alap MTA say parancsa, utána pedig a kliens oldali say parancs. Ezzel már alapból tönkrebasztad a(z) \"Szerver optimalizáció\"-t, és \"sok sok\" netet elhasználsz.
Ha annyira akarsz spam protectiont, meg lokális chatet, írtam neked egy nagyon szép, és rövidkét:
 

local antiSpam = {}
function sendMessageToNearbyPlayers(player, dist, message)
local x,y,z = getElementPosition(player)
local myDim = getElementDimension(player)
local myInt = getElementInterior(player)
for k,v in ipairs(getElementsByType(\"player\", root, true)) do
if myDim == getElementDimension(v) and myInt == getElementInterior(v) then
   local distance = getDistanceBetweenPoints3D(x, y, z, getElementPosition(v))
   if distance <= dist then
      outputChatBox(getPlayerName(player) .. \"#FFFFFF mondja: \" .. message, v, 255, 255, 255, true)
   end
end
end
end
addEventHandler(\"onPlayerChat\", root, function(message, messageType)
if not antiSpam[source] or antiSpam[source] < getTickCount() then
antiSpam[source] = getTickCount() + 2000
sendMessageToNearbyPlayers(source, 20, message)
end
cancelEvent()
end)

 
Legközelebb inkább gondolkodj el, hogyan is működik egy kliens - szerver kommunikáció.
Peace.
 
[/quote]
\"szerveroldal használata nélkül adatokat közölni kliens-kliens közt\" - ezt a régi rendszerre írtam.
amúgy pedig nem fogja kétszer kiírni, tájékozódj jobban mielőtt hülyeséget írsz. a szerveroldali spam védelem pedig alapból fail, amit írtál  kód, az teljesen használhatatlan. lehet hogy 50 embernél nem fog nagyobb gondot okozni, viszont 200-300 embernél már meg fogod érezni.
 
[/quote]
Hát akkor tájékozódj, mivel meghívódik a kliens oldali say parancs, és az onPlayerChat is ^^.
Kliens:
 

addCommandHandler(\"say\", function(_, ...)
outputDebugString(\"K\")
end)

 
Szerver:
 

addEventHandler(\"onPlayerChat\", root, function(message, messageType)
outputDebugString(\"B\")
end)

 
A \"K\" és \"B\" ugyan úgy ki fogja írni debugba ^^
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 20:00:46
Idézetet írta: DrAkE date=1440698356\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Hát akkor tájékozódj, mivel meghívódik a kliens oldali say parancs, és az onPlayerChat is ^^
 
Amit írtam legfelül, az 0.1% szerver-kliens oldali cpu-t használ 300 ember felett, gondolkozz el mielőtt brutál nagy f*szságot írsz.
Cím: írd meg magadnak
Írta: DrAkE - 2015. Augusztus 27. - 20:02:57
Idézetet írta: Xenius date=1440698446\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


Hát akkor tájékozódj, mivel meghívódik a kliens oldali say parancs, és az onPlayerChat is ^^
 
Amit írtam legfelül, az 0.1% szerver-kliens oldali cpu-t használ 300 ember felett, gondolkozz el mielőtt brutál nagy f*szságot írsz.
 
[/quote]
Hidd el, nem Te vagy az egyetlen ember itt fórumon, aki ért programozáshoz. Én C++ - Lua közötti kommunikációval is foglalkoztam, illetve írtam is Lua plugint SA-MPra, szóval tudom, mi hogy működik, de azért köszi. Viszont szomorú, hogy még ilyen szar helyzetben is próbálsz \"okosnak\" tűnni :)
Illetve, ha nem hiszel nekem, nem muszáj. Én tudom az igazat, Te meg úgy se ismered be a hibádat. Csak az a gond, hogy így szar útra vezeted az embereket :\\
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 20:08:12
Idézetet írta: DrAkE date=1440698577\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Hidd el, nem Te vagy az egyetlen ember itt fórumon, aki ért programozáshoz. Én C++ - Lua közötti kommunikációval is foglalkoztam, illetve írtam is Lua plugint SA-MPra, szóval tudom, mi hogy működik, de azért köszi. Viszont szomorú, hogy még ilyen szar helyzetben is próbálsz \"okosnak\" tűnni :)
 
Az is szomorú, hogy nem vagy képes ésszerűen gondolkozni, nem 40-50 emberre scriptelek mint a fórum többsége, az mta pedig mérföldekkel másképp működik mint egy sampos lua plugin, 3 éve foglalkozom az MTA-val ne akard megmagyarázni hogy mi hogyan működik. A magyar mentalitás is kibaszott vicces, segíteni próbálok a kezdőknek erre jönnek az olyan okoskodó hozzá nem értő emberek mint te.
Cím: írd meg magadnak
Írta: Incama - 2015. Augusztus 27. - 20:11:15
Drake az hogy jó seggeket nyaltál és kaptál ide egy lokális moderátort nem jelenti azt hogy letettél annyit az asztalra mint Xenius, vagy hogy érsz bármit is ;)
Cím: írd meg magadnak
Írta: anGeL - 2015. Augusztus 27. - 20:13:05
Ha Drake hozzá nem értő akkor én buzi vagyok  ???
Cím: írd meg magadnak
Írta: DrAkE - 2015. Augusztus 27. - 20:14:25
Idézetet írta: Xenius date=1440698892\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


Hidd el, nem Te vagy az egyetlen ember itt fórumon, aki ért programozáshoz. Én C++ - Lua közötti kommunikációval is foglalkoztam, illetve írtam is Lua plugint SA-MPra, szóval tudom, mi hogy működik, de azért köszi. Viszont szomorú, hogy még ilyen szar helyzetben is próbálsz \"okosnak\" tűnni :)
 
Az is szomorú, hogy nem vagy képes ésszerűen gondolkozni, nem 40-50 emberre scriptelek mint a fórum többsége, az mta pedig mérföldekkel másképp működik mint egy sampos lua plugin, 3 éve foglalkozom az MTA-val ne akard megmagyarázni hogy mi hogyan működik. A magyar mentalitás is kibaszott vicces, segíteni próbálok a kezdőknek erre jönnek az olyan okoskodó hozzá nem értő emberek mint te.
 
[/quote]
Attól, hogy 3 éve programozol, nem jelenti azt, hogy ismered is a kliens - szerver kommunikációt, meg a Lua felépítését. A Te kódodat szimplán elkezdi spammelni egy emberke, akkor meghívódik a kliens oldali say parancs, triggerServerEventezel egyet, és elküldöd a szöveget. Csak az a gond, hogy közben az ALAP MTA SAY PARANCSA MÉG UGYAN ÚGY OTT VAN, ÉS MEGFOG HÍVÓDNI, ÉS ELFOGJA KÜLDENI AZ ÜZENETET. A szerver oldali scriptemben mellesleg semmi megterhelő nincs, mivel egy érték állítás van (2 secenként, vagy amikor lejárt a spam protection), meg egy érték vizsgálat :)
 

Drake az hogy jó seggeket nyaltál és kaptál ide egy lokális moderátort nem jelenti azt hogy letettél annyit az asztalra mint Xenius, vagy hogy érsz bármit is ;)
 
[/quote]
Egyrészt, több mindent tettem már alapból a közösségért, mint Te és Xenius tettetek, és valaha is fogtok. Szomorú azt is látni, hogy Xenius hívta a kis csicskáját, hogy \"2v1\"-be megpróbáljanak lenyomni (magyar mentalitás). Attól függetlenül még ugyan úgy szar Xenius megoldása, és le is írtam miért. Ha akarod megnézheted a munkáimat, C++-ban, PAWNban, na meg Luaban is ^^ Peace.
U.I.: https://github.com/drakeee/samp-plugin-lua/tree/master/lua_samp
(csak hogy okosodjatok is valamit Lua, meg C++ téren)
Cím: írd meg magadnak
Írta: Szilard - 2015. Augusztus 27. - 20:17:17
Idézetet írta: Incama date=1440699075\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Drake az hogy jó seggeket nyaltál és kaptál ide egy lokális moderátort nem jelenti azt hogy letettél annyit az asztalra mint Xenius, vagy hogy érsz bármit is ;)
 


Miért olyan emberek kapták ezeket a magas pozíciókat (Legend, Szilard00, ScreaM), akik körülbelül inaktívak voltak egész végig, és semmi közük nem volt a közösség fejlődéséhez, még csak részt sem vettek semmiben (természetesen semmi gondom velük):
http://sampforum.hu/index.php?action=profile;area=showposts;sa=messages;u=1929
http://sampforum.hu/index.php?action=profile;u=3330;area=showposts;start=15
http://sampforum.hu/index.php?action=profile;u=994;area=showposts;start=30
 
[/quote]
Cím: írd meg magadnak
Írta: Incama - 2015. Augusztus 27. - 20:20:15
Felesleges tovább húzni a szót, meglátjuk kinek a szervere a működőképes hosszútávon 300 playernél és kinek nem.
Azon hogy egy kutya vagy és csak ugatni tudsz, sajnos józan szavakkal nem tudok változtatni.
:*
Cím: írd meg magadnak
Írta: Noire - 2015. Augusztus 27. - 20:21:08
Idézetet írta: Incama date=1440699615\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Felesleges tovább húzni a szót, meglátjuk kinek a szervere a működőképes hosszútávon 300 playernél és kinek nem.
Azon hogy egy kutya vagy és csak ugatni tudsz, sajnos józan szavakkal nem tudok változtatni.
:*
 
OFF:



Mekkora az e-penis?
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 20:23:14
Idézetet írta: DrAkE date=1440699265\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


 

Hidd el, nem Te vagy az egyetlen ember itt fórumon, aki ért programozáshoz. Én C++ - Lua közötti kommunikációval is foglalkoztam, illetve írtam is Lua plugint SA-MPra, szóval tudom, mi hogy működik, de azért köszi. Viszont szomorú, hogy még ilyen szar helyzetben is próbálsz \"okosnak\" tűnni :)
 
Az is szomorú, hogy nem vagy képes ésszerűen gondolkozni, nem 40-50 emberre scriptelek mint a fórum többsége, az mta pedig mérföldekkel másképp működik mint egy sampos lua plugin, 3 éve foglalkozom az MTA-val ne akard megmagyarázni hogy mi hogyan működik. A magyar mentalitás is kibaszott vicces, segíteni próbálok a kezdőknek erre jönnek az olyan okoskodó hozzá nem értő emberek mint te.
 
[/quote]
Attól, hogy 3 éve programozol, nem jelenti azt, hogy ismered is a kliens - szerver kommunikációt, meg a Lua felépítését. A Te kódodat szimplán elkezdi spammelni egy emberke, akkor meghívódik a kliens oldali say parancs, triggerServerEventezel egyet, és elküldöd a szöveget. Csak az a gond, hogy közben az ALAP MTA SAY PARANCSA MÉG UGYAN ÚGY OTT VAN, ÉS MEGFOG HÍVÓDNI, ÉS ELFOGJA KÜLDENI AZ ÜZENETET. A szerver oldali scriptemben mellesleg semmi megterhelő nincs, mivel egy érték állítás van (2 secenként, vagy amikor lejárt a spam protection), meg egy érték vizsgálat :)
 

Drake az hogy jó seggeket nyaltál és kaptál ide egy lokális moderátort nem jelenti azt hogy letettél annyit az asztalra mint Xenius, vagy hogy érsz bármit is ;)
 
[/quote]
Egyrészt, több mindent tettem már alapból a közösségért, mint Te és Xenius tettetek, és valaha is fogtok. Szomorú azt is látni, hogy Xenius hívta a kis csicskáját, hogy \"2v1\"-be megpróbáljanak lenyomni (magyar mentalitás). Attól függetlenül még ugyan úgy szar Xenius megoldása, és le is írtam miért. Ha akarod megnézheted a munkáimat, C++-ban, PAWNban, na meg Luaban is ^^ Peace.
 
[/quote]
Nem fog lefutni az alap say parancs, mivel az onPlayerChat blokkolja (cancelEvent)
Amúgy pedig nem teljesen érted még mindig, az azért triggereli be a kliens a táblában lévő elementeknek a dolgokat mert ha ugyan ezt megcsinálnád egy szerver oldali for ciklussal és úgy iratnád ki a chatbe a dolgokat akkor az egyrészt szinkronizálja a kliensel, ergo adatot küld neki és a kliens válaszol a szervernek hogy oké-e, ha például kilép egy játékos és közben iratod ki szerver oldalon neki akkor kapsz debugba egy szép kis hibaüzenetet mert a kliens nem fog válaszolni. Plusz még mellette szerver oldalon lefutna még pár funkció (például nálunk a nyelv rendszer, illetve a játékos név sem sima getPlayerName), ha ezeket használnád / használnánk szerver oldalon akkor egy szép nagy cpu használatot kapnánk 300 embernél szerver oldalon. A te példádhoz hasonló dolgot használtunk, viszont 200 felett 5-6% szerveroldali cpu terhelés volt, és a szerver laggolt. Ezzel amit én írtam legfelül 0.16% a szerver oldali cpu használat, a kliens oldali is 0.1-0.2 közt van mivel a szerver csak a közeli playerekkel szinkronizál így ha kis pista ír a map egyik végén akkor kis józsinak nem fogja szinkronizálni, mert kis pista gépe nem küldi el kis józsi azonosítóját (element) a szerver oldalnak, így a szerver oldal nem fogja triggerelni kis józsinak amit kis pista ír.

Dupla hozzászólás automatikusan összefûzve. ( 2015. Augusztus 27. - 20:24:13 )


Felesleges tovább húzni a szót, meglátjuk kinek a szervere a működőképes hosszútávon 300 playernél és kinek nem.
Azon hogy egy kutya vagy és csak ugatni tudsz, sajnos józan szavakkal nem tudok változtatni.
:*
 
[/quote]
te pedig fejezd be, nem csak saját magad minősíted ezzel
Cím: írd meg magadnak
Írta: divkn - 2015. Augusztus 27. - 20:24:29
Én, mint Pawn szkripterként is megmondom hogy a timeres megoldás csak egy CPU evő bullshit. js
Cím: írd meg magadnak
Írta: DrAkE - 2015. Augusztus 27. - 20:26:23
Idézetet írta: Xenius date=1440699794\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


 

 

Hidd el, nem Te vagy az egyetlen ember itt fórumon, aki ért programozáshoz. Én C++ - Lua közötti kommunikációval is foglalkoztam, illetve írtam is Lua plugint SA-MPra, szóval tudom, mi hogy működik, de azért köszi. Viszont szomorú, hogy még ilyen szar helyzetben is próbálsz \"okosnak\" tűnni :)
 
Az is szomorú, hogy nem vagy képes ésszerűen gondolkozni, nem 40-50 emberre scriptelek mint a fórum többsége, az mta pedig mérföldekkel másképp működik mint egy sampos lua plugin, 3 éve foglalkozom az MTA-val ne akard megmagyarázni hogy mi hogyan működik. A magyar mentalitás is kibaszott vicces, segíteni próbálok a kezdőknek erre jönnek az olyan okoskodó hozzá nem értő emberek mint te.
 
[/quote]
Attól, hogy 3 éve programozol, nem jelenti azt, hogy ismered is a kliens - szerver kommunikációt, meg a Lua felépítését. A Te kódodat szimplán elkezdi spammelni egy emberke, akkor meghívódik a kliens oldali say parancs, triggerServerEventezel egyet, és elküldöd a szöveget. Csak az a gond, hogy közben az ALAP MTA SAY PARANCSA MÉG UGYAN ÚGY OTT VAN, ÉS MEGFOG HÍVÓDNI, ÉS ELFOGJA KÜLDENI AZ ÜZENETET. A szerver oldali scriptemben mellesleg semmi megterhelő nincs, mivel egy érték állítás van (2 secenként, vagy amikor lejárt a spam protection), meg egy érték vizsgálat :)
 

Drake az hogy jó seggeket nyaltál és kaptál ide egy lokális moderátort nem jelenti azt hogy letettél annyit az asztalra mint Xenius, vagy hogy érsz bármit is ;)
 
[/quote]
Egyrészt, több mindent tettem már alapból a közösségért, mint Te és Xenius tettetek, és valaha is fogtok. Szomorú azt is látni, hogy Xenius hívta a kis csicskáját, hogy \"2v1\"-be megpróbáljanak lenyomni (magyar mentalitás). Attól függetlenül még ugyan úgy szar Xenius megoldása, és le is írtam miért. Ha akarod megnézheted a munkáimat, C++-ban, PAWNban, na meg Luaban is ^^ Peace.
 
[/quote]
Nem fog lefutni az alap say parancs, mivel az onPlayerChat blokkolja (cancelEvent)
Amúgy pedig nem teljesen érted még mindig, az azért triggereli be a kliens a táblában lévő elementeknek a dolgokat mert ha ugyan ezt megcsinálnád egy szerver oldali for ciklussal és úgy iratnád ki a chatbe a dolgokat akkor az egyrészt szinkronizálja a kliensel, ergo adatot küld neki és a kliens válaszol a szervernek hogy oké-e, ha például kilép egy játékos és közben iratod ki szerver oldalon neki akkor kapsz debugba egy szép kis hibaüzenetet mert a kliens nem fog válaszolni. Plusz még mellette szerver oldalon lefutna még pár funkció (például nálunk a nyelv rendszer, illetve a játékos név sem sima getPlayerName), ha ezeket használnád / használnánk szerver oldalon akkor egy szép nagy cpu használatot kapnánk 300 embernél szerver oldalon. A te példádhoz hasonló dolgot használtunk, viszont 200 felett 5-6% szerveroldali cpu terhelés volt, és a szerver laggolt. Ezzel amit én írtam legfelül 0.16% a szerver oldali cpu használat, a kliens oldali is 0.1-0.2 közt van mivel a szerver csak a közeli playerekkel szinkronizál így ha kis pista ír a map egyik végén akkor kis józsinak nem fogja szinkronizálni, mert kis pista gépe nem küldi el kis józsi azonosítóját (element) a szerver oldalnak, így a szerver oldal nem fogja triggerelni kis józsinak amit kis pista ír.

Dupla hozzászólás automatikusan összefûzve. ( [time]2015. augusztus 27. 20:24:13[/time] )


Felesleges tovább húzni a szót, meglátjuk kinek a szervere a működőképes hosszútávon 300 playernél és kinek nem.
Azon hogy egy kutya vagy és csak ugatni tudsz, sajnos józan szavakkal nem tudok változtatni.
:*
 
[/quote]
te pedig fejezd be, nem csak saját magad minősíted ezzel
 
[/quote]
ATTÓL HOGY CANCELEVENTEZED A SZÁJBAKÚRT EVENTET MÉG A KLIENS ELKÜLDI A SZERVERNEK AZ ÜZENETET, ÉS A SZERVER FOGADNI IS FOGJA AZ ÜZENETET!
U.I.: Ha már optimalizációról beszélünk, nem tudom ki futtatja MTA szerverét Windowson.
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 20:32:41
Idézetet írta: DrAkE date=1440699983\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
ATTÓL HOGY CANCELEVENTEZED A SZÁJBAKÚRT EVENTET MÉG A KLIENS ELKÜLDI A SZERVERNEK AZ ÜZENETET, ÉS A SZERVER FOGADNI IS FOGJA AZ ÜZENETET!
U.I.: Ha már optimalizációról beszélünk, nem tudom ki futtatja MTA szerverét Windowson.
 
Attól hogy elküldi a szervernek, semmit sem fog vele csinálni mivel a cancelEvent megállítja. Amúgy pedig Windows-on jobban fut az MTA, és ezt olyanok ajánlották nekünk akikhez képest te semmi nem is vagy és nem is leszel. + Ameddig én szépen beszélek veled, addig elvárom ugyan ezt.
Cím: írd meg magadnak
Írta: krisk - 2015. Augusztus 27. - 20:33:27
Ne haragudj Xenius de ha fingod sincs valamiről akkor ne beszélj bele, mert már a faszságaidon röhögök fél órája. Hogy az isten faszába ne hívná már meg az RPC-t a kliens a szerveren, ha beírsz egy parancsot? Ha már a szerveren le kell kezeljed a cancelEvent()-et ahhoz, hogy ne történjen semmi, az már elég nagy jele annak, hogy a kommnunikáció megtörtént.
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 20:36:06
Idézetet írta: divkn date=1440699869\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Én, mint Pawn szkripterként is megmondom hogy a timeres megoldás csak egy CPU evő bullshit. js
 
Mint azt már írtam, ilyen kis dolgoknál nem számít.
 

Ne haragudj Xenius de ha fingod sincs valamiről akkor ne beszélj bele, mert már a faszságaidon röhögök fél órája. Hogy az isten faszába ne hívná már meg az RPC-t a kliens a szerveren, ha beírsz egy parancsot? Ha már a szerveren le kell kezeljed a cancelEvent()-et ahhoz, hogy ne történjen semmi, az már elég nagy jele annak, hogy a kommnunikáció megtörtént.
 
[/quote]
Ha nem érted a lényeget, ne szólj bele, nyugodtan csinálhasz bármit, nekem van igazam.
Cím: írd meg magadnak
Írta: Legend - 2015. Augusztus 27. - 20:38:09
Ez a chates \"optimizáció\" nem ér semmit sem.
Ahogyan DrAkE is leírta, amikor elküldesz egy üzenetet azt még mindig fogadja a szerver, így van kliens-szerver közötti szinkronizáció a továbbiakban is. Te most írtál feleslegesen egy saját szinkronizációt. Duplán fogadja az üzeneteket így a szerver, ergo csak feleslegesen terheled az internetet meg még egyéb mást.
Cím: írd meg magadnak
Írta: DrAkE - 2015. Augusztus 27. - 20:38:37
Idézetet írta: Xenius date=1440700361\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


ATTÓL HOGY CANCELEVENTEZED A SZÁJBAKÚRT EVENTET MÉG A KLIENS ELKÜLDI A SZERVERNEK AZ ÜZENETET, ÉS A SZERVER FOGADNI IS FOGJA AZ ÜZENETET!
U.I.: Ha már optimalizációról beszélünk, nem tudom ki futtatja MTA szerverét Windowson.
 
Attól hogy elküldi a szervernek, semmit sem fog vele csinálni mivel a cancelEvent megállítja. Amúgy pedig Windows-on jobban fut az MTA, és ezt olyanok ajánlották nekünk akikhez képest te semmi nem is vagy és nem is leszel. + Ameddig én szépen beszélek veled, addig elvárom ugyan ezt.
 
[/quote]
https://bugs.mtasa.com/view.php?id=8967
2gb ram az lófasz 7 nap alatt, az nem bug, az csak az optimalizáció miatt annyi.
Cím: írd meg magadnak
Írta: Incama - 2015. Augusztus 27. - 20:38:59
Idézetet írta: Legend date=1440700689\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Ez a chates \"optimizáció\" nem ér semmit sem.
Ahogyan DrAkE is leírta, amikor elküldesz egy üzenetet azt még mindig fogadja a szerver, így van kliens-szerver közötti szinkronizáció a továbbiakban is. Te most írtál feleslegesen egy saját szinkronizációt. Duplán fogadja az üzeneteket így a szerver, ergo csak feleslegesen terheled az internetet meg még egyéb mást.
 
Megható
Cím: írd meg magadnak
Írta: krisk - 2015. Augusztus 27. - 20:40:28
Idézetet írta: Incama date=1440700739\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


Ez a chates \"optimizáció\" nem ér semmit sem.
Ahogyan DrAkE is leírta, amikor elküldesz egy üzenetet azt még mindig fogadja a szerver, így van kliens-szerver közötti szinkronizáció a továbbiakban is. Te most írtál feleslegesen egy saját szinkronizációt. Duplán fogadja az üzeneteket így a szerver, ergo csak feleslegesen terheled az internetet meg még egyéb mást.
 
Megható
 
[/quote]
Konstruktív hozzászólásokat várok, miben nem volt hülyeség az, amit mi magyarázunk neked már fél órája?
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 20:43:08
Idézetet írta: Legend date=1440700689\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic
Ez a chates \"optimizáció\" nem ér semmit sem.
Ahogyan DrAkE is leírta, amikor elküldesz egy üzenetet azt még mindig fogadja a szerver, így van kliens-szerver közötti szinkronizáció a továbbiakban is. Te most írtál feleslegesen egy saját szinkronizációt. Duplán fogadja az üzeneteket így a szerver, ergo csak feleslegesen terheled az internetet meg még egyéb mást.
 
Nekem nem úgy tűnik, hogy felesleges volna. :)
http://puu.sh/jQFja/0c7ab320ff.png
http://puu.sh/jQFzR/d7d81bb7a0.png
Cím: írd meg magadnak
Írta: Incama - 2015. Augusztus 27. - 20:44:51
Drakenek és egybe kell írni.
Cím: írd meg magadnak
Írta: DrAkE - 2015. Augusztus 27. - 20:46:09
Idézetet írta: Xenius date=1440700988\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


Ez a chates \"optimizáció\" nem ér semmit sem.
Ahogyan DrAkE is leírta, amikor elküldesz egy üzenetet azt még mindig fogadja a szerver, így van kliens-szerver közötti szinkronizáció a továbbiakban is. Te most írtál feleslegesen egy saját szinkronizációt. Duplán fogadja az üzeneteket így a szerver, ergo csak feleslegesen terheled az internetet meg még egyéb mást.
 
Nekem nem úgy tűnik, hogy felesleges volna. :)
http://puu.sh/jQFja/0c7ab320ff.png
http://puu.sh/jQFzR/d7d81bb7a0.png
 
[/quote]
Látom már nem kell oltsalak téged, megtetted magad ezekkel a képekkel.
Cím: írd meg magadnak
Írta: Xenius - 2015. Augusztus 27. - 20:48:57
Idézetet írta: DrAkE date=1440701169\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57497\" data-ipsquote-contentclass=\"forums_Topic


 

Ez a chates \"optimizáció\" nem ér semmit sem.
Ahogyan DrAkE is leírta, amikor elküldesz egy üzenetet azt még mindig fogadja a szerver, így van kliens-szerver közötti szinkronizáció a továbbiakban is. Te most írtál feleslegesen egy saját szinkronizációt. Duplán fogadja az üzeneteket így a szerver, ergo csak feleslegesen terheled az internetet meg még egyéb mást.
 
Nekem nem úgy tűnik, hogy felesleges volna. :)
http://puu.sh/jQFja/0c7ab320ff.png
http://puu.sh/jQFzR/d7d81bb7a0.png
 
[/quote]
Látom már nem kell oltsalak téged, megtetted magad ezekkel a képekkel.
 
[/quote]
Rendben, majd ha ki tapasztalod a dolgokat rájössz hogy ennek a hülye Xeniusnak igaza volt.