Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Questions and Supports (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=18)
-   -   Random Adoption Process ? (http://www.mysidiaadoptables.com/forum/showthread.php?t=5368)

kristhasirah 04-06-2017 09:43 PM

Will test the code tomorrow and see if i can help you find a way to make it work ^^ if not lets hope one of the most experienced members can help you, sadly i dont have too much experience in coding and cant help you much.

I think i found a way to make it work, dont know if you have tried this:

PHP Code:

<?php 

class AdoptView extends View
     
    public function 
index(){ 
        
$mysidia Registry::get("mysidia"); 
        
$document $this->document
        if(
$mysidia->user->money 499){ 
        echo 
"<script type='text/javascript'>alert('You do not have enough money!')</script>";
        
$mysidia->session->terminate("adopt");
        }
        else{          
        if(
$mysidia->input->post("submit")){             
            
$aid $this->getField("aid")->getValue(); 
            
$name $this->getField("name")->getValue(); 
            
$eggImage $this->getField("eggImage")->getValue(); 
            
$image = new Image($eggImage); 
            
$image->setLineBreak(TRUE);     
            
$mysidia->user->changecash(-500);  
             
            
$document->setTitle("{$name} adopted successfully");             
            
$document->add($image); 
            
$document->addLangvar("Congratulations!  You just adopted {$name}. You can now manage {$name} on the "); 
            
$document->add(new Link("myadopts""Myadopts Page.")); 
            
$document->add(new Comment("")); 
            
$document->add(new Link("myadopts/manage/{$aid}""Click Here to Manage {$name}")); 
            
$document->add(new Comment("")); 
            
$document->add(new Link("myadopts/bbcode/{$aid}""Click Here to get BBCodes/HTML Codes for {$name}")); 
            
$document->add(new Comment("")); 
            
$document->addLangvar("Be sure and"); 
            
$document->add(new Link("levelup/{$aid}""feed ")); 
            
$document->addLangvar("{$name} with clicks so that they grow!"); 
            
$mysidia->session->terminate("adopt");   
            return;             
            } 
         } 
        
$document->setTitle($mysidia->lang->title); 
        
$document->addLangvar((!$mysidia->user->isloggedin)?$mysidia->lang->guest:$mysidia->lang->member);           
        
$adoptForm = new Form("form""adopt""post"); 
        
$adoptTitle = new Comment("Available Species"); 
        
$adoptTitle->setHeading(3); 
        
$adoptForm->add($adoptTitle); 
        
$adoptTable = new Table("table"""FALSE); 
          
         
         
          
      
    
    
$adoptform "<form name='form1' method='post' action='$adopt'> <table id='adoptdark' name='adopt' class='adopt'>";  
    
$common 0;   
    
$uncommon rand(1,50);     
    
$rare rand(1,100);     
    
$veryrare rand(1,200);  
    
$endangered rand(1,300);     

    if (
$uncommon==&& $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Uncommon' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }     
    else if (
$rare==&& $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Rare' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }         
    else if (
$veryrare==1  && $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Very Rare' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }    
    else if (
$endangered==1  && $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Endangered' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }       
    else{     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Common' ORDER BY RAND() LIMIT 1";     
    }     
    
$stmt $mysidia->db->query($query);    
      
        while(
$row $stmt->fetchObject()) {  

            
$adoptform .= "<td width='25%' VALIGN='center'><div align=center><img src='../../picuploads/unknownegg.png' /></div></a><br><div align=center><input type='radio' name='id' id='id' value='{$row->id}' /></div><div align=center></td>";  
          
        }  
      
      
    
$common 0;   
    
$uncommon rand(1,50);     
    
$rare rand(1,100);     
    
$veryrare rand(1,200);  
    
$endangered rand(1,300);     

    if (
$uncommon==&& $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Uncommon' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }     
    else if (
$rare==&& $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Rare' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }         
    else if (
$veryrare==1  && $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Very Rare' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }    
    else if (
$endangered==1  && $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Endangered' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }       
    else{     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Common' ORDER BY RAND() LIMIT 1";     
    }     
    
$stmt $mysidia->db->query($query);    

    while(
$row $stmt->fetchObject()) {  

            
$adoptform2 .= "<td width='25%' VALIGN='center'><div align=center><img src='../../picuploads/unknownegg.png' /></div></a><br><div align=center><input type='radio' name='id' id='id' value='{$row->id}' /></div></td>";  

              
   }   
     
    
$common 0;   
    
$uncommon rand(1,50);     
    
$rare rand(1,100);     
    
$veryrare rand(1,200);  
    
$endangered rand(1,300);     

    if (
$uncommon==&& $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Uncommon' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }     
    else if (
$rare==&& $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Rare' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }         
    else if (
$veryrare==1  && $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Very Rare' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }    
    else if (
$endangered==1  && $onlyone==0){     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Endangered' ORDER BY RAND() LIMIT 1";   
$onlyone 1;     
    }       
    else{     
    
$query "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Common' ORDER BY RAND() LIMIT 1";     
    }     
    
$stmt $mysidia->db->query($query);    

    while(
$row $stmt->fetchObject()) {  

            
$adoptform3 .= "<td width='25%' VALIGN='center'><div align=center><img src='../../picuploads/unknownegg.png' /></div></a><br><div align=center><input type='radio' name='id' id='id' value='{$row->id}' /></div></td>";  
        } 
        
$document->add(new Comment("{$adoptform}{$adoptform2}{$adoptform3}"));   
         
         
        
$adoptForm->add($adoptTable);         
        
$adoptSubtitle = new Comment("Adopt"); 
        
$adoptSubtitle->setHeading(3); 
        
$adoptForm->add($adoptSubtitle); 
        
$adoptForm->add(new Comment("Adoptable Name: "FALSE)); 
        
$adoptForm->add(new TextField("name")); 
        
$adoptForm->add(new Comment("")); 
        
$adoptForm->add(new Button("Adopt Me""submit""submit")); 
        
$document->add($adoptForm);  
        } 

?>

what it does is when the user clicks the adopt page the message will popup, when the user click ok they can see the eggs, but if they try to adopt any of the pets it will give them the id error... dont know if this can be usefull for you... as i really dont know how you have your site set it up when the user guess the adopt.

Chaos77777 04-07-2017 07:01 PM

It actually works! It's a bit odd when it pops up that the user doesn't have enough money when they first go to the page lol, but that's just cosmetic. I'll worry about fixing that to look better some other time. For now it works right, even tried bugging around it the ways I know of, and it still works as intended. Thanks so much!

kristhasirah 04-07-2017 08:09 PM

Glad i could help you and that is close to what you where looking for ^^

Chaos77777 04-07-2017 08:23 PM

Awww, I was able to work around it. Have the page open with 500 currency, open another page and spend that money. Click over to the adopt page and adopt normally. It says "You do not have enough money" and gives you the adopt lol... Welp, back to the drawing board

kristhasirah 04-07-2017 09:19 PM

Sorry to hear that. I Dint test it that way, having 2 pages opened at the same time, i suppose is because one page still has the session opened and thats why the user can keep adopting.

KatFennec 04-26-2017 02:13 AM

I've been trying to get this working, and while it seems to be functioning acceptably, my partner wants me to see if I can replace the radio buttons with proper buttons that, once clicked, will immediately adopt the selected creature. unfortunately, I can't seem to figure out how to convert them, or failing that, create buttons to replace them.

kristhasirah 04-26-2017 08:19 AM

yes is possible i have it like that in my site:
PHP Code:

<div align=center><img src='{$row->eggimage}'style=' margin-bottom:30px;'/></div></br><div align=center><strong>{$row->description}</strong></div></div></br><div align=center><input name='id' type='hidden' id='id' value='{$row->id}'><input type='submit' name='submit' value='adopt me'></body></td

but be warned the id of the adopt can be changed with inspect element! the user can add any number and if the adopt is available they will get it
to prevent this you can add :
PHP Code:

<body oncontextmenu='return false' onkeydown=\"return false;\" onmousedown=\"return false;\"> 

to disable the right click and prevent that in a way.... but maybe you or your friend know a different way to hide or not allowing tho change the id of the adopt ^^ i can't help much in that area im still trying to figure out how to fix that with out having to do something like dragon cave or most of the sites where you adopt an already created egg... because i don't know how to code it

just to inform... this is also for the default adopt page, users can use inspect element and change the id of the of the radio button and put anything there... even the id of the adopts that are in shops and get them for free.

aquapyrofan 04-26-2017 01:05 PM

Quote:

Originally Posted by kristhasirah (Post 36216)
yes is possible i have it like that in my site:
PHP Code:

<div align=center><img src='{$row->eggimage}'style=' margin-bottom:30px;'/></div></br><div align=center><strong>{$row->description}</strong></div></div></br><div align=center><input name='id' type='hidden' id='id' value='{$row->id}'><input type='submit' name='submit' value='adopt me'></body></td

but be warned the id of the adopt can be changed with inspect element! the user can add any number and if the adopt is available they will get it
to prevent this you can add :
PHP Code:

<body oncontextmenu='return false' onkeydown=\"return false;\" onmousedown=\"return false;\"> 

to disable the right click and prevent that in a way.... but maybe you or your friend know a different way to hide or not allowing tho change the id of the adopt ^^ i can't help much in that area im still trying to figure out how to fix that with out having to do something like dragon cave or most of the sites where you adopt an already created egg... because i don't know how to code it

just to inform... this is also for the default adopt page, users can use inspect element and change the id of the of the radio button and put anything there... even the id of the adopts that are in shops and get them for free.

Those already show up in the page randomly by default, we have it set to not do that by setting their rarity to 5, but there's got to be a better way to fix it.

kristhasirah 04-26-2017 02:31 PM

add AND shop='none' after the rarity = '' for each row that way the adopts that are in a shop wont appear in there

kristhasirah 04-29-2017 11:50 AM

found a way to stop users from changing the ids and getting the adopts in the shop or any other adopt you don't want to be adopted in the main adopt page:
PHP Code:

            if($id == '11') throw new InvalidIDException("global_id"); 

to add more ids just add: || $id == 'id' (replace 'id' with the number you want to exclude.
for me this is working if the user change the id using inspect element to one of the defined ids it will trow the this id don't exist message
hope it works for everyone else.
i have mine below the first if statement in the public function index.


All times are GMT -5. The time now is 03:00 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.