Random Adoption Process ?

Forum
Last Post
Threads / Messages

Silver_Brick

Banned
Banned
Joined
Oct 13, 2016
Messages
205
Points
0
Location
In Earth
Mysidian Dollar
0
I want to do random adoption process so 4 random egg will appear horizontally and user can click them to adopt them and there will be no submit button or naming option and they have chances to adopt rare egg very less...
 
there's an old thread here with a code doing what you want, but you will need to edit it so it can work with the new script:
http://mysidiaadoptables.com/forum/showthread.php?t=3527

I manage to make it work, so is not that hard ^^ you just need to add a new row in the database in the adopt_adoptables called rarity and made the changes to the code so it can appear

PHP:
   $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);   
    $ultrarare = rand(1,200);
    $legendary = rand(1,300);   

    if ($uncommon==1 && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='1' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }   
    else if ($rare==1 && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='2' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }       
    else if ($ultrarare==1  && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='3' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }  
    else if ($legendary==1  && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='4' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }     
    else{   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='0' 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='http://127.0.0.1/pokeupdate/picuploads/unknownegg.png' /></div></a><br><div align=center><input type='radio' name='id' id='id' value='{$row->id}' /></div><div align=center><strong>{$row->description}</strong></td>";
		
		}
	
	
    $common = 0; 
    $uncommon = rand(1,50);   
    $rare = rand(1,100);   
    $ultrarare = rand(1,200);
    $legendary = rand(1,300);   

    if ($uncommon==1 && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='1' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }   
    else if ($rare==1 && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='2' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }       
    else if ($ultrarare==1  && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='3' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }  
    else if ($legendary==1  && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='4' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }     
    else{   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='0' 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='http://127.0.0.1/pokeupdate/picuploads/unknownegg.png' /></div></a><br><div align=center><input type='radio' name='id' id='id' value='{$row->id}' /></div><div align=center><strong>{$row->description}</strong></div></td>";

			
   } 
   
    $common = 0; 
    $uncommon = rand(1,50);   
    $rare = rand(1,100);   
    $ultrarare = rand(1,200);
    $legendary = rand(1,300);   

    if ($uncommon==1 && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='1' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }   
    else if ($rare==1 && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='2' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }       
    else if ($ultrarare==1  && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='3' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }  
    else if ($legendary==1  && $onlyone==0){   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='4' ORDER BY RAND() LIMIT 1"; 
$onlyone = 1;   
    }     
    else{   
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='0' 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='http://127.0.0.1/pokeupdate/picuploads/unknownegg.png' /></div></a><br><div align=center><input type='radio' name='id' id='id' value='{$row->id}' /></div><div align=center><strong>{$row->description}</strong></div></td>";
    }
  
   
		$document->add(new Comment("{$adoptform}{$adoptform2}{$adoptform3}"));

probably is not the best way of doing it, but it works for me ^^
I have mine below the lines:
PHP:
            $document->addLangvar((!$mysidia->user->isloggedin)?$mysidia->lang->guest:$mysidia->lang->member);          
            $adoptForm = new Form("form", "adopt", "post");
            $adoptTitle = new Comment("Available Adoptables");
            $adoptTitle->setHeading(3);
            $adoptForm->add($adoptTitle);
            $adoptTable = new Table("table", "", FALSE);

and above the lines:
PHP:
            $adoptForm->add($adoptTable);        
            $adoptForm->add(new Button("Adopt Me", "submit", "submit"));
            $document->add($adoptForm);
        }
    }
}
?>

this part of the code:
PHP:
$document->add(new Comment("{$adoptform}{$adoptform2}{$adoptform3}"));
replaces the
PHP:
$document->add(new Comment($adoptform));

cant post my full adoptview.php file because is very modified.
hope this can be use full for you^^

this code shows 3 eggs at the same time.
 
Hey guys. I started using this too. But there's a big problem I can't seem to figure out. If someone were to get a really rare adopt, all they would have to do is keep refreshing to get the same one over and over again. Any way around that?
 
Doesn't seem random to me. I keep getting the same thing over and over when I refresh after I adopt one. I have it set up to cost money, so the money does reduce. But it does give me the same adopt
 
You could probably work around this by setting it up so that once they adopt you quickly redirect them, which would mostly disable them from being able to refresh to just keep getting the same pet.
 
you can change the value in (1,300); 1 means one adopt and 300 the amount of clicks so is 1 adopt every 300 clicks, if i remember correctly from the original thread, maybe you can change it to a bigger number?
I dint make any more changes, but i think theres was a solution for that in the original thread... you just need to edit it to make it work in the new script

