![]() |
| Home Community Mys-Script Creative Off-Topic |
|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
#1
|
||||
|
||||
|
Resolved
Now a mod-- Click! OK, so I'm trying to essentially copy the files adoptview.php, adopt.php, and lang_adopt.php in order to create more adoption centers such as these because I'm able to individually customize the stores a lot more then. However I've run into a road block. I don't know how to make it, when using these files, so that when a user "adopts" a cat that has a cost set to it, it subtracts the cost from the user's amount of currency. I can see where it happens in the shop files, but I'm not sure how to convert that over to the adopt files. I think this is the function I need, but I don't know how to include/implement it in the shopname.php or shopnameview.php files (which are just versions of the adopt.php and adoptview.php files); PHP Code:
__________________
My Mods Site (1.3.4, 2020 Mods) Last edited by Abronsyth; 02-18-2016 at 02:48 PM. |
|
#2
|
||||
|
||||
|
Still looking for some help with this
__________________
My Mods Site (1.3.4, 2020 Mods) |
|
#3
|
||||
|
||||
|
Okay... I'm not sure if this will work, but declare a new adopt in the adopt file (if not already declared):
$adopt = new Adoptable($mysidia->input->post("id")); Then: $cost = $adopt->getCost(); $usermoney = $mysidia->db->select("users", array("money"), "username = {$mysidia->user->username}")->fetchColumn(); $newusermoney = $usermoney - $cost; $mysidia->db->update("users", array("money" => $newusermoney), "username='{$mysidia->user->username}'"); .... Is this what you need? |
|
#4
|
||||
|
||||
|
Unfortunately it doesn't seem to be subtracting any currency :(
((showing index function in my "mao.php" file which is basically a copy of adopt.php)) PHP Code:
__________________
My Mods Site (1.3.4, 2020 Mods) Last edited by Abronsyth; 01-29-2016 at 12:21 PM. |
|
#5
|
|||
|
|||
|
Here's how I debug some mysidia scripting I do. I add DIE's in the code to check on things. I added two DIE statements in your code.
Code:
public function index(){
$mysidia = Registry::get("mysidia");
if($mysidia->input->post("submit")){
$this->access = "member";
$this->handleAccess();
$id = $mysidia->input->post("id");
if($mysidia->session->fetch("adopt") != 1 or !$id) throw new InvalidIDException("global_id");
$adopt = new Adoptable($id);
$cost = $adopt->getCost();
DIE("COST: " . $cost); //delete after seeing result
$usermoney = $mysidia->db->select("users", array("money"), "username = {$mysidia->user->username}")->fetchColumn();
DIE("MONEY: " . $usermoney); // delete after seeing result
$newusermoney = $usermoney - $cost;
$mysidia->db->update("users", array("money" => $newusermoney), "username='{$mysidia->user->username}'"); //this line updates money. I assume $cost is 0 since no subtracting is done.
$conditions = $adopt->getConditions();
if(!$conditions->checkConditions()) throw new NoPermissionException("condition");
$name = (!$mysidia->input->post("name"))?"Unnamed":$mysidia->input->post("name");
$alts = $adopt->getAltStatus();
$code = $adopt->getCode();
$gender = $adopt->getGender();
$mysidia->db->insert("owned_adoptables", array("aid" => NULL, "type" => $adopt->getType(), "name" => $name, "owner" => $mysidia->user->username, "currentlevel" => 0, "totalclicks" => 0, "code" => $code,
"imageurl" => NULL, "usealternates" => $alts, "tradestatus" => 'notfortrade', "isfrozen" => 'no', "gender" => $gender, "offsprings" => 0, "lastbred" => 0, "originalowner" => $mysidia->user->username, "birthday" => date("F jS, Y") ));
$aid = $mysidia->db->select("owned_adoptables", array("aid"), "code='{$code}' and owner='{$mysidia->user->username}'")->fetchColumn();
$this->setField("aid", new Integer($aid));
$this->setField("name", new String($name));
$this->setField("eggImage", new String($adopt->getEggImage()));
return;
}
__________________
|
|
#6
|
||||
|
||||
|
Wait, I found a mistake in the sql syntax... try this:
PHP Code:
|
|
#7
|
|||
|
|||
|
I also found this in pound.php
Code:
$poundAdopt->dopound();
if($this->settings->cost->active == "yes"){
$cost = $this->getCost($this->adopt, "pound");
$mysidia->user->changecash(-$cost);
$this->setField("cost", new Integer($cost));
}
$mysidia->user->changecash(-$cost);
__________________
|
|
#8
|
||||
|
||||
|
Huh, nothing's worked as of yet. I'll keep working on this, I'd like to pretty up the layout a bit, and then release it as a mod once I do get it working.
Trying to see if I can somehow use the purchase function now...hm.
__________________
My Mods Site (1.3.4, 2020 Mods) Last edited by Abronsyth; 02-02-2016 at 06:48 PM. |
|
#9
|
||||
|
||||
|
I'm now wondering if this has something to do with the way the adopt function itself is set up...is it just entirely designed to never subtract currency if a user is adopting a pet..?
__________________
My Mods Site (1.3.4, 2020 Mods) |
|
#10
|
||||
|
||||
|
The species has a cost set to it, but you need to pull up that information before you can use it. In the default shop's purchasing function, the line $adopt->getcost($this->salestax); uses $adopt, but that $adopt refers to the species, not to the pet that was just adopted. We can't use that, we already have a variable called $adopt which refers to the pet we just created, not the species as a whole.
Right after the pet is inserted into the database, try this (this should go in adopts.php, obviously): PHP Code:
PHP Code:
__________________
Please do not contact me directly outside of Mysidia.
I also cannot troubleshoot code more than two years old - I legit don't remember it. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
What's New? |
What's Hot? |
What's Popular? |