Peršokti į turinį
NTQ

Platinu Vidmanto kūrybą (botas)

Recommended Posts

Kadangi @Vidmantas. taip viską išmano ir dalina patarimus, pasižiūrėkime ar pats jų laikosi. O kaip tai geriausiai padaryti? Pagal jo sukurtą darbą.

Šioje temoje matysime. Ar Vidmantas vis dar naudoja mirštantį jQuery, ar Vanilla JS, paprasčiausiai Ajax užklausai be argumentų.

1 jo kodo dalis:

Spoiler
<?php

include 'functions.php';

$ID = isset($_GET['id']) ? $_GET['id'] : '';
if($ID == "cancel") {
    setcookie('treniruoti', null, null);
    setcookie('rungtynes', null, null);
    setcookie('laikas', null, null);
    setcookie('laikas2', null, null);

    Header('Location: index.php');
}

if(isset($_POST)) {
    if(isset($_POST['submit_treniruotis'])) {
        $ka = $_POST['ka2'];

        setcookie('treniruoti', $ka, time()+3600*24*7);
    }

    if(isset($_POST['submit_rungtynes'])) {
        $ka = $_POST['ka1'];

        setcookie('rungtynes', $ka, time()+3600*24*7);
    }
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" type="text/css" href="style.css">
    <title>BOTAS</title> 
</head>
<body>

<div class="inkulto">BOTAS</div>

<div class="div">   
    <div id="tren"></div>

    <div class="alert alert-error">
        Įveskite savo duomenys<br><br>
        Vartotojo SID:<br> <input type="text" name="nick" disabled value="<?=$uID?>"><br>
        Vartotojo SPASS:<br> <input type="text" name="pass" disabled value="<?=$uPassword?>">
    </div>

    <form method="post">    
    <div class="alert alert-warning">
        Žaisti Super Wins Rungtynes<br><br>
        Žaisti su atsitiktine komanda <b>150</b> eurų<br><select name="ka1">
            <option value="0" selected>- - -</option>
            <option value="1">Iš po krepšio</option>
            <option value="2">Iš tolimos distancijos</option>
            <option value="3">Zonine gynyba</option>
            <option value="4">Spaudimas</option>
        </select>
        <br><br>

        <input type="submit" name="submit_rungtynes" value="Žaisti"/>
    </div>
    <div class="alert alert-warning">
        Pasirinkite ką treniruotį (+2)<br><br>
        <select name="ka2">
            <option value="" selected>- - -</option>
            <option value="dejimas">Dėjimą</option>
            <option value="begimas">Bėgimą</option>
            <option value="puolimas">Puolimą</option>
            <option value="driblingas">Driblingą</option>
            <option value="taiklumas">Taiklumą</option>
            <option value="istverme">Ištvermę</option>
        </select>
        <br><br>

        <input type="submit" name="submit_treniruotis" value="Treniruotis">
    </div>
    </form>
</div>

<div class="inkulto">
    Kūrėjas <b>Vidmantas</b>, sukūrta vartotojui <b><u>edgar1</u></b><br>
    Stilius priklauso: <b>&copy;inkulto</b>
</div>

</body>
</html>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script type="text/javascript">

    setInterval(function() {
        $.ajax({
            type: 'GET',
            url: 'api.php',    
            success: function(data) {
                $('#tren').fadeOut("fast").html(data).fadeIn("fast");
            }
        });
    }, 1000);

</script>

 

Kaip matome, @Vidmantas. naudoja 2 kabučių tipus: viengubas ir dvigubas. Žmogelis nesupranta ką daro viengubos, o ką dvigubos.

if($ID == "cancel") {

Argumentas cancel yra kintamasis, todėl pagal jį priskiriame dvigubas kabutes.

Vis dar jo kūryboje yra XHTML ir HTML5 hibridas:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

O JavaScript, net jQuery ir VanillaJS hibridas (čia setInterval)

setInterval(function() {
        $.ajax({
            type: 'GET',
            url: 'api.php',    
            success: function(data) {
                $('#tren').fadeOut("fast").html(data).fadeIn("fast");
            }
        });
    }, 1000);

Gražusis funkcijų rinkinys:

Spoiler
<?php
include 'functions.php';

function treniruoti($treniruoti_ka) {
    global $treniruotes_laikas;

    $page = curl("http://krepsinis24.eu/index.php?a=treniruotes");
    preg_match('#name="treniruote" value="(.*?)"/>#', $page, $a);

    if(isset($a[1])) {
        $kodas = $a[1];

        curl("http://krepsinis24.eu/index.php?a=treniruotes", array('treniruote' => $kodas, 'ka'=> $treniruoti_ka, 'post'=> 'done'));
    }
}

function rungtyniauti($rungtyniauti_ka) {
    global $rungtyniavimo_laikas;

    $page = curl("http://krepsinis24.eu/?a=kal");
    preg_match('#type="hidden" value="(.*?)"#', $page, $a);

    if(isset($a[1])) {
        $kodas = $a[1];

        curl("http://krepsinis24.eu/index.php?a=kal&b=round&c=0", array('taktika' => $rungtyniauti_ka, 'ok'=> $kodas));
    }
}


if(isset($_COOKIE['treniruoti'])) {
    $laikas = isset($_COOKIE['laikas']) ? $_COOKIE['laikas'] : 99;
    $laikas2 = isset($_COOKIE['laikas2']) ? $_COOKIE['laikas2'] : 99 ;

    if($laikas < time()) {
        treniruoti($_COOKIE['treniruoti']);
        treniruoti($_COOKIE['treniruoti']);
        treniruoti($_COOKIE['treniruoti']);

        $b = array(
            'dejimas' => 'begimas',
            'begimas' => 'puolimas',
            'puolimas' => 'driblingas', 
            'driblingas' => 'taiklumas',
            'taiklumas' => 'istverme',
            'istverme' => 'dejimas'
        );

        $_COOKIE['treniruoti'] = $b[$_COOKIE['treniruoti']];
        setcookie('treniruoti', $_COOKIE['treniruoti'], time()+3600*24*7);

        setcookie('laikas', time()+$treniruotes_laikas+5, time()+3600*24*7);
    }
    else if($laikas > 0) {
        echo '
        <div class="alert alert-denger">
            Sekanti treniruotė už: <b>'.gmdate('i \m\i\n. s \s\e\c\.', $laikas-time()).'</b>, ji įvyks <b>automatiškai</b>!<br><br>
            Treniruojate: <b>'.$_COOKIE['treniruoti'].'</b>
        </div>';
    }
}

if(isset($_COOKIE['rungtynes'])) {
    $laikas2 = isset($_COOKIE['laikas2']) ? $_COOKIE['laikas2'] : 1;

    if($laikas2 < time()) {
        rungtyniauti($_COOKIE['rungtynes']);
        rungtyniauti($_COOKIE['rungtynes']);
        rungtyniauti($_COOKIE['rungtynes']);

        setcookie('laikas2', time()+$rungtyniavimo_laikas+5, time()+3600*24*7);
    }
    else if($laikas2 > 0 && isset($_COOKIE['laikas2'])) {
        echo '
        <div class="alert alert-denger">
            Sekančios rungtynės už: <b>'.gmdate('i \m\i\n. s \s\e\c\.', $laikas2-time()).'</b>, jos įvyks <b>automatiškai</b>!<br><br>
            Rungtyniaujame su: <b>'.$_COOKIE['rungtynes'].'</b>
        </div>
        ';
    }
}

if(isset($_COOKIE['treniruoti']) || isset($_COOKIE['rungtynes'])) {
    echo '<a class="cancel" href="index.php?id=cancel">Atšaukti automatinį treniravimą</a><br><br>';
}

 

Čia turbūt apie kodo praktiką patylėsiu. Bet smagu matyti daug pasikartojančio kodo, kaip cookies laiką ir mylimą, seną, gmdate.

CURL panaudojimas

Spoiler
<?php

$info_from_file = parse_ini_file("settings.ini");

$uID = $info_from_file['id'];
$uPassword = $info_from_file['password'];

$treniruotes_laikas = $info_from_file['treniruoti_laikas'];
$rungtyniavimo_laikas = $info_from_file['rungtyniavimo_laikas'];

function curl($url, $post = false) {
    global $uID, $uPassword;
    $ch = curl_init(); 
    curl_Setopt($ch, CURLOPT_URL, $url); 
    curl_Setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_COOKIE, 'PHPSESSID=gv0js966e3rh9102qt3ufbn7l5; user_nr='.$uID.'; user_pass='.$uPassword.';');
    if(is_array($post)) {
        curl_Setopt($ch, CURLOPT_POSTFIELDS, $post); 
    }

    $response = curl_exec($ch); 
    curl_close($ch); 

    return $response; 
}

 

Tiesiog tobula! Šis botas taip sukurtas, kad nuo Ajax užklausų Jūsų naršyklė sėkmingai užlūs. Tikrai nėra tokio dalyko meta refresh ir iframe.

Reikės gerai sukurto boto? Kreipkitės į visų sričių žinovą @Vidmantas.

P.S. visur sarkazmas tekste.

  • Teigiamai 3
  • Neigiamai 4

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį


Parašė (redaguota)

oho ačiū už gražią kalbą. Pirma noriu paminėti, kad visą HTML struktūrą kūriau ne aš, nes man tai nėra reikalinga. "Ajax užklausų Jūsų naršyklė sėkmingai užlūs" o tikrai taip, žinai ką paplosiu, nes taip ir buvo, bet man visiškai tas pats, nes visgi kodas kurtas už 2€, o aš prie jo nesedėsiu visą dieną. Visų antrą galvojau, kad su intervalu bus geriau, bet išėjo kitaip, nei tikėjaus. "Kreipkitės į visų sričių žinovą" nesu visų sričių žinovas toks kaip tu ir taip savęs nepristatinėju, nes tiesiog pradės suktis galva ir pradėsiu laidyti tokias kosmines teorijas, kad net pats pradėsiu nebepatikėti savimi.  Dar noriu paminėti, kad botų nekuriu ant PHP šis buvo pirmas ir paskutinis kadangi python yra geriau, nesu front-end žinovas kaip @NTQ, bet jam tai pasirodė kitaip. Nepradėsiu karo su tavim, bet tu pats jau kasi duobę vien su savo teiginiais. Kada suaugsi pagaliau?.... Jei daryčiau dabar, vėl daryčiau kitaip, nes įgavau žinių ir taisau savo klaidas, ten kur jos turi būti taisomos, nežiūriu ką dariau praeity, kad galėčiau judėti toliau. Viską darau savo malonumuj. Kiek mačiau pats rašai kodą kuris yra 5 metų senumo tokį kokį rašiau prieš gerus 5 metus WAP žaidimuose. Priimu kritiką iš visų, nes taip galiu mokytis, o tu jos nelabai moki priimti, aš matau ką tu darai.

Redaguota , nario Vidmantas.
  • Teigiamai 3

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

9 minutes prieš, Vidmantas. parašė:

oho ačiū už gražią kalbą. Pirma noriu paminėti, kad visą HTML struktūrą kūriau ne aš, nes man tai nėra reikalinga. "Ajax užklausų Jūsų naršyklė sėkmingai užlūs" o tikrai taip, žinai ką paplosiu, nes taip ir buvo, bet man visiškai tas pats, nes visgi kodas kurtas už 2€, o aš prie jo nesedėsiu visą dieną. Visų antrą galvojau, kad su intervalu bus geriau, bet išėjo kitaip, nei tikėjaus. "Kreipkitės į visų sričių žinovą" nesu visų sričių žinovas toks kaip tu ir taip savęs nepristatinėju, nes tiesiog pradės suktis galva ir pradėsiu laidyti tokias kosmines teorijas, kad net pats pradėsiu nebepatikėti savimi.  Dar noriu paminėti, kad botų nekuriu ant PHP šis buvo pirmas ir paskutinis kadangi python yra geriau, nesu front-end žinovas kaip @NTQ, bet jam tai pasirodė kitaip. Nepradėsiu karo su tavim, bet tu pats jau kasi duobę vien su savo teiginiais. Kada suaugsi pagaliau?.... Jei daryčiau dabar, vėl daryčiau kitaip, nes įgavau žinių ir taisau savo klaidas, ten kur jos turi būti taisomos, nežiūriu ką dariau praeity, kad galėčiau judėti toliau. Viską darau savo malonumuj. Kiek mačiau pats rašai kodą kuris yra 5 metų senumo tokį kokį rašiau prieš gerus 5 metus WAP žaidimuose. Priimu kritiką iš visų, nes taip galiu mokytis, o tu jos nelabai moki priimti, aš matau ką tu darai.

Žmogeli, prisikabinai prie elementarių php open tag'ų, kai net nesuvoki strict operators, viengubu ir dvigubu kabučių skirtumo. Tai ką čia ir kalbėti. Norėjau parodyti visiems koks esi hipokratas.

+ pats nesu tobulas. Gavęs svarią kritiką, ištaisau savo darbus.

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Dabar, NTQ parašė:

Žmogeli, prisikabinai prie elementarių php open tag'ų, kai net nesuvoki strict operators, viengubu ir dvigubu kabučių skirtumo. Tai ką čia ir kalbėti. Norėjau parodyti visiems koks esi hipokratas.

+ pats nesu tobulas. Gavęs svarią kritiką, ištaisau savo darbus.

laisvas tuomet. + ten nebuvo kritika, ten tik buvo mano įžvalga. Aš nekaltas, kad tu ją priėmei taip.

  • Teigiamai 1

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Komentuoti gali tik prisijungę nariai

Jeigu turite paskyrą, prisijunkite

Sukurti paskyrą

Sukurkite paskyrą mūsų forume

Registruotis

Prisijungti

Turite paskyrą? Prisijunkite

Prisijungti dabar

  • Temos, kurios buvo pažymėtos tomis pačiomis žymėmis:

    • Parašė Adrioša
      Sveiki sukuriau nauja tema tam kad čia bus keliamos pamokos su IPB (prašome neužrakinti bus keliama)
       
       
      IPB Dizainai
       
       
      IPB dizainas Filaty.eu

       
       
      Atsisiuntimas: http://www.mediafire.com/download/zlot37zl8765l17/lilaty.rar
       
      IPB mstories dizainas

       
      Atsisintimas: http://www.mediafire.com/download/4s59wibk9vsjxws/mstories.rar
       
      IPB dizainas LMG

      Atsisiuntimas:http://www.mediafire.com/download/dm73s2qbu4q4s3k/LMG+dizainas.rar
       
      IPB dizainas RLS

       
      RLS Dizainas : http://www42.zippyshare.com/v/fM17XczE/file.html
      eGamer.us.lt http://egamer.us.lt/
       
       
      Šaukyklos Įrašymas
       

      Parsisiusti: https://drive.google.com/file/d/0B9AZIKYS1-a_WGVUc2hfbWZhQXc/view
       
      Kažkas nepavyko rašyk skype kestas.asmatas
      Svetaine : http://egamer.us.lt
       
      Kaip pakeisti navigacija ir Logotipą
       

    • Parašė RivaldisR
      Sveiki, Tai va praėjo Keletą dienų. Nuo mano praėjusios apklausos. Apklausos tema buvo ar norite kad kurčiau įvairiausias pamokas t.y įvairiausius žaidimu tutorialus, bugu fixus, klaidų tvarkymus, Tada darbai su įvairiausiomis programomis. t.y Sony Vegas, Photoshop kiek moku ir panašiai. Pamokos gali būti įvairaus tipo t.y rašytinės ir video medžiagos kokiu būdų jus geriau, man tuo labiau. Taigi manau nerašysiu aš čia nieko daug nes nereikia. tik bus maža anketa. pagal kuria jūs prašysit įvairiausiu pamokų.
       
      ~Anketa~
      1. Pamokos tipas (VIDEO,RAŠTU) :
      2. Kokios pamokos nori (susijusi su žaidimu,ar programomis):
      3.Ko nemoki ? ir ką nori pamatyti pamokoje?:
      4.Kokia kalba norite pamokos (LT,ENG)?:
       
      Anketa nebus didele nes jos tikrai nereikia labai plačios.
       
      D.U.K
       
      K. Kada sukursi mano paprašytą pamoką?
      A.Kai Galėsiu arba turėsiu laiko.
       
      K.Kur gausiu savo paprašytą pamoką ?
      A.Rašysiu šioje temoje arba kelsiu į savo tinklapį medvede.ewal.lt/
       
      K.Kokios kalbos bus Pamokos ?
      A.Pamokas kursiu jūsų norais (LT,ENG)
       
      D.U.K bus pildomas.
       
      Mano duomenys ...
       
      El-paštas - [email protected]
       
      Skype - freestulo
       
       
      ©MedVede
    • Parašė Ωмεɢα
      C++ Programavimas [i kursas]
      Video pamokos
      (Nutekinta iš VIVU.LT)
       
      Sveiki,
      Šį kartą aš nutekinu programavimo C++ pirmo kūrso video pamokas iš VIVU.LT
      Visos video pamokos yra šitame playliste:
       
      http://www.youtube.com/playlist?list=PLhdp9MqY9u53_-aFdb4vr9lo2RILk0nb1
       
      Bet, tai ne viskas ką siūlo VIVU.LT, taip pat yra teorinės medžiagos ir užduočių.
      Jeigu ši tema surinks 15 +r3p, aš paplatinsiu teorinę medžiagą.
      Sėkmės mokantis!
    • Parašė ViVix
      Sveiki, taigi sukūriau savo tinklaraštį, kuris tikiuosi pagelbės jums išmokti java ir android programavimo.
      Pamokos labiau skirtos jau susipažinusiems su java, kadangi su šia kalba yra programuojamos android programėlės.
      Na nesmerkit dėl viso to, nerašykit bereikšmių komentarų, tiesiog naudokitės tuo ką turit ir jei reikia prašykit pagalbos, padėsiu.
       
      Puslapis :
      https://andhive.wordpress.com/
  • Narių peržiūri šį forumą:   0 nariai

    Nėra registruotų narių peržiūrinčių šį forumą.


  • SuperGames programele
  • SuperGames programele


×