Ü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.


Témák - ElektroN

Oldalak: [1] 2 3
1
Kérdések, Segítség / Képszerkesztési segítség
« Dátum: 2017. Január 31. - 14:53:37 »
Szevasztok.
 
Nos, előre leszögezem, hogy elég kezdő szinten vagyok a képszerkesztésben, soha nem is foglalkoztam vele komolyabban (gondolok itt a painttől nagyobb dolgokra), illetve nem is áll szándékomban profi szintre eljutni, most csupán a szükség adta helyzetből adódóan szeretném valamelyest fejleszteni tudásomat. Szóval.. térjünk is a lényegre!
 
Cseleserpén egy ganggel nyomulok már egy jó ideje, ami azt vonja maga után, hogy nem árt SS-eket feltölteni a topikjukba. Ezt eddig is megtettem, azonban azon képek minősége meglehetősen silány tekintettel arra, hogy elég sok szerkesztési hibát tartalmaz, nem kellemes ránézni (habár a rajta lévő kacifántos rólpléjek már-már széppé teszik).
 
A legeslegfontosabb kiküszöbölni való probléma a szöveg.. Tehát én eddig azt csináltam, hogy csináltam két külön képet.. Egyik a chatben lévő RP-t, a másik pedig a hátteret (például egy kézfogásról készült képet) tartalmazza. Megnyitottam két painttel a két különböző képet, majd a szöveget átvágtam a másikra, ezzel azt eredményezve, hogy a szöveg mögötti háttér ott maradt, ami eléggé csúnya. Azt szeretném elérni, hogy csak a szöveg maradjon, átlátszó háttérrel, hogy az így kapott képet már átvághassam a háttérre.
 
 
 
Itt egy példa... Erről szeretném a szöveg mögötti hátteret eltüntetni:
 
 
 
\"40a399b596badd53ff2a5243bda28e0e.png\"

2
Általános / Mit jelent számodra a banda RP egy RP szerveren?
« Dátum: 2016. Február 13. - 19:35:10 »
Sziasztok! Mivel már én is egy jó ideje bandaRP-t tolok, és az volt az elmúlt egy évben a tapasztalat, hogy legtöbben még mindig a régi warrendszeres, gangzoneos bandaRP-t  tartják jónak, ezért készítek egy felmérést, hogy hány ember szavaz a régi GF stílusú bandaRP-re, és hány ember pártolja az IRL bandákat utánozó graffitivel való bandaterület megjelöléses, rádió és frakciókocsik nélküli bandaRP-t. Ha van időtök, és úgy gondoljátok, hogy fontos számotokra a bandaRP, akkor megkérlek titeket, hogy szavazatotokat indokoljátok is! Köszönöm!

3
SA-MP: Szerverfejlesztés / Üzenőfal
« Dátum: 2015. November 15. - 10:54:05 »
Sziasztok! Egyik ismerősömnek készítettem egy text mentéses üzenőfalat. Azért nem használtam MySQL-t, mert mindenképpen ragaszkodott hozzá, hogy ne SQL alapú legyen. Azóta nem alakítottam át, viszont arra gondoltam, hogy megosztom, mert mások számára is hasznos lehet.
Az oldal, ahová kilistázódnak az üzenetek (index.php)
 

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Üzenőfal</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<meta name=\"author\" content=\"ReSIk\" />
<meta name=\"copyright\" content=\"ReSIk\" />
   <link rel=\"stylesheet\" href=\"style.css\" />
