Dinocanid |
03-22-2017 09:16 PM |
I've run into a problem where clicking "explore?" makes you take 2 steps at a time. Or when the steps reset for the day, you might start out with 2 or 4 steps upon clicking the page. This is what I have (not including the css):
PHP Code:
class Explorearea1View extends View{ public function index(){ $mysidia = Registry::get("mysidia"); $document = $this->document; $document->setTitle("Forest Path"); $today = date("d"); //Day of the month $profile = $mysidia->user->getprofile(); $favpet = new OwnedAdoptable($profile->getFavpetID()); $name = $favpet->getName(); $coatiChance = rand(1,100); $boarChance = rand(1,100); $stepstaken = $mysidia->user->exploretimes; // Reset explore counter if the last recorded exploration was on a different day than today: $reset = $mysidia->user->lastday != $today; // Allow user to explore if they are under the limit or if reset condition is true. if ($mysidia->user->exploretimes <= 40 || $reset) { // Update the last day that they explored to today $mysidia->db->update("users", array("lastday" => $today), "username = '{$mysidia->user->username}'");
// If $reset condition was true, reset the count to 1, otherwise increment the existing count. $updatedExploreTimes = $reset ? 1 : $mysidia->user->exploretimes + 1; //$ExploreTimesFix = $mysidia->user->exploretimes - 1; $mysidia->db->update("users", array("exploretimes" => ($updatedExploreTimes)), "username = '{$mysidia->user->username}'"); //$mysidia->db->update("users", array("exploretimes" => ($ExploreTimesFix)), "username = '{$mysidia->user->username}'");
$document->add(new Comment("<div class = 'scene'><img src='http://orig08.deviantart.net/ccf7/f/2017/038/9/8/forestexplore_by_hoafan-day972y.png' style='width:50%;height:50%;'></div>")); $document->add(new Comment("<b>Steps: {$stepstaken} / 40</b>")); // This part gives a coati swirl to the user! if($mysidia->input->post("coati")){ if($coatiChance >= 70) { $species = "Coati Swirl"; $document->add(new Comment("The Coati doesn't want to follow, but it gives {$name} an egg instead! It can be found in your pantry")); $newadopt = new StockAdopt($species); $newadopt->append($mysidia->user->username);} elseif($coatiChance < 70) {$document->add(new Comment("The coati quickly scurries off; startled by {$name}. Better luck next time!"));} } // This part gives a boarBQ to the user! if($mysidia->input->post("boarBQ")){ if($boarChance >= 80) { $species = "BoarBQ"; $document->add(new Comment("{$name} somehow finds a way to calm its temper, and it gives them an egg! It can be found in your pantry")); $newadopt = new StockAdopt($species); $newadopt->append($mysidia->user->username); } elseif($boarChance < 80) {$document->add(new Comment("{$name} runs for their life as the boar charges with sharp tusks!"));} } //This is where exploration starts! if ($mysidia->user->exploretimes <= 40) { $random = rand(1,100);
if($random > 1 && $random < 20){ $species = "Coati Swirl"; //adopt's image! $document->add(new Comment("<div class = 'adopt'><img src='http://orig07.deviantart.net/b589/f/2017/070/8/c/csadult_by_hoafan-db1zf6y.png'></div>")); $document->add(new Comment("Woah there! Is that a {$species}? Maybe {$name} can convince it to follow?")); $CoatiForm = new FormBuilder("coatiform", "", "post"); $CoatiForm->buildButton("Try your luck", "coati", "submit"); $document->add($CoatiForm); } if($random >= 21 && $random <= 30){ $document->add(new Comment("{$name} finds absolutely nothing.")); }
if($random >= 41 && $random <= 60){ $document->add(new Comment("{$name} accidentally tripped over a rock, but they seem okay.")); } if($random >= 61 && $random <= 70){ $species = "Boar BQ"; $document->add(new Comment("<div class = 'adopt'><img src='http://orig02.deviantart.net/4e8b/f/2017/077/c/e/bbqadult_by_hoafan-db2qlpt.png'></div>")); $document->add(new Comment("Look out, it's a {$species}! It doesn't look too friendly...")); $BoarForm = new FormBuilder("boarform", "", "post"); $BoarForm->buildButton("Try your luck", "boarBQ", "submit"); $document->add($BoarForm); } if($random >= 71 && $random <= 75){ $species = "Spaniel Flan"; //$newadopt = new StockAdopt($species); //$newadopt->append($mysidia->user->username); $document->add(new Comment("{$name} can hear birds chirping.")); } if($random >= 91 && $random <= 99){ $amount = rand(1,5); $mysidia->user->changecash($amount); $document->add(new Comment("Oh look! {$name} found $ {$amount}!")); } if($random == 100){ $species = "Spaniel Flan"; //$newadopt = new StockAdopt($species); //$newadopt->append($mysidia->user->username); $document->add(new Comment("{$name} sees something dart past in the bushes. It was too fast to recognize.")); } else{ $document->add(new Comment("<a href='/explorearea1'>Explore?</a>", FALSE)); } } else{ $document->add(new Comment("It seems that {$name} explored too much today, why don't you let them rest?", FALSE)); }
} }
}
"ExploreTimesFix" was a remedy I tried to use to counter the 2-steps thing by just removing 1 step, but it just ended up subtracting 2 steps instead of adding 2, which fixed nothing if not make it worse than it was, so I commented it out.
There's also the occasional moment where no dialogue will appear besides the "explore?" link; and running out of steps will show the user a blank page. (Not a white page, but just a blank page with no words or pictures)
|