[WEB]Funcție pentru verificarea spațiului gol ItemShop

Despre programarea aplicațiilor web și nu numai, cu PHP, baze de date și altele.
Discutiile despre utilizarea si modificarea scripturilor se desfasoara in aria Webmaster.
Discuțiile despre proiectarea și optimizarea bazelor de date se desfășoară în aria Databases.
Deconectat
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă
Traficant de ouă
Mesaje: 1260
Membru din: 05 Sep 2014
Localitate: Arad
Reputație: ®
▬▬▬▬▬▬▬▬▬▬▬▬
► Super Moderator
► Fost Moderator
► Fost Trial Moderator
► Fost Helper
► Fost Trial Helper
► Castigator Tombola Paste 2018
► Membru Club (14 apr - 14 iulie)
► Nume anterior: Zorke
▬▬▬▬▬▬▬▬▬▬▬▬
Server Metin2: Metin2 Kotoba
Regat: Shinsoo
Mulțumiri acordate: 2
Mulțumiri primite: 36
Contact:

[WEB]Funcție pentru verificarea spațiului gol ItemShop

Mesajde Nazir a.k.a. Zorke » 22 Apr 2018, 23:55

Salut vă las o funție care vă ajută să verificați spațiul gol din itemshop.

Aveți un video cu această funcție.
Trebuie să fii logat sau înregistrat pentru a vedea acest link.



Cod: Selectaţi tot


public function checkPosition($newsize){
   
    $slot=array(
            "0" => 0,
            "1" => 0,
            "2" => 0,
            "3" => 0,
            "4" => 0,
            "5" => 0,
            "6" => 0,
            "7" => 0,
            "8" => 0,
            "9" => 0,
            "10" => 0,
            "11" => 0,
            "12" => 0,
            "13" => 0,
            "14" => 0,
            "15" => 0,
            "16" => 0,
            "17" => 0,
            "18" => 0,
            "19" => 0,
            "20" => 0,
            "21" => 0,
            "22" => 0,
            "23" => 0,
            "24" => 0,
            "25" => 0,
            "26" => 0,
            "27" => 0,
            "28" => 0,
            "29" => 0,
            "30" => 0,
            "31" => 0,
            "31" => 0,
            "32" => 0,
            "33" => 0,
            "34" => 0,
            "35" => 0,
            "36" => 0,
            "37" => 0,
            "38" => 0,
            "39" => 0,
            "40" => 0,
            "41" => 0,
            "42" => 0,
            "43" => 0,
            "44" => 0,
        );
   
   
    $own_id=$_SESSION['user_id'];
       
    $sql = "SELECT item.pos,item_proto.size AS item_size
    FROM player.item
    INNER JOIN player.item_proto
    ON item_proto.vnum=item.vnum
    WHERE item.owner_id=? AND item.window=?";
    $stmt = $this->o_db->prepare($sql);
    $stmt->execute(array($own_id,"MALL"));
       
    $result =$stmt->FetchAll();
   
    $nextposition = 0;
    foreach($result as $exist){
        $replace = array($exist['pos'] => 1);
        $slot = array_replace( $slot, $replace);

        if($exist['item_size'] == '2'){
            $replace2 = array($exist['pos']+5=>1);
            $slot = array_replace( $slot, $replace2);
        }
        if($exist['item_size'] == '3'){
            $replace3 = array($exist['pos']+5=>1,$exist['pos']+10=>1);
            $slot = array_replace( $slot, $replace3);
        }
    }
    for($zorke=0;$zorke<=44;$zorke++){
        if($newsize == '1'){
            if($slot[$zorke] == '0'){
                $nextposition = $zorke;
                $zorke = 45;
            }
            if($zorke == 44)
            {
            $nextposition = 45;
            $zorke = 45; 
            }
        }
        if($newsize == '2'){
            if($slot[$zorke] == '0' && $slot[$zorke+5] == '0' ){
                $nextposition = $zorke;
                $zorke = 45;
            }
            if($zorke == 40){
            $nextposition = 45;
            $zorke = 45;
            }
        }
        if($newsize == '3'){
            if($slot[$zorke] == '0' && $slot[$zorke+5] == '0' && $slot[$zorke+10] == '0'){
                $nextposition = $zorke;
                $zorke = 45;
            }
            if($zorke == 35){
            $nextposition = 45;
            $zorke = 45;
            }
        }
       
    }

    return $nextposition;
     
    }


