Jump to content
  • Sign Up
GTAGames.nl

Search the Community

Showing results for tags 'tutorial'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • In de spotlight
    • Nieuwsoverzicht
    • Red Dead Redemption & Red Dead Online
  • Grand Theft Auto
    • GTA Online
    • GTA Serie
    • GTA IV-era
    • GTA III-era
    • GTA Classic View
    • GTA Modding
  • GTAGames Netwerk
    • Mededelingen
    • Stamkroeg
    • Contests
    • Feedback
  • Lifestyle
    • Games
    • Rockstar Games
    • Opinie
    • Computer Talk
    • Media
    • Sport

Blogs

  • Mazzeltje
  • AWN
  • Marius z'n Blogje
  • .Levi.
  • OWN
  • Blog owners manual
  • WikiGTA
  • GTA Martineza
  • The Gunslingers
  • Jarno blog
  • Jowx' Blog
  • GTA2 Warzone
  • GTA-Sheep is jarig!
  • GTA Mafia Stories
  • Project's en co. - E3 Blog
  • ICT
  • Joriz Blog
  • GTAforum Verhalen
  • GFX Spot
  • The Yakuza
  • Web-dev & Programmeren
  • Rick Roll!
  • F1 News Bulletin
  • Thundertje's Blog
  • Arjen's Blog
  • The DuckDome
  • GamesThug.com
  • De Schijtlama's
  • ML Awards
  • MAF
  • Overclocking 2.0
  • blogs_blog_42
  • The Gunslingers
  • Beat Down Blog
  • LibertyKillerZ
  • PPL
  • FireFoxer
  • The Royal Guardian
  • AIRSICK Magazine.
  • De Zoepketel
  • Hoe te deleten?
  • The Covesight Community Blog
  • Fiegel's Projects
  • Gold Rush Blog
  • GTA Martineza (PUBLIC)
  • Marius z'n Blogje (PUBLIC)
  • OWN Testblog
  • OWN (PRIVATE CLUB)
  • Leeg
  • LibertyKillerZ Privé
  • Rick Roll! (PUBLIC)
  • Web-dev & Programmeren (PRIVATE CLUB)
  • Thundertje's Blog (PRIVATE)
  • Thundertje's Blog (PRIVATE CLUB)
  • FireFoxer (PRIVATE CLUB)
  • Blogs
  • Testblog
  • Wollepluis
  • Opinieblad
  • Death Blog
  • Death Inc Ledensectie
  • PC Clan Events
  • XBOX 360 Clan Events
  • CrewLife
  • Sprunk & Co Computertips
  • Graphics Blog
  • FTF Storylines archief
  • Cosily Club
  • CO-omgeving
  • Club Duck
  • Leeg
  • Forumpoker
  • Development Blog
  • Koeien en kalveren en dingen enzo
  • Covesight Propaganda
  • OWN Lustrum
  • The FL Studio Blog
  • Guard's Blog
  • JOB
  • Svenie's Blog
  • MD's Blog
  • Winning Shot
  • BBB - Bassieboy's Blog
  • Boer's Hok
  • Application Narrator
  • Phoenomena
  • Speratyal Fantasy
  • Sans Scrupules
  • The Underground
  • Everybody loves Joey
  • Sport Blog
  • Geen mening
  • Inactief
  • The Oceans Blog
  • The Oceans Kladpapier
  • The Oceans Casino
  • The Oceans Casino - Medewerkers
  • Joriz's Blog 2
  • Overig
  • Eliology
  • Top 20
  • Illuminati
  • Asphy's blog
  • Votairs blog
  • ERRWINS' Blog
  • Nick's Life in a Blog
  • Jaarboek 2016
  • WIDM
  • Michael's Fotogalerij
  • The Independent
  • The Criminal Legends Blog
  • Pit of insanity
  • De Koning
  • Idk... It's mine
  • Aron’s Schrijfkrabbels
  • Actief
  • InsideGTA
  • NicolaB's Blog
  • De Kamer van Klank
  • De Blog

