Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - krisk

Oldalak: [1] 2 3 ... 153
2
SAMP / Továbbjutottak
« Dátum: 2016. November 07. - 22:04:28 »
Már nézegettem a kódokat egy ideje de sajnos nem jutottam el odáig, hogy teljes értékelést tudjak adni, mert nem nagyon volt időm konkrétan a szervert feltelepíteni és megnézni a munkákat.
A HTTP szerveres témában sajnos vannak problémák.
1ST_Chr scriptje nem akar elindulni nekem, amikor a webszerverre felmegyek, azonnal kifagy a SAMP szerver (a webadmin és web scriptek betöltésével, és az eredeti cfg-vel is). Crashdetect szerint az alábbi a probléma (mindent -d3-al újrafordítva):
 

[21:55:59] [debug] Server crashed while executing web.amx
[21:55:59] [debug] AMX backtrace:
[21:55:59] [debug] #0 native CallRemoteFunction () from samp-server.exe
[21:55:59] [debug] #1 00000478 in IsFileProtected (filename[]=@00037370 \"\") at include\\webserver.inc:113
[21:55:59] [debug] #2 000025e8 in public serverfuncLoadDocument (Socket:id=0, remote_clientid=0, url[]=@0003736c \"/\") at ../filterscripts/web.pwn:227
[21:55:59] [debug] #3 native CallRemoteFunction () from samp-server.exe
[21:55:59] [debug] #4 00000218 in LoadDocument (Socket:id=0, remote_clientid=0, url[]=@0003a644 \"/\") at include\\webserver.inc:31
[21:55:59] [debug] #5 000023e4 in public onSocketReceiveData (Socket:id=0, remote_clientid=0, data[]=@00036e6c \"GET / HTTP/1.1\", data_len=319) at ../filterscripts/web.pwn:214

 
Ha a probléma okát meg tudod mondani, rá tudnánk térni a feladatok működésbeli értékelésére is.

3
SAMP / Régió II
« Dátum: 2016. Október 15. - 15:59:50 »
Idézetet írta: 1ST_Chr date=1476461935\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63324\" data-ipsquote-contentclass=\"forums_Topic


Nyilván ez nem produkciókész kód, pl. a HTTP fejlécet nem fájlból kéne kiolvasnia, hiszen pl. a tartalom hossza függ a fájl hosszától, illetve dátumot is kéne küldeni a szervernek.
 
Nem kötelező elküldeni ezeket, max kép fájloknál.
Nekem ennyivel működik:
 

HTTP/1.1 200 OK
Content-type: text/html; charset=iso-8859-2

 

[/quote]
Működni működik, csak a szabvány szerint kell dátum, ha a szerver tud küldeni olyat.
 

   Origin servers MUST include a Date header field in all responses,
   except in these cases:
      1. If the response status code is 100 (Continue) or 101 (Switching
         Protocols), the response MAY include a Date header field, at
         the server\'s option.
      2. If the response status code conveys a server error, e.g. 500
         (Internal Server Error) or 503 (Service Unavailable), and it is
         inconvenient or impossible to generate a valid Date.
      3. If the server does not have a clock that can provide a
         reasonable approximation of the current time, its responses
         MUST NOT include a Date header field. In this case, the rules
         in section 14.18.1 MUST be followed.

 
A tartalom hosszát nem kell elküldeni, de ha a szerver leáll valami ok miatt a küldés során akkor nem garantálható az adat integritása, szóval biztonsági okok miatt eléggé javasolt az elküldése. A szabvány ettől függően kéri, hogy hacsak nincs külön indok rá, legyen elküldve az üzenet hossza:
 

   Applications SHOULD use this field to indicate the transfer-length of
   the message-body, unless this is prohibited by the rules in section
   4.4.

 
Az alap socket_send függvény szöveget vár, nem tömböt, ami NULL-terminált. socket_send_array()-al elvileg lehet küldeni tetszőleges hosszúságú, tetszőleges tartalmú tömböt.
 

 
statikus tartalom-kiszolgáló szervert írnod, mint pl. az apache public_html cucca

 
Fogalmam sincs ez mit jelent.
 