</head>
<body>
<center>
<h1>Üzenetküldés</h1>
<form method=\"post\" action=\"feldolgozo.php\">
Neved: <input type=\"text\" name=\"nev\" value=\"\" />
<br /><br />
Üzeneted: <textarea name=\"uzenet\"></textarea>
<br /><br />
<input type=\"submit\" value=\"Küldés\" />
<br /><br />
</form>
<h1>Eddigi üzenetek:</h1>
<div id=\"header\">
<hr />
<?php
$fajlnev = \"kiirasok.txt\";
$megnyitesolvas = fopen(\"$fajlnev\", \"r\");
$olvas = fread($megnyitesolvas, filesize($fajlnev));
if ( $olvas == null ) {
   echo \"Nincsenek üzenetek!<br />\";
}
else {
   echo $olvas;
}
?>
</div>
</body>
</html>

 
Az új üzenet hozzáadását feldolgozó script (feldolgozo.php)
 

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>Üzenőfal</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<meta name=\"author\" content=\"ReSIk\" />
<meta name=\"copyright\" content=\"ReSIk\" />
<link rel=\"stylesheet\" href=\"style.css\" />
</head>
<body>
<?php
function feldolgozas()
{
$nev = $_POST[\"nev\"];
$uzenet = $_POST[\"uzenet\"];
if ( !isset ( $nev ) || !isset ( $uzenet ) ) {
echo \"
   <script language=\'JavaScript\'>
      alert(\'Minden űrlapot ki kell töltened!\');
      location.href=\'index.php\';
   </script>
\";
}
else {
if ( strlen ( $nev ) < 3 || strlen ( $nev ) > 20 ) {
   echo \"
   <script language=\'JavaScript\'>
      alert(\'Nem lehet három karakternél rövidebb és húsz karakternél hosszabb neved!\');
      location.href=\'index.php\';
   </script>
\";
}
elseif ( strlen ( $uzenet ) < 10 || strlen ( $uzenet ) > 5000 ) {
   echo \"
   <script language=\'JavaScript\'>
      alert(\'Az üzenetnek 10 karakternél nagyobbnak és 5000 karakternél kisebbnek kell lennie!\');
      location.href=\'index.php\';
   </script>
\";
}
else {
   if ( $nev && $uzenet ) {
      $megnyit = fopen(\"kiirasok.txt\", \"a\");
      $beleir = fwrite($megnyit, \"Üzenetet írta: <b>$nev</b> ekkor: <b>\" . date(\"Y. \") . date(\"m. \") . date(\"d. | \") . date(\"H: \") . date(\"i: \") . date(\"s \\n\\n\") . \"</b><br />\" . \"Üzenet: <b>\'$uzenet\'\\n\\n</b><hr />\" );
      fclose($megnyit);
         echo \"<script language=\'JavaScript\'>
            alert(\'Üzenetedet sikeresen kiírtuk!\');
            location.href=\'index.php\';
         </script>\";
   }
   else {
      echo \"<script language=\'JavaScript\'>
            alert(\'Üzeneted elküldése közben hiba lépett fel!\');
            location.href=\'index.php\';
         </script>\";
   }
}
}
}
feldolgozas();
?>
</body>
</html>

 
A scripthez tartozó kezdetleges design (style.css)
 

body {
background-color: grey;
}
h1 {
color: white;
font-family: courier;
}
input {
border: 2px solid black;
}
textarea {
border: 2px solid black;
}
hr {
width: 800px;
}
div#header {
border: 2px solid black;
border-radius: 7px;
background-color: rgba(9,7,1,0.4);
}
b {
color: white;
}

 
A script működése: A főoldalon lévő űrlapba írhatod a neved és az üzented. Amennyiben nincs még létrehozva a mentéshez szükséges kiirasok.txt, úgy nem kell manuálisan létrehozni, mert a script létrehozza magának! Ha hozzáadsz egy üzenetet, az mentődik a fájlba, és a főoldalon kilistázza a fájl tartalmát. A kiirasok.txt fájlt abban a könyvtárban hozza létre, amiben az index.php van!
A Live Demo eléréséhez kattints ide! Ha ki szeretnétek próbálni, akkor nyugodtan. :)

4
Bemutatkozás / ReSIk bemutatkozása (kezdetleges, bővítve lesz)
« Dátum: 2015. November 09. - 16:01:32 »

Bevezetés
Sziasztok. Úgy gondoltam, illő lenne már nekem is írni egy bemutatkozást, hiszen több, mint egy éve tag vagyok  (ha nemcsak ezt az egy felhasználót vesszük, akkor lassan két éve). Nos, azt kell tudni rólam, hogy első évfolyamos vagyok egy informatikai középsuliban, ahol heti négy órában tanuljuk a szaktantárgyakat (informatika, informatika-technológia-elmélet, informatika-technológia-gyakorlat). Emellett persze kötelező tanulni a többi tantárgyat is, de bevallom, többségében nem nagyon kedvelem őket :D (kivétel az angol és a tesi). A foci valahogy nem az én világom, de szeretek kosarazni, edzeni, lógni a haverokkal. Régebben karateztam is, de már abbahagytam.
Szerintem nem meglepő az se, hogy másik hobbim a programozás. Az egész (körülbelül egy éve) úgy kezdődött, hogy nyílt nap volt több iskolában is, én pedig elmentem a mostani sulim nyílt napjára (is). Tetszett az iskola, meg minden, ezért úgy gondoltam, ne legyek sík hülye, amikor bemegyek: hobbi szinten elkezdtem nézelődni, hogy hogyan is írnak weboldalakat, asztali programokat, stb. Elkezdtem nézegetni HTML tutorialokat. Bevallom, ekkor még azt se tudtam, hogy mi fán terem egy weboldal. Nagy volt a lelkesedésem. Amikor kezdtem belejönni, jött a CSS. Tavaly decemberben már megírtam első (statikus), csak HTML és CSS fájlokból álló sablonomat egy GTA projektemhez. Sok volt a pozitív visszajelzés, ezért folytattam: jött a PHP. Elég nehéz volt megértenem, hogy miért kell egyes \"szövegekhez\" (ekkor még nem tudtam, hogy nevezik) zárójeleket írni (most már nevetek rajta, hogy nem tudtam, mi az a függvény :D). Rengeteg munkával értem el oda, ahol most vagyok. A PHP után jött a JavaScript, majd a C, C#, Lua. Utánanéztem a Pythonnak és a Perlnek is. A Perl alapjait is elsajátítottam, de a Python valahogy idegen számomra :). Most ott vagyok, hogy azt mondhatom magamra: ismerem a programozást általánosságban KÖZEPES szinten. Korábban (a PHP esetében például) heteket töltöttem el azzal, hogy az alap dolgokat, vezérlési szerkezeteket, ciklusokat megértsem.
Pályafutásom a SA-MP-ban
Az egész két éve kezdődött, amikor elkezdtem játszani NagyCoolon. Találkoztam ott egy sráccal (a nevére már nem emlékszek), aki felhívott egy falusi \"RP\" szerverre (nagyon OP szerver volt). Itt kezdtem az RP pályafutásomat, itt sajátítottam el az alap dolgokat. A komolyabb RP már EverLife-on kezdődött másfél éve. Itt LSDM leader voltam legelőször. Állítólag jól végeztem a munkámat, de a mostani eszemmel van egy-két kifogásolható dolog ezzel kapcsolatban. Körülbelül fél évet játszottam Everen, még most is azt mondom, hogy Magyarország legjobb SA-MP RP szervere volt. :) Sajnálom nagyon, hogy bezárt. Ezután SeeRPG-n folytattam a játékot. Itt két frakciót is vezettem elég nagy sikerekkel (O-13, LS-13). Rengeteg emberrel megismerkedtem, rengeteg barátot szereztem (megemlítendő Mark Dolores és Vladimir Belicoff, másik nevén Aloisio De Melchor, Vlad hívott fel SeeRPG-re, szóval igazából miatta kezdtem el az egészet :D). Voltam FBI leader is see-n, jelenleg pedig RiseRPG-n játszok, és úgy néz ki, összejön egy frakció. :)
Időközben bővítve!

5
Kérdések, Segítség / Valami ötlet? (PHP)
« Dátum: 2015. November 08. - 20:14:18 »
Megoldva!

6
Leírások / [Leírás] Fájlkezelés
« Dátum: 2015. November 01. - 18:58:09 »
Sziasztok!
Ebben a tutorialban a Lua-ban elérhető fájlkezelésről lesz szó. A fájl fordításához le kell töltenetek a Lua for Windows projektet, mely tartalmaz egy SciTE szerkesztőt is, beépített fordítóval. Ide kattintva letölthetitek.
A Lua önmagában is egy kényelmes, könnyen tanulható, átlátható kódot eredményező script alapú programozási nyelv. A fájlkezelés sem túl bonyolult, egy kis logikával pedig egyszerűen készíthetünk látványos dolgokat.
 
A példákban használt függvények
 

print() -- Kiíratásra szolgáló függvény
io.stdin:read() -- A konzolba írt string típusú tartalmat olvassa be
tonumber(io.stdin:read()) -- A konzolba írt number (float, integer, double) típusú tartalmat olvassa be
os.date(\"%Y\") -- Az aktuális évet visszaadó függvény
io.open(\"fájlnév\", \"r\") -- Beolvassa a megadott fájlt
io.open(\"fájlnév\", \"w\") -- A fájl írását teszi lehetővé
valtozonev:write(\"szöveg\") -- Ír valamit a fájlba
press() -- Egy általam létrehozott függvény, ami ha nem írsz semmit a függvénybe, kiírja, hogy \'Press any key to continue...\', vagy ha az értéke nem \'nil\' (írsz valamit a függvénybe), azt adja vissza, és kirak egy io.read() függvényt
valtozonev:close() -- A valtozonev:open() függvény zárópárja

 

A press() függvény kódja:
 

function press(szoveg)
if szoveg == nil then
print \"Press any key to continue...\\n\"
else
print(szoveg,\"\\n\")
end
io.read()
end

 

A fájlkezelés bemutatása egy konkrét példán keresztül
 
Mivel a Lua blokkstruktúrált nyelv, lehetőségünk van létrehozni blokkokat, a blokkokon belül pedig lokális (helyi) változókat, melyek csak az adott blokkon belül elérhetőek. Egy konkrét példa a lokális és globális változók közötti különbség szemléltetésére:
 
a = \"Szia!\" -- Globális változó deklarálása
do -- Blokk kezdése
local a = \"Nem szia!\" -- Lokális változó deklarálása
end -- Blokk lezárása
print(a) -- A globális változót írja ki, és a lokálist figyelmen kívül hagyja, holott ugyanaz mindkettő neve

 
Következőleg hozzunk létre egy blokkot, hogy az ott deklarált változók nevei a kód más részeiben is használhatók legyenek, aztán figyeljük meg a blokkba írt kódrészletet.
 
do
print \"Adj meg egy fajlnevet kiterjesztessel egyutt! (pl.: faj.txt)\"
local fajl = io.stdin:read()
print \"Add meg a neved!\"
local nev = io.stdin:read()
print \"Add meg a szuletesi eved!\"
local ev = tonumber(io.stdin:read())
local kor = os.date(\"%Y\") - ev
end

 
Létrehoztuk a fajl, nev, ev és kor lokális változókat. Az első két változó az io.stdin:read() függvényt kapta értékül. Ez annyit tesz, hogy a konzolba bevitt karakterláncokat tárolja el a változóban. Az ev változónak a tonumber(io.stdin:read()) függvényt adtuk értékül. Ez ugyanazt teszi, mint az első két változó esetében az io.stdin:read() függvény, csak itt számot vár a változó. A print függvénnyel kiíratjuk, hogy mit is kell beírni az adott változóba.
A kor változó szemet szúrhat. Ez a változó az ev változóba bevitt adat és az aktuális év alapján kiszámolja, hogy hány éves az illető. Ezt úgy teszi meg, hogy az aktuális évből kivonja az ev változó értékét. Tehát ha 1995-öt adok meg születési évnek, akkor a fájlban kor: 20 fog megjelenni.
 

        local fp = io.open(fajl, \"w\")
local n = fp:write(\"nev: \",nev,\"\\n\")
local e = fp:write(\"kor: \",kor,\"\\n\")

 
Ismét deklaráltunk három változót, s ezek nem mások, mint az fp, az n (a nev rövidítése) és az e (az ev rövidítése). Az fp változó értéke egy függvény, amely megnyitja (vagy ha nincs olyan fájl, elkészíti) azt a fájlt, amit korábban begépeltünk a konzolba. Az n változó a létrehozott fájlba íratja a nevet, amit korábban megadtunk, valamint az e változó a kort (amit korábban kiszámoltunk) íratja bele a fájl újabb sorába (erre szolgál az \\n).
 

    if n == true and e == true then
print(\"Az adatok mentesre kerultek a(z)\",fajl,\"fajlban!\")
    else
print(\"Nem sikerult a mentes!\")
    end

 
A következő lépés az, hogy megvizsgáljuk a mentés sikerességét, és ha sikerült, akkor a fenti feliratot és a létrehozott fájl nevét kapjuk meg kimenetként.
 

press()
fp:close()

 
A korábban létrehozott press() függvény segítségével létrehozunk egy pause-t, ami egy gombnyomásra vár, majd lezárjuk a kódot az fp:close() segítségével.
 
A teljes kód
 


function press(szoveg)
if szoveg == nil then
print \"Press any key to continue...\\n\"
else
print(szoveg,\"\\n\")
end
io.read()
end
do
print \"Adj meg egy fajlnevet kiterjesztessel egyutt! (pl.: fajl.txt)\"
local fajl = io.stdin:read()
print \"Add meg a neved!\"
local nev = io.stdin:read()
print \"Add meg a szuletesi eved!\"
local ev = tonumber(io.stdin:read())
local kor = os.date(\"%Y\") - ev
local fp = io.open(fajl, \"w\")
local n = fp:write(\"nev: \",nev,\"\\n\")
local e = fp:write(\"kor: \",kor,\"\\n\")
   if n == true and e == true then
      print(\"Az adatok mentesre kerultek a(z)\",fajl,\"fajlban!\")
   else
      print(\"Nem sikerult a mentes!\")
   end
press()
fp:close()
end

7
Unity / Modellező kerestetik
« Dátum: 2015. Október 25. - 18:39:05 »

Sziasztok! Egyik ismerősömmel hozzáfogtunk egy projekthez, egy sandbox stílusú szerepjátékot szeretnénk létrehozni. Mivel mi se tudunk mindent megcsinálni, úgy gondoltuk, hogy kellene még egy ember a csapatba. Mi írjuk a \"vázat\", a rendszereket, stb., az (egyelőre) kérdéses harmadik személy pedig a modelleket, objektumokat, mapokat készítené el. Nem várunk sokat a jelentkezőktől, csupán ennyit:
 
  • Legyél értelmes
  • Érts a Unityhez legalább közepes szinten
  • Munkádban legyél precíz, tudj csapatban dolgozni
  • Tartsd be elvárásainkat, és a megbeszéltek szerint cselekedj!
Jelentkezni PÜ-ben lehetséges!

8
Egyéb / C
« Dátum: 2015. Október 23. - 22:59:49 »
A többi itteni topikhoz hasonlóan ide lehet C nyelvvel kapcsolatos problémák, tesztek, publikálás esetén írni!

Dupla hozzászólás automatikusan összefûzve. ( 2015. Október 24. - 14:49:03 )

Aki C-t akar tanulni, annak ajánlom a Code::Blocks nevezetű programot. A C mellett támogatja a C++ nyelvet is. Egyszerűen lehet vele konzolos applikációkat készíteni. A Notepad++-hoz hasonlóan színezi a nyelv kifejezéseit, duplázza a \"\", {}, (), [] karaktereket. ide kattintva lehet letölteni.
Írok majd ide egy kis tutorialt a C nyelvvel kapcsolatban, ami folytatásos formában lesz majd elérhető :D
 

Történet
A C nyelvet Dennis Ritchie fejlesztette ki Ken Thompson segítségével a \'60-as évek végén, \'70-es évek elején. A C nyelv alapja a B nyelv, melyet Ken alkotott meg. Erre alapozott Dennis, aki \'72-re ki is adta a C első verzióját. Mire jó a C nyelv? Igazából bármire (általános célú programozási nyelv). Írnak benne operációs rendszereket, vírusokat, sőt még programozási nyelveket is! (a Lua könyvtára is C nyelven íródott). A régi szemlélet szerint a C magas szintű programozási nyelv, hiszen csak az Assembly tekinthető alacsony szintűnek. A C nyelvet is Assemblyben írták, amely nem volt egy egyszerű meló. Aki látott már Assembly kódot, az érti, hogy mire gondolok. :) A C legfrissebb verziója a C11, melyet 2011 decemberében adtak ki.
A C nyelv hatással volt a C++, C#, PHP, JavaScript, Java, Lua nyelvekre. A C++ tulajdonképpen a C \"folytatása\", és a ++ az ún. értéknövelő operátorra emlékeztet (ez a legtöbb nyelvben megnöveli a változó értékét eggyel).


\"Hello world\" program
 
 


#include <stdio.h>
int main()
{
     printf(\"Hello world!\\n\");
     return 1;
}

 


Az első sor beágyazza a stdio.h tartalmát a dokumentum elejére. Az utána következő sor a main() függvény. Minden C programnak tartalmaznia kell ezt a függvényt. A main jelentése legfontosabb, legfőbb, vagyis a program ezt a függvényt fogja először végrehajtani. A main előtti int azt jelenti, hogy integer, vagyis szám lesz a függvény visszatérési értéke.
A függvény törzse {} (kapcsos zárójelek) közé kerül. A printf függvény segítségével tudunk kiíratni valamit a képernyőre. Az \\n karakter sortörést jelent, vagyis ezután a karakter után egy új sor kezdődik. A return utasítással kilépünk a függvényből.
Adattípusok, változók
A C nyelv típusos, vagyis változók deklarálásakor (létrehozásakor) meg kell adnunk a változó adattípusát. Fontosabb adattípusok:
 
 


int // Egész szám
float // Lebegőpontos tört
double // Dupla pontosságú lebegőpontos tört
char // Egy karakter
signed // Előjeles
unsigned // Előjel nélküli
long // Hosszú
short // Rövid

 


Egy változó deklarálása áll az adattípusból, a változó nevéből és a változó értékéből.
 
 


#include <stdio.h>
int main()
{
    int szam = 54; // Integer típusú változó
    return szam;
}

 


Lehet azonban deklarálás után is definiálni a változót.
 
 


#include <stdio.h>
int main()
{
    int szam; // Változó deklarálása
    szam = 54; // Változó definiálása
    return szam;
}

 
Hamarosan folytatás!

9





Előszó
Sziasztok! Bizonyára sokatoknak ismerős lehet az SCP - Containment Breach nevezetű játék. Nos, erre a játékra alapulna a szerver. Aki nem ismerné a játékot, ide kattintva megnézheti a leírást, ha lejjebb görget. A játékban a különböző kísérlet alanyok (lények) az SCP kezdőszöveggel, és az utána írt számukkal különböztethetők meg egymástól. Párhuzamot képez az SCP és a GTA SA között az 51-es körzet. Mindkét játékban létezik ez a misztikus jelentőséggel bíró létesítmény, azonban annyi eltérés azért lesz, hogy a szerveren nem csupán az épületben és környékén, hanem egész Las Venturas térségében, sőt lehetséges, hogy majd egész San Andreasban (amennyiben nagy lesz a játékosszám és az igények is növekednek) játszhatunk. Egyelőre gondot okoz az, hogy hogyan oldhatnánk meg a skineket, figyelembe véve, hogy a szerver SA-MP-on lesz kivitelezve, és egy skin se hasonlít a \"medveszerű\" lényre. Ha találunk megfelelő embert kliens írására, úgy ez a probléma már nem lesz többé probléma...
Maga a szerver egy túlélő-apokalipszis stílusú lesz, melyben NPC-k lesznek az ellenfelek, mi magunk pedig a túlélők. Egyedi map-kidolgozást szeretnénk a szerverbe iktatni, azonban ez még a jövő...
Valamennyi SPC-ben megtalálható lény benne lesz a szerverben, viselkedésük pedig hasonló lesz az eredeti játékbeliekéhez. Terveink közé tartozik továbbá egy RP-szerű szerver létrehozása, ugyanis ez RP-nek mondható, ha úgy nézzük.. Amennyiben sikerül összehozni a csapatot, a szervernek külön topikot hozunk létre egy részletes leírással!
Leírás az SCP-173-ról



  • Emberszerű, állati lény


  • Helyváltoztatása a teleportáláshoz hasonlóan történik


  • Folyamatosan fókuszálni kell felé, különben közelebb jön hozzánk


  • Az egész játékban végigkíséri a menetet



Kritériumok scriptereknek



  • Legyél értelmes


  • Érts a PAWN nyelvhez


  • Érts a SA-MP szerver konfigurálásához, esetlegesen felmerülő hibák javításához


  • Legyél megbízható


  • A megbeszéltek szerint járj el minden esetben



Kritériumok designereknek



  • Legyél értelmes


  • Érts a Photoshophoz (vagy valamelyik képszerkesztő programhoz, ne a paint legyen az!)


  • Legyél megbízható


  • A megbeszéltek szerint járj el minden esetben



Jelentkezni privát üzenetben, vagy a [email protected] e-mail címen lehetséges!




10
Off Telep / [PHP] A PHP alapjai
« Dátum: 2015. Október 16. - 18:22:36 »





Bevezetés


Üdvözlök minden kedves fórumozót! Úgy döntöttem, hogy egy folytatásos tutorial sorozatot fogok készíteni a PHP: Hypertext Preprocessor nevezetű programozási nyelvről. Az utótag mára már elhanyagolható, ugyanis a PHP kinőtte magát: egyre fejlettebb és fejlettebb. Elértünk oda, hogy szinte minden weboldal tartalmaz PHP-t. Milliós nagyságrendhez igazítható a ma PHP-t futtató weblapok száma. Ezek az adatok már csak a JavaScriptet nem múlják felül. Ha szoktuk a kisebb-nagyobb oldalak forráskódját nézegetni (ajánlott, mert sok dolgot megtudhatunk belőle), akkor láthatjuk, hogy szinte az összes tartalmaz egy <script> taget, benne egy language=\"JavaScript\" attribútumot, melyből következtethetünk arra, hogy az oldal használ JS scripteket. Az igények növekedésével a JavaScript használata is elengedhetetlen egy modern weblap elkészítéséhez, azonban ebben a tutorialban csak a PHP-val fogunk foglalkozni... A kettes számrendszerrel való számolás, átváltás (például 10-es számrendszerbeli szám átváltása 2-esbe, vagy éppen fordítva) nem sorozatom tényleges része! Ki fogunk rá térni a továbbiakban!!!
 

Tartalomjegyzék
 
 
  • A kettes számrendszer
  • A memória és típusai
  • A \"Hello, világ!\" program
  • Beépített adattípusok
  • Változók
  • Elágazások
  • ?: műveletek
  • A switch()

 
 
 
A bináris (kettes) számrendszer
- A 20. század közepén, pontosabban 1945-ben egy magyar származású, amerikai matematikus, Neumann (ejtsd.: \'Najman\') János kidolgozta az úgynevezett \'Neumann-elveket\'. A Neumann-elvek egyikét képezi a bináris számrendszer használata a számítógépeknél. Hogy miért kifizetődő a decimális számrendszerrel ellentétben? Nagyon egyszerű a válasz: egyszerű vele dolgozni, hiszen a decimális számrendszerrel ellentétben nem 10, hanem CSAK KÉT lehetőség van: igen vagy nem (1 vagy 0, yes vagy no).
- Egyszerűbben definiálhatjuk úgy is, hogy van feszültség, avagy nincs feszültség (utóbbi primitív példánkat a könnyebb megértés miatt néztük meg).
- A mai számítógépek működése is ezen alapul. Minden karakter kettes számrendszerbeli számok halmaza (pl.: 01010101...)
- Az, hogy egy kettes számrendszerbeli szám pozitív vagy negatív, az ún. előjelbit határozza meg
A memória
1 bájt = 8 bit
- A memória a számítógép adatait, valamint utasításait tartalmazza
Fajták:
 
  • RAM (Random Access Memory) // Írható és olvasható memória

       - Statikus RAM (SRAM, nem igényel frissítést, olcsóbb, lassabb)
       - Dinamikus RAM (DRAM, frissítést igényel, gyorsabb, drágább)
 

  • ROM (Read Only Memory) // Csak olvasható memória
          - Gyárilag programozható, feszültség után is megőrzi az adatokat
          - PROM (A felhasználó által egyszer programozható)
          - EPROM (A felhasználó által programozható, UV fénnyel törölhető)
          - EEPROM (A felhasználó által programozható, elektromosan törölhető)
          - EEPROM-Flash (Írási és olvasási sebességét tekintve hasonlóan működik a RAM-hoz)
    Fontos még:
    • BIOS (Basic Input/Output System)
     
    A \"Hello, világ\" PHP nyelven
    PHP nyelven kétféleképpen meg lehet oldani a kiíratást, echo és print függvénnyel. Alapjáratban minden függvénynek (még az érték nélkülieknek is) zárójelpárt kell tartalmazniuk. Az echo és a print utasítások is használhatók zárójellel, hasonlóan a függvényekhez. A Hello, világ stringet (szöveget) idézőjelek vagy aposztrófokkal írathatjuk ki. A lényeges különbség az aposztróf és az idézőjel között, hogy az idézőjel kiértékeli a változókat (miket???! később rájössz!), az aposztróf azonban nem.
    Ez is helyes:
     

 

echo(\"Hello, világ!\");
echo(\'Hello, világ!\');
 
és ez is:
 

echo \"Helló, világ!\";
echo \'Helló, világ!\';
 
Beépített adattípusok
- string (karakter vagy karakterlánc, pl.: $a = \"Szia!\"; )
- integer (egész szám, pl.: $a = 4;)
- float (lebegőpontos szám, pl.: $a = 4.5)
- double (duplapontosságő lebegőpontos szám, pl.: $a = 4.5556
- boolean (logikai érték, pl.: $a = true;
Változók
A változók tulajdonképpen ideiglenes tárolók, melyekben tárolhatunk karakterláncokat, számokat (float, double, integer), logikai értékeket, tömböket, tömbök elemeit. Változókat $ jellel tudunk definiálni. A változók neve tartalmazhat betűket, számokat, aláhúzás jelet, viszont számmal a változó neve nem kezdődhet! Elviekben lehetnek a változókban ékezetes karakterek, azonban nem szoktuk használni.
 

$valtozo = \"Ez egy változó\"; // String
$valtozo = 4; // Int
$valtozo = true; // Bool
$valtozo = 5.6; // Float
 
Ha kétszer vagy többször definiáljuk a változót különböző értékkel, akkor a legutóbbi definiálás értékét veszi fel, tekintve arra, hogy a PHP interpreter (soronként értelmező).
A PHP megkülönbözteti a kis- és nagybetűket, ezért ezzel vigyázzunk!
Az if-else elágazás
A C nyelvhez hasonlóan lehetőségünk van aszerint kiíratni valamit, hogy az milyen értéket vesz fel. Erre szolgál az if-else elágazás.
Pl.:
 

$valtozo = 34;
if ( $valtozo == 34 )
{
       echo \"Létezik a változó, és értéke $valtozo\";
}
else
{
      echo \"Nem létezik a változó\"!;
}
 
Lehetőségünk van további vizsgálatokat hozzárendelni az elseif ág segítségével!
 
$valtozo = 34;
if ( $valtozo == 34 )
{
       echo \"Létezik a változó, és értéke $valtozo\";
}
elseif ( $valtozo == 35 )
{
     echo \"Létezik a változó, és értéke $valtozo\";
}
else
{
      echo \"Nem létezik a változó\"!;
}

 

A ?: műveletek
Amennyiben nem kívánjuk használni az elseif ágat, úgy lehetőségünk van használni egy rövidített if-else elágazásnak megfelelő műveletsort.
 

$valtozo = 34;
$tarolo = ( $valtozo == 34 ) ? \"A változó értéke $valtozo\" : \"A változ értéke nem 34, hanem $valtozo\";
echo $tarolo;
 
Létrehoztunk egy változót, melynek az értéke 34. Ezen felül létrehoztunk egy $tarolo nevű változót, mely tartalmazza a műveletsort.
A ? (kérdőjel) utáni művelet akkor hajtódik végre, ha az előtte lévő zárójelpárba írt feltétel igaznak bizonyul.
Ha a visszatérése false, vagyis üres a változó, a változó értéke 0 (ez lehet stringbe írt 0 is), esetleg az értéke eltér 34-től, akkor a kettőspont után írt művelet hajtódik végre.
Természetesen nem muszáj változóban tárolni a műveletet, ki is írathatjuk egyből!
 

$valtozo = 34;
echo ( $valtozo == 34 ) ? \"A változó értéke $valtozo\" : \"A változó értéke nem 34, hanem $valtozo\";
 
Ezzel a lehetőséggel egy sorban megoldhatjuk azt, amit a sima if-else elágazással 4-5 sorral oldanánk meg.
A switch \"kapcsoló\"
A PHP (a C nyelv mintájára) biztosít számunkra egy switch() \"kapcsolót\", amely megvizsgál egy változót, és annak megfelelően hajt végre valamit.
 

$nev = \"Géza\";
switch ( $nev )
{
   case \"Géza\":
      echo \"Szóval a neved $nev!\";
   break;
   case \"Péter\";
      echo \"Szóval a neved $nev\";
   break;
   case \"Balázs\";
      echo \"Szóval a neved $nev\";
   break;
   case \"Jonatán\";
      echo \"Szóval a neved $nev\";
   break;
   default:
      echo \"Nincs ilyen lehetőség\";
   break;
}
 
Definiáltuk a $nev változót, majd a switch() utasítás paramétereként megadtuk a $nev változót. Ezáltal a switch() azt a a változót vizsgálja meg.
case érték: // Egy lehetőséget ad meg. Amennyiben az érték helyére beírt szöveg vagy szám van a változóban, az alá írt utasításokat kapjuk kimenetként.
break; // Amennyiben az adott case igaz, a fordító a break; utáni sorokat már nem veszi figyelembe! Ha ezt kifelejtjük, akkor a többi sor is végre fog hajtódni!
default: // Akkor hajtódik végre, ha egyik case se tartalmazza azt, ami a változóban definiálva van.
Természetesen össze lehet vonni az ágakat, és akkor egy lehetőség alkalmával több ág fog végrehajtódni.
Folyamatos frissítés alatt áll!

11
Kérdések, Segítség / PAWN vs LUA
« Dátum: 2015. Október 13. - 20:31:29 »

Sziasztok! Az lenne a kérdésem, hogy melyik nyelvet érdemes elsajátítani a kettő közül? Igazából ki szeretnék valami újat próbálni, viszont olyas valamit, amit kamatoztatni is tudok majd, netalántán évek múlva is.
Jómagam SA-MP párti vagyok, azonban egyre többet játszok már az MTA-val is. Rendkívül érdekes dolgokat meg lehet valósítani MTA-ban. A SA-MP ellenben örök klasszikus, és a fórumok aktivitásából is azt véltem leszűrni, hogy a SA-MP még mindig jobban hódit, szemben az MTA-val.
Ezért állok nehéz döntés előtt. Ha számít valamit (már pedig szerintem számít), infószakos suliba járok. Tisztában vagyok a számrendszerekkel, komplemensekkel, alapfogalmakkal, informatika-történelemmel, a PHP, C# szintaxisával. A konkrét kérdése(i)m felétek:
 
  • Személy szerint melyik kliensen látnátok szívesen eggyel több scriptert?
  • Melyiket érdemes a két nyelv közül elsajátítani?
  • Melyik a könnyebb a két nyelv közül (ez nem mérvadó, mert szeretem a kihívásokat)?
  • Hol tudnék ezekhez tutorialokat találni?

12





Sziasztok! Sokak nehezen képzelik el azt, hogy hogyan is épül fel egy komolyabb e-mailező rendszer. Azonban most szemléltetem, hogy hogyan lehet egy nagyon egyszerű levelező rendszert létrehozni.
Ehhez HTML űrlapokat, illetve a mail() PHP függvényt fogjuk használni.
 

1. mail.html fájl létrehozása
 
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html>
<head>
<title>E-mail küldő</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<meta name=\"author\" content=\"ReSIk\" />
<meta name=\"copyright\" content=\"ReSIk\" />
</head>
<body>
<center>
<h1>E-mail küldő</h1>
<form method=\"post\" action=\"tovabbito.php\">
Akinek küldöd: <input type=\"text\" name=\"to\" value=\"\" />
<br />
<br />
Üzenet tárgya: <input type=\"text\" name=\"subject\" value=\"\" />
<br />
<br />
Üzenet: <textarea name=\"message\" cols=\"20\" rows=\"20\"></textarea>
<br />
<br />
<input type=\"submit\" value=\"Küldés!\" />
<br />
<br />
</form>
</body>
</html>

 
Létrehoztunk egy form taget, mely a tovabbito.php fájlt fogja nekünk megnyitni. Létrehoztunk továbbá három űrlapot, melyek segítségével bevisszük az adatokat a feldolgozóba.
2. tovabbito.php létrehozása
 
<?php 
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
$charset = \"Content-type: text/html; charset=utf-8\";

 
Létrehoztunk négy változót, melyek definícióját a felhasználó viszi be az űrlapok segítségével. A változók név szerint: $to ( e-mail, ahová küldjük), $subject ( az üzenet tárgya ), $message ( maga az üzenet ), $charset ( ezen változó segítségével adjuk meg az UTF-8-as kódolást, hogy megfelelően jelenjenek meg a magyar karakterek ).
Létrehoztuk a $sender változót, amely tartalmazza a mail() függvényt, és azok paramétereit.
 
$sender = mail(
$to,
$subject,
$message,
$charset
);

 
A mail() függvény paramétereinek sorrendje kötött! ( címzett, üzenet témája, üzenet, headerek )
Ezután megvizsgáljuk, hogy true logikai értéket kapunk-e vissza az üzenetküldés során. Amennyiben igen, kiírja nekünk, hogy az üzenetet sikeresen elküldtük. Ha nem, akkor értelem szerűen a sikertelen küldés szöveg fog megjelenni!
 
if ( $sender == true )
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzeneted sikeresen továbbítva lett!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
else
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzenetedet nem tudtuk továbbítani!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
?>

 
Teljes kód:
 
<?php 
$to = $_POST[\"to\"];
$subject = $_POST[\"subject\"];
$message = $_POST[\"message\"];
$charset = \"Content-type: text/html; charset=utf-8\";
$sender = mail(
$to,
$subject,
$message,
$charset
);
if ( $sender == true )
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzeneted sikeresen továbbítva lett!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
else
{
echo \"<script language=\'JavaScript\'>alert(\'Az üzenetedet nem tudtuk továbbítani!\');</script>\";
echo \"<script language=\'JavaScript\'>location.href=\'mail.php\';</script>\";
}
?>

13
Munkaerő keresése / "Kolléga" kerestetik
« Dátum: 2015. Október 08. - 22:06:06 »



Üdvözlök mindenkit!
Egy ismerősömmel úgy döntöttünk, hogy kedvtelésből alapítunk egy hobbi szinten tevékenykedő csapatot. Hogy mivel is foglalkozunk? Weboldalak készítésével. Hogy miért döntöttünk így? A válasz nagyon egyszerű: azzal szeretnénk foglalkozni, amelyet mindketten szeretünk; szeretnénk csapatban dolgozni más emberekkel; szeretnénk fejlődni, egymás jóvoltából plusz tudást szerezni. Ezen tevékenységhez keresünk egy (vagy több) olyan embert, aki szívesen csatlakozna hozzánk, tud csapatban dolgozni, illetve érti is a dolgát. Leginkább JavaScript-hez értő személyek jelentkezését várjuk, mivel a többi poszt már be van töltve! Természetesen minél többen csináljuk, annál minőségibb lesz az általunk készített munka.
Kritériumok
 

- Legyél értelmes ( a kor nem elsődleges szempont )
- Legyél megbízható
- Add meg az alap tiszteletet a többiek felé
- Kerüld a vulgaritást, tiszteletlen magatartást
- Rendelkezz ( legalább ) egy kommunikációs programmal ( Skype, TS3, etc. )
 
 
Jelentkezni PÜ-ben lehetséges!
A projekt non-profit, tehát semmilyen pénzösszeg nem jár a csapatba tartozásért!

14
SA-MP: Szerverfejlesztés / [C] C magyar nyelven
« Dátum: 2015. Október 02. - 22:32:26 »
Sziasztok! Unatkoztam, így megcsináltam a C alap nyelvi elemeit magyarra! :D Ez annyit jelent, hogy a nyelv egy részének elemeit magyar nyelven kódolhatod. Ez nagyban segíti a megértését...
Kifejezések, függvények, stb...:
-elso() // Ez a main() függvénynek felel meg
-kiir() // Ez a printf függvény alternatívája. Működése ugyanaz, mint a printf függvényé!
-akkor // Ez a kifejezés a \"{\" jelnek felel meg. Elágazásoknál, ciklusoknál, enumnál, stb. ezt használjuk
-vege // Ez a kifejezés a \"}\" jelnek felel meg. Ez az \"akkor\" kifejezés zárópárja. Ha használjuk az \"akkor\"-t, kötelező az \"vege\"-vel lezárni!
-visszateres // Ez a return kifejezés alternatívája
-ures // A void kulcsszónak felel meg
-konst // A const kulcsszónak felel meg
-hagyd // A volatile kulcsszónak felel meg
-karakterlekeres // A konzolba tudsz írni karaktereket, és azokkal a karakterekkel tudsz dolgozni...
Adattípusok:
-szam // integer típus
-karakter // char típus
-lebegopontos // float típus
-duplalp // double típus
-rovid // short típus
-hosszu // long típus
-hosszuhosszu // long long típus (nem szabványos adattípus, de a fordítók ismerik)
-elojeles // signed
-elojelnelkuli // unsigned
TERMÉSZETESEN LEHET EZEKET A TÍPUSOKAT MIXELNI, AHOGYAN AZ ALAP NYELVBEN IS! (pl.: elojeles hosszu szam)
Ami hiányzik (alap dolgok):
- Elágazások ( Gondok voltak vele, amit még meg kell oldanom! )
- Ciklusok ( Ezekkel is gondok voltak, de majd beleteszem! )
-#include
-#define
-typedef
Ahogy eszembe jutnak dolgok, és lesz is rá időm, bővíteni fogom! :D
Alap példaprogram C nyelven:
 

int main(void)
{
    getchar();
    printf(\"Szia!\");
    return 0;
}

 
Ugyanez a példaprogram az általam készített változattal:
 

szam elso(ures)
akkor
    billentyulekeres();
    kiir(\"Szia!\");
    visszateres 0;
vege

 
Változók kiírása C nyelven:
 

int main(void)
{
    const int a = 54;
    printf(\"Valtozom: %i\", a);
    return 0;
}

 
Az általam készített fordítással:
 

szam elso(ures)
akkor
    konst szam a = 54;
    kiir(\"Valtozom: %i\", a);
    visszateres 0;
vege

 
hungary.h file:
 

#define elso main
#define kiir printf
#define akkor {
#define vege }
#define visszateres return
#define ures void
#define konst const
#define hagyd volatile
#define karakterlekeres getchar
typedef int szam;
typedef char karakter;
typedef float lebegopontos;
typedef double duplalp;
typedef short rovid;
typedef long hosszu;
typedef long long hosszuhosszu;
typedef signed elojeles;
typedef unsigned elojelnelkuli;
 

15
Kérdések, Segítség / [C] Miért nem tudok változót kiíratni?
« Dátum: 2015. Szeptember 28. - 20:09:06 »
Sziasztok! A C nyelv tanulásába kezdtem, viszont nekem vannak még sötét dolgok, mint például az, hogy miért nem tudok a printf-fel változót kiíratni? Compile után megnyitja a konzolt, nem ad ki semmit, majd kb 2 mp után befagy az exe.
A kódom:
 

#include <stdio.h>
int main(void)
{
    int a, b, eredmeny;
    a = 4;
    b = 2;
    eredmeny = a + b;
    printf(eredmeny);
}

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