Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Mys v1.1.x Mods (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=20)
-   -   Abandon system (http://www.mysidiaadoptables.com/forum/showthread.php?t=1247)

bokkun 12-24-2009 09:56 AM

Abandon system
 
2 Attachment(s)
Hey, I'm bokkun and...
let's me skip the introduction for now and give what you came for.
In dragon cave you can abandon your dragons and have someone else adopt it, instead of killing them, It looked me interesting to have such a system to save those poor virtual lifes ;)
I am not a great php programmer however, I tried my best, and accept critic.
The script is supposed to remove the kill ability, but it's possible to simply have both.

first of all, we need a new table in the database to save our abandoned adoptables:
Code:

CREATE TABLE IF NOT EXISTS `adopts_abandoned` (
  `aid` int(11) NOT NULL auto_increment,
  `type` varchar(40) default NULL,
  `name` varchar(40) default NULL,
  `owner` varchar(40) default NULL,
  `currentlevel` int(11) default NULL,
  `totalclicks` int(11) default NULL,
  `code` int(11) default NULL,
  `imageurl` varchar(120) default NULL,
  `usealternates` varchar(10) default NULL,
  `tradestatus` varchar(15) default NULL,
  `isfrozen` varchar(10) default NULL,
  `date` varchar(30) default NULL,
  PRIMARY KEY  (`aid`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

It's pretty much a copy of the owned table, but with an additional field date

now, put the creature in there, open myadopt.php
and look for $act == "kill"
scroll a bit down till you find
PHP Code:

$aid=@mysql_result($result,$i,"aid"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$isfrozen=@mysql_result($result,$i,"isfrozen"); 

since we need way more data,replace it with:
PHP Code:

$aid=@mysql_result($result,$i,"aid"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$owner=@mysql_result($result,$i,"owner");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$code=@mysql_result($result,$i,"code");
$usealternates=@mysql_result($result,$i,"usealternates");
$tradestatus=@mysql_result($result,$i,"tradestatus");
$date=time('U'); 

scroll down till you find $query = "DELETE FROM ".$prefix."owned_adoptables WHERE aid='$id' and owner='$loggedinname'";
this is where it gets removed, but we don't want that, replace with
PHP Code:

mysql_query("INSERT INTO ".$prefix."abandoned VALUES ('$aid', '$type', '$name','$owner', '$currentlevel', '$totalclicks', '$code', '', '$usealternates', '$tradestatus', '$isfrozen', '$date')");
mysql_query("DELETE FROM ".$prefix."owned_adoptables WHERE aid='$id' and owner='$loggedinname'"); 

change the text a bit to fit the abandon process(as well in myadopts.php as in lang.php)
and that's it... ow wait where can we find our creatures? and don't forget you have to be able to adopt them
There are 2 attachments included, abandon.php(is like adopt.php but for the abandoned pets) and doadoptab.php(like doadopt.php to adopt our abandoned friend.)

abandon.php uses
$article_title = $ashowingtitle;
$article_content = $ashowing;
don't forget to put that in your lang.php,
and neither should you forget to add the link

another think in abandon.php is that it checks if the creature has been there for more than 2 weeks, if so it gets removed, forever!
to change that look for $decay=time() - 14 * 24 * 60 * 60;
and change 14 * 24 * 60 * 60 to fit your needs(14 is more or less how many days it are)
to remove the auto-delete thing, you can remove the
if($date < $decay){ //check if the creature is too the abandoned database
//yes it is, time to remove it
$removed="yes";
mysql_query("DELETE FROM ".$prefix."abandoned WHERE aid='$aid' and name='$name'");
}


I forgot to say abandon uses an edited function script
simply add this at the end of function.php, else you can't see the pet image
PHP Code:

function getabandonedimage($id){

// This function determines which image we should use for a given adoptable...

include("config.php"); // This is so we can use the table prefix

$image "";

// First we select the adoptable from the database and get some basic information...

$query "SELECT * FROM ".$prefix."abandoned WHERE aid='$id'";
$result mysql_query($query);
$num mysql_numrows($result);

//Loop out code
$i=0;
while (
$i 1) {

$type=@mysql_result($result,$i,"type"); 
$currentlevel=@mysql_result($result,$i,"currentlevel"); 
$imageurl=@mysql_result($result,$i,"imageurl");
$usealternates=@mysql_result($result,$i,"usealternates");


$i++;
}

if(
$imageurl != ""){

// If we are using a custom image for this adoptable, use that
$image $imageurl;

}
else{

// We have to dig this up ourselves...
// Check if we are using an egg image or a level image...

    
if($currentlevel == or $currentlevel == "0"){

    
// Let's see what the egg image is...    

    
$query "SELECT * FROM ".$prefix."adoptables WHERE type='$type'";
    
$result mysql_query($query);
    
$num mysql_numrows($result);

    
//Loop out code
    
$i=0;
    while (
$i 1) {

    
$eggimage=@mysql_result($result,$i,"eggimage"); 


    
$i++;
    }

    
$image $eggimage// Set the image URL equal to the egg image...

    
}
    else{

    
// We have to find out what level we are using...
    // Then we can choose the appropriate image for what we are using...

        
$query "SELECT * FROM ".$prefix."levels WHERE adoptiename='$type' and thisislevel='$currentlevel'";
        
$result mysql_query($query);
        
$num mysql_numrows($result);

        
//Loop out code
        
$i=0;
        while (
$i 1) {

        
$primaryimage=@mysql_result($result,$i,"primaryimage"); 
        
$alternateimage=@mysql_result($result,$i,"alternateimage");


        
$i++;
        }

        
// If alternate images are enabled and an alternate image exists, use it

        
if($usealternates == "yes" and $alternateimage != ""){

        
$image $alternateimage// Use the alternate image

        
}
        else{

        
$image $primaryimage// Set the image equal to the primary image for the level

        
}
    


    }

}

if(
$type == "" or $image == ""){
// We did not settle on an image, so we show an error image...

$image "http://".$domain."".$scriptpath."/templates/icons/delete.gif";

}

return 
$image;

}

function 
canadoptab($aid$cond$promocode){

include(
"config.php");

// This function determines if a user can adopt a specific adoptable...

$canadopt "yes"// The default status is that we CAN adopt, unless proven false...

// The first thing we check is that we are logged in

$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];

if(
$isloggedin != "yes" and $cond != "showing"){
$canadopt "no";
}

// Now we check if our usergroup has permission to adopt the adoptable...

$group getgroup();
$dbcanadpt cando($group"canadopt");

if(
$dbcanadpt != "yes" and $cond != "showing"){
$canadopt "no";
}
return 
$canadopt;



Update: the abandon.php and doadoptab.php script are reuploaded, they're edited to work correctly with the function above

This script is not compatible with a gender mod
if you use one a few additions will have to be made:
find in abandon.php
PHP Code:

$aid=@mysql_result($result,$i,"aid"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$owner=@mysql_result($result,$i,"owner");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$code=@mysql_result($result,$i,"code");
$usealternates=@mysql_result($result,$i,"usealternates");
$tradestatus=@mysql_result($result,$i,"tradestatus");
$date=date('Y-m-d');
$eggimage getabandonedimage($aid); 

add at the end
$gender=@mysql_result($result,$i,"gender");

to show the gender:
go a little down till you see $article_content = $article_content."<br><img src='".$eggimage."' border='0'><br>
add between that and <form name='form1' method='get' action='doadoptab.php'> this:
<b>Gender: </b>".$gender."<br>
That shows the gender to people who will get there abandoned pet
next (more importantly) go to adoptab.php
find
mysql_query("INSERT INTO ".$prefix."owned_adoptables VALUES ('', '$type', '$name','$loggedinname','$currentlevel','$totalcli cks', '$code', '','$usealternates','$tradestatus','$isfrozen')");
replace with
mysql_query("INSERT INTO ".$prefix."owned_adoptables VALUES ('', '$type', '$name','$loggedinname','$currentlevel','$totalcli cks', '$code', '','$usealternates','$tradestatus','$isfrozen','$g ender')");

find a bit above $eggimage=getabandonedimage($aid);
and add again
$gender=@mysql_result($result,$i,"gender");
that should do it for that file.
but we aren't done

in the code above(in file myadopts.php) you'll see
$date=time('U');
add $gender=@mysql_result($result,$i,"gender");
then find
INSERT INTO ".$prefix."abandoned VALUES ('$aid', '$type', '$name','$owner', '$currentlevel', '$totalclicks', '$code', '', '$usealternates', '$tradestatus', '$isfrozen', '$date')");
replace with
mysql_query("INSERT INTO ".$prefix."abandoned VALUES ('$aid', '$type', '$name','$owner', '$currentlevel', '$totalclicks', '$code', '', '$usealternates', '$tradestatus', '$isfrozen', '$date','$gender')");

well that looks good, but it won't work if you don't add in the table adopts_abandoned a new field gender (with the same options as the gender field from the owned_adoptables)

Arianna 12-24-2009 10:51 AM

RE: Abandon system
 
That sounds nice. I might make a few edits, but I'll probably be testing this. x3

SieghartZeke 12-24-2009 04:15 PM

RE: Abandon system
 
OMG Work in my site!!!
Thank you for this great Mod!!!
And im waiting for the currency and the shop....
But a little thingy... I add the little code in my lang.php but i don't show text...
can i add in the abandone.php page???

bokkun 12-25-2009 07:30 AM

RE: Abandon system
 
You added it in $ashowing(title)?
an example of my test server:
PHP Code:

$ashowingtitle "Abandoned pets";
$ashowing "These poor pets are dumped by their master, they still are looking for a new home. If you have some extra place in your pet collection, please help these guys out.<br>"

( doadoptab.php uses the same lang as doadopt.php since there is no real need to change the text)

of course you can always add the text to the page itself, lang.php is just to make changing texts easier(for when you make a language mod for example)

mapleblade 12-25-2009 01:18 PM

RE: Abandon system
 
wow nice! ill test it as soon as i can :D i was waiting for this feature!!!!!! like the adoptable pound on pokeplushies! nice work!!!!

Ashje 12-25-2009 04:47 PM

RE: Abandon system
 
Looks great. Imma try it out soon. XD

SleepWalker 12-26-2009 06:55 AM

RE: Abandon system
 
I wanna to try out.

Ashje 12-27-2009 07:26 PM

RE: Abandon system
 
Wait, so this isn't compatible with the gender mod?

anjwalker 12-27-2009 08:25 PM

RE: Abandon system
 
it is but you have to add the extra stuff at the end
Quote:

This script is not compatible with a gender mod
if you use one a few additions will have to be made:
find in abandon.php

PHP Code:

Code:

$aid=@mysql_result($result,$i,"aid"); //The adoptable's ID
$currentlevel=@mysql_result($result,$i,"currentlevel");
$type=@mysql_result($result,$i,"type");
$owner=@mysql_result($result,$i,"owner");
$name=@mysql_result($result,$i,"name");
$totalclicks=@mysql_result($result,$i,"totalclicks");
$isfrozen=@mysql_result($result,$i,"isfrozen");
$code=@mysql_result($result,$i,"code");
$usealternates=@mysql_result($result,$i,"usealternates");
$tradestatus=@mysql_result($result,$i,"tradestatus");
$date=date('Y-m-d');
$eggimage = getabandonedimage($aid);

add at the end
$gender=@mysql_result($result,$i,"gender");

to show the gender:
go a little down till you see $article_content = $article_content."<br><img src='".$eggimage."' border='0'><br>
add between that and <form name='form1' method='get' action='doadoptab.php'> this:
<b>Gender: </b>".$gender."<br>
That shows the gender to people who will get there abandoned pet
next (more importantly) go to adoptab.php
find
mysql_query("INSERT INTO ".$prefix."owned_adoptables VALUES ('', '$type', '$name','$loggedinname','$currentlevel','$totalcli cks', '$code', '','$usealternates','$tradestatus','$isfrozen')");
replace with
mysql_query("INSERT INTO ".$prefix."owned_adoptables VALUES ('', '$type', '$name','$loggedinname','$currentlevel','$totalcli cks', '$code', '','$usealternates','$tradestatus','$isfrozen','$g ender')");

find a bit above $eggimage=getabandonedimage($aid);
and add again
$gender=@mysql_result($result,$i,"gender");
that should do it for that file.
but we aren't done

in the code above(in file myadopts.php) you'll see
$date=time('U');
add $gender=@mysql_result($result,$i,"gender");
then find
INSERT INTO ".$prefix."abandoned VALUES ('$aid', '$type', '$name','$owner', '$currentlevel', '$totalclicks', '$code', '', '$usealternates', '$tradestatus', '$isfrozen', '$date')");
replace with
mysql_query("INSERT INTO ".$prefix."abandoned VALUES ('$aid', '$type', '$name','$owner', '$currentlevel', '$totalclicks', '$code', '', '$usealternates', '$tradestatus', '$isfrozen', '$date',$gender)");

well that looks good, but it won't work if you don't add in the table adopts_abandoned a new field gender (with the same options as the gender field from the owned_adoptables)

SieghartZeke 12-28-2009 03:05 AM

RE: Abandon system
 
Omg...You are from MYadopts!!!And you are so much great with coding!! *_*


All times are GMT -5. The time now is 02:13 AM.

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