[/quote]
Gyakorlatilag, hogy egy komplett webszervert kell írj, ami a weboldalra érkező GET kéréseket megfelelteti egy mappaszerkezetnek a webszervereden, például a scriptfiles/asd/fgh/j.png képet kiszolgálja a szerver, ha a http://localhost/asd/fgh/j.png képet lekéred a böngésződből. Ezt nem kötelező megcsinálni, csak mondtam, hogy a sok probléma miatt javasolt az, hogy csak egy szimpla HTML oldalt dobjon vissza a szerver minden kérésre.

4
SAMP / Régió II
« Dátum: 2016. Október 14. - 17:49:44 »
Az elinduláshoz itt egy példa HTTP szerver, ami egy statikus oldalt szolgál ki, ha bármilyen GET lekérést kap a böngészőtől:
 

#include <a_samp>
#include <socket>
#include <sscanf2>
new Socket:sock;
main()
{
print(\"\\n----------------------------------\");
print(\"  Pelda HTTP szerver\\n\");
print(\"----------------------------------\\n\");
sock = socket_create(TCP);
socket_set_max_connections(sock, 5000);
socket_bind(sock, \"127.0.0.1\");
socket_listen(sock, 80);
}
public onSocketReceiveData(Socket:id, remote_clientid, data[], data_len)
{
print(data);
new method[10];
if(sscanf(data, \"s[10]{s}\", method))
return printf(\"invalid request, might want to send something back\");
if(!strcmp(method, \"GET\")) {
printf(\"got a GET request, let\'s send back a stock response\");
ServeHTTP(id, remote_clientid);
return 1;
}
if(!strcmp(method, \"POST\")) {
printf(\"got a POST request\");
return 1;
}
return 1;
}
stock ServeHTTP(Socket:id, remote_clientid)
{
new File:handle = fopen(\"response\", io_read);
new buf[128];
if(!handle)
return printf(\"there\'s been an error opening the response file\");
while(fread(handle, buf))
socket_sendto_remote_client(id, remote_clientid, buf);
fclose(handle);
return 1;
}

 
A response file tartalma pedig:
 

HTTP/1.1 200 OK
Server: sample http server
Content-Type: text/html; charset=utf-8
Content-Length: 46
<html><body><h1>hello vilag</h1></body></html>

 
Nyilván ez nem produkciókész kód, pl. a HTTP fejlécet nem fájlból kéne kiolvasnia, hiszen pl. a tartalom hossza függ a fájl hosszától, illetve dátumot is kéne küldeni a szervernek.
Ezen kívül, ha csak nem akarod, hogy a böngészőtől rengeteg GET kérést kapj képekre és egyéb adatokra, akkor erősen ajánlom, hogy a szerver azonnal bontsa a kapcsolatot, amint a HTML oldalt kiküldte, és lehetőleg csak egy HTML oldalt szolgáljon ki a szerver (egyébként kell egy statikus tartalom-kiszolgáló szervert írnod, mint pl. az apache public_html cucca).

5
SAMP / Régió II
« Dátum: 2016. Október 13. - 17:30:08 »
Idézetet írta: Kyosuke_Hiroshi date=1476340824\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63324\" data-ipsquote-contentclass=\"forums_Topic

A statikus HTML oldalt a szerver a /scriptfiles mappából olvassa ki, 

 <- Ezt pontosan hogy érted?
a többi tiszta, socket pluginnal webadmin kb easy win, de őőőő ez a rész mit jelente?
 
Egy egyszerű HTML weboldal néhány űrlappal, amik többsége gyakorlatilag egy gombból áll, gyakorlatilag a feladatod az, hogyha érkezik egy akármilyen HTTP GET kérés, akkor PAWN-ban megnyitsz egy fájlt a scriptfiles mappából majd a HTTP szervered visszadobja ezt válaszként. Egy egyszerű példaképp:
 

<html>
<body>
<h1>Szerver leállítása</h1>
<form action=\"szerver_leallitas\" method=\"post\">
<input type=\"submit\" value=\"Leállítás\">
</form>
</body>
</html>
 
[/quote]
A HTML oldal designje nem fontos, az nem lesz értékelve, a lényeg maga a szerver.
A webszervereden tudod ellenőrízni, hogy milyen HTTP kérések jönnek be, ha bejön egy POST kérés a szerver_leallitas URL-re, akkor egyszerűen a scripten belülről küldesz egy RCON exit parancsot.
Az hülyeség, hogy angol dokumentációt kell olvasni, csak az eredeti RFC-t adtam ki, de ha rákeresel az interneten, hogy a HTTP protokol hogy működik, igazából nagyon egyszerű. Ha van PuTTY-d, akkor egyszerűen felcsatlakozol pl. a httpbin.org-ra a 80-as porton, és elkezdesz tesztelgetni, kiírja az összes HTTP fejlécet, amit a kliensed elküld (ha megnyitod pl. a https://httpbin.org/get oldalt).
De segítségképp itt van egy példa kérés-válasz:
 

GET / HTTP/1.1
Host: teszthoszt.hu
Accept: text/html
User-Agent: pelda HTTP kliens

 


HTTP/1.1 200 OK
Server: pelda http szerver
Date: Thu, 13 Oct 2016 15:22:21 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 46
<html><body><h1>hello vilag</h1></body></html>

6
SAMP / Régió I
« Dátum: 2016. Október 12. - 15:59:03 »
Segítséget nyújthat továbbá a Socket plugin topicja, ahol van egy csomó példascript és produkció-szintű kiadás, amelyek a plugint használják (http://forum.sa-mp.com/showthread.php?t=333934).

7
SAMP / Régió II
« Dátum: 2016. Október 12. - 15:58:32 »
Segítséget nyújthat továbbá a Socket plugin topicja, ahol van egy csomó példascript és produkció-szintű kiadás, amelyek a plugint használják (http://forum.sa-mp.com/showthread.php?t=333934).

8
SAMP / Csevegő
« Dátum: 2016. Szeptember 27. - 20:13:38 »
Idézetet írta: Basshunter date=1474923961\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63200\" data-ipsquote-contentclass=\"forums_Topic
haliho olyan kerdesem lenne h a feladat megoldhato-e ugy,h nem pawn scriptet irok hanem pluginkent irom meg a feladat megoldasat? illetve a feladat osszetettsege is rahatassal van, ahogy nezem ugye nem egyforma nehezsegu es szamitasigenyu feladatokrol beszelunk, sztem egy path findert konnyebb implementalni cppben mint pawnal szorakozni, legalabbis a cppt jobban ismerem es sokkal logikusabbnak tartom. elorre is koszonom az illetekesek valaszat
BH
 
Egyetértek, de én ragaszkodnék a PAWN-hoz.
A feladatok egyik sajátos dolga pont az, hogy PAWN-ban nehezen kivitelezhető dolgokat kell összedobni. CPP-ben a standard könyvtár illetve a nyelv maga sokkal könnyebbé teszi a feladatok megoldását, én pedig azt szeretném látni, hogy hogyan tudjátok egy viszonylag korlátolt nyelvben jól megoldani a problémát (pl. ebben az esetben egy gráf adatainak tárolását PAWN-os adatstruktúrákban/külön fájlokban/ahogy éppen akarod).

9
SAMP / Régió IV
« Dátum: 2016. Szeptember 26. - 15:27:40 »
Idézetet írta: zsoolt997 date=1474830206\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63182\" data-ipsquote-contentclass=\"forums_Topic

d. API, amellyel a jogosultságok változtathatóak és lekérdezhetőek
Lehet csak este van, de nekem nem esik le, hogy ez mit takar..  :shurg:
 
[/quote]
Te gyakorlatilag egy ACL rendszert írsz, amivel a szervereden lévő komplexebb jogosultságok is kezelhetőek. Nyilvánvalóan ez nem egy egyszerű munka, mivel szükséges az is hozzá, hogy a konfliktáló jogosultsági adatok valahogy feloldódjanak (ha pl. egy admin láthatja egy klán paneljét, de te még egyes klántagként nem láthatod, akkor látnod kell, értelemszerűen).
Ez egy komplex rendszer, valamilyen módon a létrehozott jogosultságokat tárolni kell és lekérdezni (a kiírás egy relációs adatbázis-rendszert javasol, mint pl. a beépített SQLite [?] vagy MySQL, de bármilyen más működő rendszer elfogadott). Ezt a funkcionalitást te egy interfésszel kiadod a scripternek, mint egy függvénykönyvtár. Magyarul szükséges csinálnod belőle egy include-ot (vagy többet), és ezekben létrehozni a scripter által elérhető függvényeket (pl. CreatePermission, DeletePermission, IsAbleTo, stb.). Ez a rendszered API-ja, és egy jól működő API-t kell írni.

10
SAMP / Régió VII
« Dátum: 2016. Szeptember 26. - 15:22:37 »
Idézetet írta: Brian Harris date=1474843453\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63186\" data-ipsquote-contentclass=\"forums_Topic
Ha szépen kérhetném valaki elmagyarázná mit kell csinálni? Mert a kérdést se értem, érettségi dezsavum van. (vannak tippjeim de nem akarok feleslegesen dolgozni!)
1. TIPP: HTTP-vel küldök adatokat másik webszerverre ahol az adott php fájl feldolgozza és majd kilistázza? (A kilistázási fájl is kell?Ö
Edit: A másik kérdés, elég a pawno vagy kell a php fájl is?
 
A megvalósítást rád bízom, az egyetlen kitétel, hogy HTTP protokolt kell alkalmazzon és valamilyen formátumban közölnie kell egy távoli hoszttal némi információt a játékosokról. Hogy mit, az rád van bízva, meg az is, hogy a HTTP protokolt milyen módon használod, nyilván a szakszerűbb kivitelezések fogják kapni a több pontot.
Nem kötelező webszervert készíteni, a feladat a kliensre szól. Ha akarsz egy szervert, amivel tudsz tesztelni, vagy írsz egyet magadnak (ez nem lesz értékelve), vagy használhatsz egy tetszőleges tesztszervert, pl. ezt.

11
SAMP / Régió II
« Dátum: 2016. Szeptember 26. - 15:19:46 »
Idézetet írta: 1Mark6 date=1474870830\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63180\" data-ipsquote-contentclass=\"forums_Topic
Én úgy értelmeztem, hogy a képernyőn kijelöl egy pontot, ( 2D ( X + Y ) ), és ahova kattintott annak a játékbeli pozicióját lekérdezi. ( 3D ( X Y Z ) ). De lehet rosszul értelmeztem én is :D
 
Pontosan. A textdrawok egy 640x480-as gridre vannak felrakva, egy tetszőleges ilyen koordinátát (pl. 300x410) kell átkonvertálni arra a 3D-s koordinátára, amit a játék éppen abban a pillanatban az adott képernyőn lévő koordinátán mutat.

12
SAMP / Régió I
« Dátum: 2016. Szeptember 25. - 20:50:03 »
Idézetet írta: Pedró date=1474825488\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"63171\" data-ipsquote-contentclass=\"forums_Topic
Dehát ez egyértelmű, hogy dinamikusan mindenféle szélsőséges esetben jó legyen.
Na mindegy.
De ezt csak a vonat vezetőjének írja ki, hogy mehet, lassítson, vagy álljon meg, ugye, jól értettem?
:)
 
Ahogy meg akarod csinálni, 3D texttel vagy bárhogy máshogy.
 

Köszi!
A feladat nagyjából világos, annyiból nem hogy a vonatok terén annyi a tudásom mint egy döglött kacsának.
Mi a szösz az a szelvény a jelen esetben?
 
[/quote]
A két jelző által határolt térközről van itt szó, tehát arról a szakaszról, amelynek a biztonságáért az adott jelző felel.

13
SAMP / Régió I
« Dátum: 2016. Szeptember 25. - 19:33:15 »
Például, ha elkezdet lerakni a berendezéseket SF vasútállomás előtt, és végigrakod az egész vasútvonalon (ami ugye körbe megy), akkor ha végigmegy a vonat, az utolsó vasúti jelző pont az SF-i vasútállomás előtt lesz, amit a scriptnek tudnia kell kezelni (tehát az utolsó jelző állapota az első kettő jelző állapotától függ, az utolsó előtti az utolsóétól és az elsőétől, stb.), de nem mindig CSAK ilyen pályák vannak, szóval ez csak egy opció.

14
Szkript Liga vol. 3 (Bírók) / Mindenes
« Dátum: 2016. Szeptember 22. - 16:06:32 »
MTA-hoz nem szeretnék nyúlni, de SAMP-hoz szívesen találok ki ötleteket.

15
Bemutatkozás / Tomeek
« Dátum: 2016. Július 24. - 12:08:49 »
Idézetet írta: krook date=1469353640\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"4667\" data-ipsquote-contentclass=\"forums_Topic
Üdv a fórumon, MC Tomeek! Szoktál még freestylozni? Ha igen, oszd meg az alkotásaidat! Jó fórumozást!
 
engem is érdekelnének a művek, nagyon megfogtak a 2011 körüli alkotásaid, pm-ben dobj párat

Oldalak: [1] 2 3 ... 153
SimplePortal 2.3.7 © 2008-2024, SimplePortal