no need to edit the code just paste this:
http://mysidiaadoptables.com/forum/showpost.php?p=22185&postcount=36 in the functions.php

and $clicked = 0; in the adopt.php

i pasted mine below
$total = ($ids)?count($ids):0;

Nevermind... Dont work on a cellphone :/
But it seems to work on a computer/laptop i used firefox to test it
 
Last edited:
I don't really know how to make a gif pic to show you what I mean. A redirect would work, but wouldn't show them the "Congrats you got this adopt" unless there's a way to show the same page in like a fake page type thing, which I don't know how to go about doing (Plus, "back" would still give them a loophole). Or a way to unset post, but I'm not really sure where to put that or how to set that up. But to recreate this (glitch):
1. Click which adopt you want.
2. Click the "Adopt me" button
3. When it shows you which adopt you got, just keep refreshing. In Chrome, it'll ask you if you want to submit form resubmission. You'll get the same one every time
 
Last edited:
It seems the glitch is part of mysidia script..i have the default one and got that problem too... Unless i forgot and edited something... But i thik the only thing i edited was ti add kytias female male images code... Rigth now i cant test that, using my phone...still even if the glitch is caused by the code i posted i have no idea in how to fix it... Maybe theres a fix somewhere in the forum...
 
I'm looking on StackExchange for different methods to kill posts. None are working for me so far though. Almost had one with using cookies, but it wouldn't let me go back to the page at all again lol
 
tried on a fresh install of mysidia, and the glitch is there, for some reason is ignoring the Session and just send a confirmation code, and keeps giving you adopts, so the glitch is not part of the random code i posted
 
I spent hours trying different methods to fix that. Someone who actually knows what they're doing will have to step in. But at least people will be aware of the glitch
 
add this
PHP:
                        $mysidia->session->terminate("adopt");
to the adoptsview.php before the first return;

if I dont make sense this is how it should look:
PHP:
			$document->addLangvar("{$name} with clicks so that they grow!");
                        $mysidia->session->terminate("adopt");
		    return;
		}

for me this is working and trow an error if the user refresh the page =) hope this will help you too
 
Perhaps you can help me with one more thing. I can't see what I did wrong. I have it set up to cost 500 every time someone guesses at an adopt (with the chance to get a cheap adopt up to a rare one) It works fine up to a certain point. It'll deduct the 500 if the user has it and give the adopt. However, if the user doesn't have the 500, it'll pop up saying "Not enough money"..... but still give them the adopt lmao. I'm assuming it's a simple fix, but I can only try different ways of setting it up on my own for so many hours before I cave in and decide I need help.

PHP:
<?php

class AdoptView extends View{
	
	public function index(){
	    $mysidia = Registry::get("mysidia");
		$document = $this->document;
		
	    if($mysidia->input->post("submit")){
	    	
	    	if($mysidia->user->money < 499){
		    $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;
			
			}
			else{
			echo "<script type='text/javascript'>alert('You do not have enough money!')</script>";
			}}
		
		
		$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==1 && $onlyone==0){    
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Uncommon' ORDER BY RAND() LIMIT 1";  
$onlyone = 1;    
    }    
    else if ($rare==1 && $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==1 && $onlyone==0){    
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Uncommon' ORDER BY RAND() LIMIT 1";  
$onlyone = 1;    
    }    
    else if ($rare==1 && $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==1 && $onlyone==0){    
    $query = "SELECT * FROM ".constant('PREFIX'). "adoptables WHERE rarity='Uncommon' ORDER BY RAND() LIMIT 1";  
$onlyone = 1;    
    }    
    else if ($rare==1 && $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); 
        }
}
?>
 
I cant test the code rigth now but maybe this post by kyttias can help you:
http://www.mysidiaadoptables.com/forum/showpost.php?p=32351&postcount=6

The post is for limiting the owned eggs but i know it can help you ^^ if you move your code like the one in the post the user wont see the adopts, if you still want to show the eggs but make the user unable to adopt, you need to copy the random code and paste it in the else you dont have money, but removefrom radio to value and the newbutton adopt me, submit.
If i dont make sense and you can wait a little tomorrow i will post how i did it :)
 
Yeah, I see how that works, unfortunately there's a bug around that. (I like to find odd problems with coding) If you have enough money, then open that page, it'll show the eggs. Then, in another tab, spend that money. In the first tab, you can still see the eggs, even though you don't have enough money lol then back to square one :(
 

Similar threads

Users who are viewing this thread

  • Forum Contains New Posts
  • Forum Contains No New Posts

Forum statistics

Threads
4,277
Messages
33,119
Members
1,602
Latest member
BerrieMilk
BETA

Latest Threads

Top