Categories

  • Grand Theft Auto V
    • Modificaties
    • Trainers
    • Save Games
  • Grand Theft Auto IV
    • Save Games PS3
    • Save Games PC
    • HD Trailers
    • Patches
    • Modificaties
    • Editors en Tools
  • Chinatown Wars
    • PSP Save Games
  • GTA Vice City Stories
    • Save Games PSP
    • Trainers
  • GTA Liberty City Stories
    • Save Games PSP
    • Trainers & Tools
  • GTA San Andreas
    • Editors en Tools
    • Modificaties
    • Save Games Android / iOS
    • Save Games PC
    • Save Games PS2
    • Trainers
  • GTA Vice City
    • Editors en Tools
    • Trainers
    • Save Games
    • Modificaties
  • Grand Theft Auto III
    • Modificaties
    • Skins
    • Save Games
    • Trainers
    • Editors en Tools
  • GTA2
    • Editors en Tools
    • Modificaties
  • Grand Theft Auto
    • Editors en Tools
  • Handige Tools en bestanden
  • DE GROTE GTAGAMES.NL ZOMERACTIE!

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 7 results

  1. pannekoek28

    Geen tutorial bij online.

    Goedendag mensen, als ik online wil gaan maak ik een character en wordt vervolgens meteen in de open wereld gedropt. Geen introductie zoals die moet zijn waarbij je uit het vliegtuig komt en moet racen tegen lamar. Nu heb ik dus geen introductie en snap ik nog niet veel/niks van gta online. Iemand hier ervaring mee en of tips? Alvast bedankt!
  2. David22

    [TUT][PHP] GTAvatars

    Tutorial GTAvatars -- de achtergrondcode! Inleiding Gisteren heeft Joriz de GTAvatars geïntroduceerd op het forum, een service welke een willekeurige voorgrond en achtergrond samenvoegt tot een leuke avatar. Dat kunnen wij ook! Wat gaan we doen? In deze tutorial zal ik laten zien hoe je een willekeurige afbeelding inlaadt en hier een willekeurige voorgrond overheen plakt. Niveau is redelijk laag, in principe zou iedereen met basiskennis van PHP deze tutorial moeten kunnen volgen. Waarschuwing: In deze tutorial gebruik ik de functie read_dir. Hier hoort geen underscore tussen! Het forum laat mij echter read_dir niet aan elkaar plaatsen, waardoor ik gedwongen wordt hier van gebruik te maken! De bestanden Voor deze tutorial heb ik de volgende bestanden beschikbaar: [MAP] front niko.png sa-girl.png yusuf.png [*][MAP] back img1.png img2.png img3.png [*]index.php Zoals je al kan raden, plaats in in de mappen 'front' en 'back' respectievelijk de voor- en achtergronden. Ik heb er voor gekozen om alle afbeeldingen in .png op de slaan, om de consistentie te bewaren (de voorgronden moeten namelijk transparantie ondersteunen -- iets wat .jpg niet kan!). De complete mapstructuur is onderaan deze tutorial te downloaden. Alle afbeeldingen zijn van het formaat 512 x 512. De code Tijd voor het echte werk! Voordat ik begin met code te plaatsen, zal ik eerst een stappenplan maken: Lees de beide directories uit, sla de afbeeldingen op in een array Kies een willekeurige voor- en achtergrond Maak de afbeelding Geef de afbeelding aan de browser Leeg de buffer Uitlezen van de directories Om de directory uit te lezen, moeten we deze eerst openen: $dir = opendir("./front"); Vervolgens maken we een lege array aan om de gevonden bestanden in op te slaan: $fronts = array(); Hierna gaan we alle items uit de geopende map doorlopen, en slaan we de naam van het bestand wat we nu bekijken op in $filename. while($filename = read_dir($dir)) { De bovenstaande code zegt eigenlijk "als er nog een 'ongelezen' bestand in de map staat, sla de naam hiervan dan op in $filename en voer de volgende code uit:" We zijn alleen geinteresseerd in de .png bestanden, dus halen we de extensie op met de functie pathinfo(). We gebruiken de parameter PATHINFO_EXTENSION omdat we alleen de extentie willen zien. Vervolgens kijken we of deze gelijk is aan png: if(pathinfo($filename, PATHINFO_EXTENSION) == "png") { Als dit het geval is, voegen we de filename toe aan onze array: $fronts[] = $filename; Uiteraard moeten we de geopende blokken codes ook afsluiten, en we verbreken ook de verbinding naar de map: } } closedir($dir); Dit moeten we ook doen voor de achtergronden, vervang daarvoor ./front in ./back en $fronts in $backs. Dit geeft ons tot nu toe de volgende code: Kies een willekeurige voor- en achtergrond PHP heeft een prachtige functie voor het kiezen van een random waarde uit een array: array_rand(). Deze geeft de index terug in een array, we moeten dan dus alleen nog even de waarde horende bij die index op te vragen om heel makkelijk aan een willekeurige voor- en achtergrond te komen: $front = $fronts[array_rand($fronts)]; $back = $backs[array_rand($backs)]; Dit geeft ons tot nu toe de volgende code: Maak de afbeelding Ah, the place where the magic happens. We beginnen eerst met de browser vertellen dat we een png-afbeelding zullen geven: header('content-type: image/png'); Vervolgens openen we de zojuist gekozen voor- en achtergrond: $image = imagecreatefrompng("back/" . $back); $overlay = imagecreatefrompng("front/" . $front); Let op: de mappen moeten er nog voor, want die zitten niet inbegrepen in de hiervoor gegenereerde bestandsnaam! Hierna gaan we de twee afbeeldingen over elkaar plaatsen. Dit doen we met de functie imagecopy(). Deze heeft de volgende syntax: bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h ) Dit betekend het volgende (de beschrijving is afkomstig van de PHP manual, dus Engels): dst_im Destination image link resource. -- In ons geval de achtergrond, dus $image src_im Source image link resource. -- In ons geval de voorgrond, dus $overlay dst_x x-coordinate of destination point. dst_y y-coordinate of destination point. src_x x-coordinate of source point. src_y y-coordinate of source point. -- We plaatsen de afbeeldingen helemaal over elkaar heen, en de hebben dezelfde afmetingen. Al deze waarden zijn dus 0. src_w Source width. src_h Source height. -- Beide 512, we werken per slot van rekening met alleen maar 512x512 afbeeldingen! Onze functie ziet er dan dus als volgt uit: imagecopy($image, $overlay, 0, 0, 0, 0, 512, 512); Nu staat in $image onze overlay bijgeschreven; we hebben het resultaat dus al! We moeten nu alleen nog even het resultaat laten zien... Geef de afbeelding aan de browser en leeg de buffer Om af te sluiten, geven we de afbeelding nog even aan de browser en legen we de buffer. imagepng($image); imagedestroy($image); Dit geeft ons de uiteindelijke code (voorzien van commentaar -- yay!): <?php /** * Random Avatar Generator * Based on GTAvatars by GTAGames.nl * Script by David22 for GTAGames.nl */ // Open the front directory en create an array with all png images in there $dir = opendir("./front"); $fronts = array(); while($filename = read_dir($dir)) { if(pathinfo($filename, PATHINFO_EXTENSION) == "png") { $fronts[] = $filename; } } closedir($dir); // Perform the same action for the back directory $dir = opendir("./back"); $backs = array(); while($filename = read_dir($dir)) { if(pathinfo($filename, PATHINFO_EXTENSION) == "png") { $backs[] = $filename; } } closedir($dir); // Choose a random index from the generated arrays $front = $fronts[array_rand($fronts)]; $back = $backs[array_rand($backs)]; // Tell the browser we're providing an image header('content-type: image/png'); // The base will be the background $image = imagecreatefrompng("back/" . $back); // Open the foreground $overlay = imagecreatefrompng("front/" . $front); // Paste the foreground over the background imagecopy($image, $overlay, 0, 0, 0, 0, 512, 512); // Output the image imagepng($image); // Clear the buffer imagedestroy($image); ?> Afsluiting En dat was 'm al. Het script is totaal niet moeilijk, PHP bevat vele functies om tot een soortgelijk resultaat te komen. Mocht je nog vragen of opmerkingen hebben, post gerust. Alle bestanden gebruikt in deze tutorial kan je op http://www.solidfiles.com/d/407e8da1ad/ downloaden. De uiteindelijke code staat ook op http://pastebin.com/mb7Hp0kd
  3. nolms

    Bypass voor de tutorial bug

    Ik heb nu dus ook dat als ik een vriend wil uitnodigen tot de sessie of wil joinen dat ie zegt dat beide spelers de tutorial moeten volbrengen. Dit is helemaal lastig als je in een invite only sessie wilt. Er is nog geen fix voor maar het is wel te omzeilen als die vriend in een crew zit, druk op start > online > crews > friends crews, selecteer dan de crew waar die vriend inzit en vanuit daar kun je hem wel een invite sturen of joinen. Sorry als dit niet de juiste plaats hiervoor is of als dit al bekent is maar ik dacht ik laat het ff weten.
  4. 2 kleine modificaties Ik denk niet dat er nog veel vraag naar is, maar wou ze toch even met jullie delen Eerste modificatie zorgt ervoor dat je 0-warns kunt geven als moderator. Het was ook mijn eerste modificatie in totaal, hij is vrij basaal dus. Ik had 'm nog ergens op mijn harde schijf staan, heb net nog een bug eruit gevist en vertaald naar het Nederlands. Excuses dus als er ergens wat ontbreekt, maar op mijn testforum werkte hij zo nog De tweede modificatie zorgt ervoor dat de subforums weer zichtbaar zijn onder je forumbeschrijving. Hij werkt met de permission-masks, dus als je een forum niet in kan, verschijnt de vermelding ook niet (logisch). Bestanden die je gaat aanpassen */lang/*/lang_mod.php */Skin/s*/skin_mod.php */sources/misc/warn.php */sources/Admin/ad_warnlog.php */lang/*/lang_mod.php Zoek 'w_v_add' => "Toegevoegd aan waarschuwingslevel", Voeg toe (onder) 'w_v_nowarn' => "Waarschuwingslevel niet gewijzigd", Zoek 'w_add' => "Voeg 1 toe aan huidig level", Voeg toe (onder) 'w_nowarn' => "Waarschuwingslevel niet wijzigen", */Skin/s*/skin_mod.php Zoek function warn_success_forum($fid, $fname, $tid, $tname, $st=0) { global $ibforums; return <<<EOF <li><a href='{$ibforums->base_url}showforum=$fid'>{$ibforums->lang['w_done_forum']} <strong>$fname</strong></a></li> <li><a href='{$ibforums->base_url}showtopic=$tid&st=$st'>{$ibforums->lang['w_done_topic']} <strong>$tname</strong></a></li> EOF; } Voeg toe (onder) function warn_view_nowarn_row($date, $content, $puni_name) { global $ibforums; return <<<EOF <tr> <td class='row4' valign='top'><strong>$puni_name</strong></td> <td class='row4' valign='top'>{$ibforums->lang['w_v_warned_on']} <strong>$date</strong></td> </tr> <tr> <td class='row1' valign='middle'><span class='nowarn'>{$ibforums->lang['w_v_nowarn']}</span></td> <td class='row1' valign='top'><span class='postcolor'>$content</span></td> </tr> EOF; } Zoek <input type='radio' name='level' id='add' class='radiobutton' value='add' {$type['add']} /><label for='add' class='warnbad'><strong>{$ibforums->lang['w_add']}</strong></label> Voeg toe (onder) <br /> <input type='radio' name='level' id='nowarn' class='radiobutton' value='nowarn' {$type['nowarn']} /><label for='nowarn' class='nowarn'><strong>{$ibforums->lang['w_nowarn']}</strong></label> */sources/misc/warn.php Zoek if ( $r['wlog_type'] == 'pos' ) { $this->output .= $this->html->warn_view_positive_row($date, $content, $puni_name); } Voeg toe (onder) else if ( $r['wlog_type'] == 'nowarn' ) { $this->output .= $this->html->warn_view_nowarn_row($date, $content, $puni_name); } Zoek $save['wlog_type'] = ( $ibforums->input['level'] == 'add' ) ? 'neg' : 'pos'; Vervang door if ($ibforums->input['level'] == 'add') { $save['wlog_type'] = "neg"; } else { if ($ibforums->input['level'] == 'nowarn') { $save['wlog_type'] = "nowarn"; } else { $save['wlog_type'] = "pos"; } } Zoek if ( $ibforums->input['level'] == 'add' ) { $warn_level++; } else { $warn_level--; } Vervang door if ( $ibforums->input['level'] == 'add' ) { $warn_level++; } else { if ( $ibforums->input['level'] == 'nowarn' ) { $warn_level; } else { $warn_level--; } } Zoek if ( $ibforums->input['level'] == 'add' ) { if ( $warn_level >= $ibforums->vars['warn_max'] ) { $err = 1; } } else { if ( $warn_level <= $ibforums->vars['warn_min'] ) { $err = 1; } } Vervang door if ( $ibforums->input['level'] == 'add' ) { if ( $warn_level >= $ibforums->vars['warn_max'] ) { $err = 1; } } else if ( $ibforums->input['level'] == 'minus' ) { if ( $warn_level <= $ibforums->vars['warn_min'] ) { $err = 1; } } */sources/Admin/ad_warnlogs.php Zoek (2x) $type = ( $row['wlog_type'] == 'pos' ) ? '<span style="color:green;font-weight:bold">-</span>' : '<span style="color:red;font-weight:bold">+</span>'; Vervang door if ($row['wlog_type'] == 'neg') { $type = '<span style="color:red;font-weight:bold">+</span>'; } if ($row['wlog_type'] == 'nowarn') { $type = '<span style="color:gray;font-weight:bold">X</span>'; } if ($row['wlog_type'] == 'pos') { $type = '<span style="color:green;font-weight:bold">-</span>'; } Deze modificatie is vrij klein, ik geloof dat dit alles was (ik zoek nu net alle code op die ik aangepast heb ). Bestanden die je gaat aanpassen */sources/Boards.php */Skin/s*/skin_boards.php */sources/Boards.php Zoek if ( $std->check_perms($data['read_perms']) != TRUE ) { continue; } Voeg toe (onder) $forum_data['subforums'] = $this->get_subforums($forum_id,1); Voeg toe aan het einde, onder de functie get_moderators function get_subforums($forum_id="", $canread) { global $ibforums, $std, $DB; $DB->query("SELECT f.* FROM ibf_forums f WHERE f.parent_id=$forum_id"); while ( $s = $DB->fetch_row() ) { if ($s['parent_id'] != "-1") { if ( $canread != 1 ) { return ""; } else { $this->subforums[ $forum_id ][ $s['id'] ] = array( 'name' => $s['name'], 'id' => $s['id'], ); } } } $subforum_string = ""; if ($forum_id == "") { return ""; } if (isset($this->subforums[ $forum_id ] ) ) { if (is_array($this->subforums[ $forum_id ]) ) { $subforum_string = '<br /><b>Subfora:</b> '; foreach ($this->subforums[ $forum_id ] as $subforum) { $subforum_string .= "<a href='{$ibforums->base_url}showforum={$subforum['id']}'>{$subforum['name']}</a>, "; } $subforum_string = preg_replace( "!,\s+$!", "", $subforum_string ); } else { $subforum_string = '<br /><b>Subforum:</b> '; $subforum_string .= "<a href='{$ibforums->base_url}showforum={$this->subforums[$forum_id]['id']}'>{$this->subforums[$forum_id]['name']}</a>"; } } return $subforum_string; } */Skin/s*/skin_boards.php Zoek <td class="row4"><b><a href="{$ibforums->base_url}showforum={$info['id']}">{$info['name']}</a></b><br /><span class='desc'>{$info['description']}<br />{$info['moderator']}</span></td> Vervang door <td class="row4"><b><a href="{$ibforums->base_url}showforum={$info['id']}">{$info['name']}</a></b><br /><span class='desc'>{$info['description']}{$info['subforums']}<br />{$info['moderator']}</span></td> Ik hoop dat ik er toch nog wat mensen blij mee heb gemaakt Vragen en bugs kun je hier wel kwijt, dan probeer ik ze zo spoedig mogelijk te verhelpen. De eerste modificatie staat ook op Invisionize.com
  5. De afgelopen maanden heb ik al vele filmpjes gepost van GTA5 en GTA Online. Maar dit filmpje legt duidelijk stap voor stap uit hoe je snel meer RP krijgt in Grand Theft Auto Online. Dit is echt de 'beste' tutorial ooit. Vergeet vooral niet eerst te Reageren, Likken en Bleeten voordat je het filmpje hebt bekeken. Filmpje mogelijk NSFW! Echt een goede parodie dus op al die tutorial filmpjes. Welke clichés ben jij in dit filmpje tegengekomen? Heb je zelf een filmpje gemaakt of ben je een leuk filmpje op het internet tegen gekomen vergeet me dan vooral niet te tippen! Bron:
  6. David22

    [TUT] Toggelable divisions

    Tutorial Toggable division met HTML, CSS en jQuery Inleiding Op dit forum hebben wij meerdere categorieën voor de verschillende fora, en op de homepage zijn deze in en uitklapbaar. In deze tutorial zal ik je laten zien hoe je zoiets voor je eigen website kan maken. Wat gaan we doen? In deze tutorial zal ik laten zien hoe je met een lage hoeveelheid code meerdere in- en uitklapbare div's kan maken. Deze code is schaalbaar naar een ontelbaar eindig divisions. Hier een voorbeeld van wat we gaan maken: Ik ga er van uit dat enige basiskennis van HTML, CSS en jQuery al aanwezig is. De bestanden Voor deze tutorial gebruik in de volgende bestanden: index.html stylesheet.css expand.png minimize.png Alle gebruikte bestanden zullen weer onderaan deze tutorial te downloaden zijn. De code Tijd voor het echte werk! Voordat ik begin met code te plaatsen, zal ik eerst een stappenplan maken: Maak de HTML code Geef deze uitstraling met CSS Maak de interactie compleet met jQuery Houd rekening met Javscript-loze mensen De HTML Om de basis-HTML code te genereren, maak ik altijd gebruik van htmlshell.com. Hierop kan je heel makkelijk aanvinken welke elementen je in je HTML code wil, waarom zou je het wiel opnieuw uitvinden? Met behulp van deze tool heb ik de volgende skeleton gegenereerd: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>title</title> <link rel="stylesheet" href="stylesheet.css" type="text/css"> </head> <body> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> </body> </html> Iedere toggable division in deze pagina zal een header (waar in de afbeelding "Menu X" staat) en een content (waar in het voorbeeld "Lorum Ipsum..." staat) bevatten. Om later met jQuery onderscheid tussen de verschillende divisions te kunnen maken, plaats ik deze binnen een container-div: <div class="container"> <div class="header"> <h1>Menu 1</h1> </div> <div class="content"> Lorem ipsum... </div> </div> Ook moet de afbeelding minimize.png, de knop welke zal dienen als in- en uitklapknop, nog in de header geplaatst worden: <div class="header"> <h1>Menu 1</h1> <img class="toggle" src="minimize.png" alt="Toggle" /> </div> Ons resultaat tot nu toe ziet er als volgt uit: Heel leuk, maar het lijkt nergens op. Gelukkig komt CSS om de hoek kijken! De CSS We beginnen met de styling van de header-div: div.header { } Ik maak deze 500x30 pixels groot, en ik geef 'm een zwarte rand van 1 pixel: width:500px; height:30px; border:1px solid #000; Vervolgens gaan we er voor zorgen dat de minimize-afbeelding mooi rechts komt te staan. Deze zal ik absoluut gaan plaatsen. Omdat ik dat wil gaan doen, moet ik bij div.header het volgende regeltje nog toevoegen: position:relative; Dit zorgt ervoor dat de afbeelding absoluut ten opzichte van div.header geplaatst zal worden, in plaats van absoluut ten opzichte van de body. Nu is het tijd om daadwerkelijk CSS voor de afbeelding te gaan schrijven: div.header img.toggle { } Zoals ik al zei gaan we deze absoluut plaatsen: position:absolute; Ik wil deze met een margin van 5 pixels in de rechterbovenhoek plaatsen (5px van boven & 5px van rechts): top:5px; right:5px; Vervolgens wil ik 'm verticaal in het midden hebben. De hoogte van div.header is 30 pixels, dus om van onderen ook 5px ruimte te hebben moet de afbeelding 30 - 5 - 5 = 20 pixels hoog zijn: height:20px; De laatste stap om de afbeelding te stijlen is de gebruiker het idee geven dat het een knop is, door de muisaanwijzer in een "klikhandje" te veranderen als deze boven de afbeelding hangt: cursor:pointer; De content-div geeft ik de goede breedte mee, en ik zet er nog een mooie lijn omheen. De lijn hoeft alleen boveaan de div niet te bestaan, want hier zit div.header al: div.content { width:500px; border:1px solid #000; border-top:none; } Om de h1 nog mooi te stijlen pak ik een mooi font uit de database van Google Fonts, waarvan ik meegegeven waarden als de margin en padding nog even reset: h1 { font-family: 'Alef', sans-serif; margin:0; padding:0; font-size:18px; } Bijkomende code van Google Fonts is het volgende in de head van de HTML: <link href='http://fonts.googleapis.com/css?family=Alef' rel='stylesheet' type='text/css'> Dit mag onder de link naar het stylesheet geplaatst worden. Verder wil ik de h1 nog netjes een stukje ingeschoven in de header, waardoor ik een margin toevoegd aan de header. Ook wil ik de text verticaal gecentreerd: line-height:30px; padding-left:15px; Omdat ik een padding van 15px toevoeg, wordt de header 15 pixels breder. Dit moet ik dus ook voor div.content doen, om ze even lang te laten blijven: width:515px; Dit geeft ons tot nu toe de volgende HTML en CSS: HTML: CSS: Okee, nu ziet alles er goed uit. Tijd om de functionaliteit toe te voegen! De jQuery We gaan aan de slag met jQuery als de volledige HTML geladen is. Plaats daarom deze code in je HTML: <script> $(document).ready(function() { // Code here }); </script> Het script moet geplaatst worden onder: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> Vervolgens wachten we tot er op img.toggle geklikt wordt. Dit doen we op de volgende manier: $("img.toggle").click(function() { // code here }); Vervolgens kunnen we de juiste div.content in- danwel uitschuiven met slideToggle(), een functie van jQuery welke dit voor ons doet. Maar hoe komen we bij de juiste div.content? Dit is per slot van rekening een class, met (in ons voorbeeld 3) meerdere instanties! Hiervoor gaan we een reisje door de DOM maken, beginnend bij $(this), de afbeelding. Vanaf de afbeelding reizen we met parent() naar de "ouder" van de afbeelding, het element wat een niveau hoger in de DOM staat -- in ons geval div.header. Deze div.header heeft een "broer" van de klasse div.content, welke precies die ene div is welke we willen in- of uitklappen. Deze vragen we op met siblings("div.content"). Doordat dit de enige div.content is welke een directe sibling is van div.header (de rest staat in een andere div.container), zal er maar een in- of uitschuiven. De uiteindelijke code om de goede div dan aan te passen is: $(this).parent().siblings("div.content").slideToggle(); Dat werkt! Maar zou het niet leuk zijn als na het inklappen, de - in een + zou veranderen? Hiervoor voegen we een functie toe welke uitgevoerd wordt als het in- of uitklappen voltooid is: $(this).parent().siblings("div.content").slideToggle(function() { // code here }); Binnen deze functie kunnen we de huidige url van de afbeelding, minimize.png of expand.png, opvragen. Het enige probleem is dat $(this) nu verwijst naar div.content inplaats van img.toggle! Daarom moeten we de link naar de afbeelding opslaan voordat we de slideToggle uit gaan voeren: // hier is $(this) de afbeelding var imgObj = $(this); $(this).parent().siblings("div.content").slideToggle(function() { // hier is $(this) de div.content, maar imgObj nog de afbeelding! }); Vervolgens gaan we de url van de afbeelding opvragen, en kijken of deze op minimize.png of expand.png eindigd: src = imgObj.prop("src"); if(/minimize.png$/i.test(src)) { // is -, moet + worden } else { // is geen -, dus moet - worden } Om de eigenschappen van een object te veranderen, heeft jQuery (onder andere) de volgende functie: imgObj.prop("src", "expand.png"); Bovenstaande code veranderd het src property van imgObj in expand.png -- precies wat we willen! if(/minimize.png$/i.test(src)) { imgObj.prop("src", "expand.png"); } else { imgObj.prop("src", "minimize.png"); } Onze code werkt nu! De jQuery ziet er als volgt uit: Er is echter nog een stap... Een wereld zonder Javascript Javascript, en dus ook jQuery, wordt client-side (op de computer van de gebruiker) uitgevoerd. Hierdoor kan support hiervoor niet altijd aanwezig zijn. Daarom moeten we rekening houden met mensen welke geen gebruik maken van Javascript. In ons geval is dat heel eenvoudig te doen door de toggle-knop te verbergen, en deze in te schakelen als de gebruiker Javascript aan heeft staan. De knop uitschakelen doen we door het volgende aan de img.toggle-CSS toe te voegen: display:none; Inschakelen doen we eenvoudig door het CSS-attribuut met jQuery aan te passen: $("img.toggle").css("display", "block"); Afsluiting En klaar! Ik hoop dat je wat aan deze tutorial hebt gehad, laat gerust een berichtje achter Volledige code en bestanden zijn op http://www.solidfiles.com/d/22424826a4/ te downloaden. Script is in werking te zien op http://jsfiddle.net/KUXTB/4/
  7. Omdat er veel vragen zijn of je als je Versie 2 hebt van San Andreas of je dan ook savegames van Versie 1 kunt spelen, komt er nu deze tutorial. Als je bijvoorbeeld eerst San Andreas versie 1.00 had alleen die DVD ging kapot of zoiets en dan koop je versie 2.00 dan is dit ook handig. Ik heb versie 2.00 en wil ook savegames van versie 1.00 kunnen spelen. 1. Je moet je versie eerst downgraden met deze patch, er gebeurt niets met je game, hij is alleen beter moddable. 2. Je gaat naar dezecomputer/C/programfiles/rockstargames/GTASanAndreas/data/script en je kopieert de bestandjes main.scm en script.img naar nieuwe map die je V2 noemt die je gewoon in script plaatst. 3. Je maakt nog een nieuwe map aan in script en die noem je V1. Je download dit bestand en dit bestandje en je plaatst dat in die map V1. 4. Je download dit programmaatje en dat plaats je op een plek waar je er makkelijk bij kan. Je kan hem bij script plaatsen maar ook op je bureaublad. 5. Als je een savegame download die versie 1.00 is dan klik je op sa_scriptchange en dan druk je op 1 en dan op enter. Als je dan weer een savegame wilt spelen die versie 2.00 is moet je op 2 drukken en dan op enter. Je moet wel San Andreas afgesloten hebben als je de versie veranderd die je wilt spelen. Ik heb versie 1.00 en wil ook savegames van versie 2.00 spelen. 1. Je gaat naar dezecomputer/C/programfiles/rockstargames/GTASanAndreas/data/script en je maakt een map aan die je V1 noemt. Je kopieert de bestanden main.scm en script.img naar deze map. 2. Je maakt in script een map aan die je V2 noemt. Je download dit bestand en dit bestandje en dat plaats je in de map V2. 3. Je download dit programmaatje en dat plaats je op een plek waar je er makkelijk bij kan. Je kan hem bij script plaatsen maar ook op je bureaublad. 4. Als je een savegame download die versie 2.00 is, dan klik je op sa_scriptchange en dan druk je op 2 en dan op enter. Als je dan weer een savegame wilt spelen die versie 1.00 is moet je op 1 drukken en dan op enter. Je moet wel San Andreas afgesloten hebben als je de versie veranderd die je wilt spelen. 5. Als je een versie 2 savegame hebt gespeeld en je wilt hem weer doorgeven aan iemand anders, moet je de savegame na het afsluiten van GTA San Andreas door de ID changer halen. Anders start deze savegame bij iemand met versie 2 bij het begin van de game. hier download je de ID changer. Je sleept de savegame gewoon op de ID Changer. Er zal een nieuw scherm verschijnen dat mededeelt dat conversion succesfull is. Deze tutorial is mede tot stand gekomen dankzij HerrieM en Rubregg.
×
×
  • Create New...