01.Funcția returnează următoarea poziție liberă.. este perfect funțională pe toate 3 size. O să aveți nevoie să vă mai faceți o funție (sau să integrați în aceasta) care să primească size-ul itemului din itemshop.. fiecare după cum are făcut itemshop.

02.Ca să o apelați folosiți $this->checkPosition($variabilă), unde scrie variabilă trebuie să pui size-ul itemului, dacă nu folosiți clase funcția se apelează direct checkPosition($variabilă).

03.Conexiunea la db trebuie să fie pdo.

04. Această linie $nextposition = 45; în funcția mea de buy item am pus condiția că dacă este mai mare sau egal decât 45 să afișeze mesajul că sunt prea multe iteme și are inventarul plin.

Spor,
Zorke.

Vă rugăm să scanaţi întotdeauna fişierele pe care le descărcaţi cu VirusTotal.
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
Trebuie să fii logat sau înregistrat pentru a vedea acest link.

Imagine

Deconectat
Avatar utilizator
DarkAngell
Nou Venit
Nou Venit
Mesaje: 49
Membru din: 12 Ian 2015
Status: Sunt bine mersi ^.^
Server Metin2: www.metin2wow.fzn.ro
Regat: Jinno
Mulțumiri acordate: 5
Mulțumiri primite: 1

Re: [WEB]Funcție pentru verificarea spațiului gol ItemShop

Mesajde DarkAngell » 23 Apr 2018, 21:52

vreau si eu homepagiu :)

Deconectat
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă
Traficant de ouă
Mesaje: 1260
Membru din: 05 Sep 2014
Localitate: Arad
Reputație: ®
▬▬▬▬▬▬▬▬▬▬▬▬
► Super Moderator
► Fost Moderator
► Fost Trial Moderator
► Fost Helper
► Fost Trial Helper
► Castigator Tombola Paste 2018
► Membru Club (14 apr - 14 iulie)
► Nume anterior: Zorke
▬▬▬▬▬▬▬▬▬▬▬▬
Server Metin2: Metin2 Kotoba
Regat: Shinsoo
Mulțumiri acordate: 2
Mulțumiri primite: 36
Contact:

Re: [WEB]Funcție pentru verificarea spațiului gol ItemShop

Mesajde Nazir a.k.a. Zorke » 24 Apr 2018, 13:31

DarkAngell scrie:vreau si eu homepagiu :)


Momentan homepageul nu este gata , si nu l`am facut public !
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
Trebuie să fii logat sau înregistrat pentru a vedea acest link.

Imagine

Deconectat
Avatar utilizator
railgun
Nou Venit
Nou Venit
Mesaje: 14
Membru din: 12 Apr 2018
Status: Sunt bine mersi
Server Metin2: nu
Regat: Chunjo
Mulțumiri acordate: 0
Mulțumiri primite: 1

Re: [WEB]Funcție pentru verificarea spațiului gol ItemShop

Mesajde railgun » 24 Apr 2018, 13:53

Pentru ce -cenzurat- ai nevoie de asa ceva cand ai item_Award

Deconectat
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă
Traficant de ouă
Mesaje: 1260
Membru din: 05 Sep 2014
Localitate: Arad
Reputație: ®
▬▬▬▬▬▬▬▬▬▬▬▬
► Super Moderator
► Fost Moderator
► Fost Trial Moderator
► Fost Helper
► Fost Trial Helper
► Castigator Tombola Paste 2018
► Membru Club (14 apr - 14 iulie)
► Nume anterior: Zorke
▬▬▬▬▬▬▬▬▬▬▬▬
Server Metin2: Metin2 Kotoba
Regat: Shinsoo
Mulțumiri acordate: 2
Mulțumiri primite: 36
Contact:

Re: [WEB]Funcție pentru verificarea spațiului gol ItemShop

Mesajde Nazir a.k.a. Zorke » 24 Apr 2018, 14:57

railgun scrie:Pentru ce -cenzurat- ai nevoie de asa ceva cand ai item_Award



Fiecare folosește ce vrea, în plus voi adapta funcția la un sistem de bonusat itemele direct în itemshop de către playeri :)

EDIT: Poate alții nu au sursă și vor un script și pentru bonusuri ;)
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
Trebuie să fii logat sau înregistrat pentru a vedea acest link.

Imagine


Înapoi la “Tutoriale scripting”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 0 vizitatori