Home Community Mys-Script Creative Off-Topic |
|
|
Thread Tools | Display Modes |
#1
|
||||
|
||||
Itemdrop Mod for Mys v1.3.4
Another Mod I decided to revise for Mys v1.3.4 is this Itemdrop Mod, which should be perfectly compatible with the new version. With this plugin, users have a chance to get a specific item by clicking on a certain species of adoptable. It may help with users exchange clicks, but do not abuse this feature so users get way too many important items.
You can assign either one or multiple items to an adoptables species, which will drop items based on their item drop-rate. For instance, if an adoptable has drop-rate of 30, your user will have 30% chance to get an item by clicking on this pet. If you assign two or three items to this species, each of them will have 15% or 10% chance to come out. Unfortunately there's no way to 'discriminate' among items for a given adoptable, a probability system is way too complicated for me to work with at this point. Assuming you have a fresh installation of Mys v1.3.4, you can simply download the .rar files I upload myself, then go to /install/genderratio.php to execute the file to install the Mod. If your site is heavily customized, you'd have to install manually, which should not be difficult anyway. The manual installation steps are explained as below: To begin with, insert two columns in table prefix.adoptables: PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
__________________
Mysidia Adoptables, a free and ever-improving script for aspiring adoptables/pets site. |
#2
|
||||
|
||||
This is beautiful! I love it! Question, though- do they need to be the pre-set usable items, or can they be collectibles (no function, just pretty)? If the former, is there an easy way to modify this? Thanks in advance for your time.
__________________
Avatar courtesy of Doll Divine. |
#3
|
||||
|
||||
Well of course you need to create these items in ACP first, but they can be something like key items or valuable items that do not serve any purpose other than collectibles.
__________________
Mysidia Adoptables, a free and ever-improving script for aspiring adoptables/pets site. |
#4
|
||||
|
||||
Thank you! I shall try it out and let you know if anything goes wrong how it goes! XD
Edit: What are those table prefixes you mention? Quote:
Quote:
__________________
Avatar courtesy of Doll Divine. Last edited by squiggler; 01-25-2014 at 11:29 PM. Reason: *clueless* |
#5
|
||||
|
||||
table prefix is the prefix applied to your table, lol I know I am not good at explaining this thing. One example is adopt_, which is the default table prefix is you do not specify any.
__________________
Mysidia Adoptables, a free and ever-improving script for aspiring adoptables/pets site. |
#6
|
||||
|
||||
Where would I find it? In the file manager? Or...phpMyAdmin? If I go to that, it won't let me add simple text. This is what it looks like: http://i44.tinypic.com/123kxi1.png
I added what options the menu gives me to the side. I have absolutely no idea how to add columns with this system. It's very unfriendly.
__________________
Avatar courtesy of Doll Divine. |
#7
|
||||
|
||||
Did you notice that all your database tables start with the same sequence of characters? From the look of your database, the prefix is adopts_
__________________
Mysidia Adoptables, a free and ever-improving script for aspiring adoptables/pets site. |
#8
|
||||
|
||||
I'm getting an error:
Fatal error: Call to a member function getValue() on a non-object in /home/lucasa33/public_html/ranch/view/levelupview.php on line 24 This is my code: Code:
p use Resource\Collection\ArrayList; use Resource\Utility\Curl; class LevelupView extends View{ public function click(){ $mysidia = Registry::get("mysidia"); $document = $this->document; $adopt = $this->getField("adopt"); $reward = $this->getField("reward")->getValue(); $document->setTitle("{$this->lang->gave} {$adopt->getName()} one {$this->lang->unit}"); $image = $adopt->getImage("gui"); $image->setLineBreak(TRUE); $summary = new Division; $summary->setAlign(new Align("center")); $summary->add($image); $summary->add(new Comment("{$this->lang->gave}{$adopt->getName()} one {$this->lang->unit}.")); $summary->add(new Comment($this->lang->encourage)); $summary->add(new Comment("<br> You have recieved {$reward} {$mysidia->settings->cost} from the owner of the ranch animal! ")); $summary->add(new Comment("You now have {$mysidia->user->getcash()} {$mysidia->settings->cost}")); $dropstatus = $this->getField("dropstatus")->getValue(); if($dropstatus == 1) $document->addLangvar("<br>Congratulations, you have acquired an item by clicking this adoptable, check your inventory to see what it is!"); else $document->addLangvar("<br>Unfortunately no item is dropped from this adoptable this time, you have to try something else."); $document->add($summary); Code:
$dropstatus = $this->getField("dropstatus")->getValue(); Code:
$newClicks = $this->adopt->getTotalClicks() + 1; $this->adopt->setTotalClicks($newClicks, "update"); $mysidia->db->insert("vote_voters", array("void" => NULL, "date" => $date->format('Y-m-d'), "username" => $mysidia->user->username, "ip" => $ip, "adoptableid" => $mysidia->input->get("aid"))); if($this->adopt->hasNextLevel()){ $nextLevel = $this->adopt->getNextLevel(); $requiredClicks = $nextLevel->getRequiredClicks(); if($requiredClicks and $newClicks >= $requiredClicks) $this->adopt->setCurrentLevel($nextLevel->getLevel(), "update"); } $plugin = $mysidia->db->select("acp_hooks", array(), "pluginname = 'itemdrop' and pluginstatus = 1")->fetchObject(); if($mysidia->user instanceof Member and is_object($plugin)){ $item = $mysidia->db->select("adoptables", array("dropitem", "droprate"), "type = '{$this->adopt->getType()}'")->fetchObject(); if(!empty($item->dropitem) and $item->droprate > 0){ $candrop = "yes"; $droprand = mt_rand(0, 99); if($droprand < $item->droprate){ // Item has dropped, now process the event! $itemrand = explode(",", $item->dropitem); $num = count($itemrand); if(count($itemrand) == 1) $actualitem = $itemrand[0]; else{ $actualrand = mt_rand(0, $num - 1); $actualitem = $itemrand[$actualrand]; } $newitem = new StockItem($actualitem, 1); $newitem->assign($mysidia->user->username); $newitem->append(1); $dropstatus = new Integer(1); } } } $this->setField("reward", ($dropstatus)?$dropstatus:new Integer(0)); $reward = $mysidia->user->clickreward($this->settings->reward); $mysidia->user->changecash($reward); $this->setField("adopt", $this->adopt); $this->setField("reward", new Integer($reward)); |
#9
|
||||
|
||||
Maybe the first setField in levelup.php is supposed to be dropstatus and not reward?
$this->setField("reward"(here), ($dropstatus)?$dropstatus:new Integer(0)); $reward = $mysidia->user->clickreward($this->settings->reward); $mysidia->user->changecash($reward); $this->setField("adopt", $this->adopt); $this->setField("reward", new Integer($reward));
__________________
asp.net stole my soul. |
#10
|
||||
|
||||
Quote:
I get this in the ACP: |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Mys v1.3.3 Itemdrop Mod for Mys v1.3.3 | Hall of Famer | Mys v1.3.x Mods | 8 | 06-14-2016 05:50 PM |
Mys v1.3.2 Itemdrop Mod for Mys v1.3.2 | Hall of Famer | Mys v1.3.x Mods | 29 | 03-11-2013 03:44 PM |
What's New? |
What's Hot? |
What's Popular? |