triple7inc

GCCombat PHP Upgrade (gccombat.php)

Oct 5th, 2021 (edited)
1,319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.89 KB | None | 0 0
  1. <?php
  2. /*Basic database settings*/
  3. $DB=[
  4.     "host"=>"localhost",/*=== MySQL host/ip ===*/
  5.     "database"=>"gccombat",/*=== MySQL database name ===*/
  6.     "username"=>"iamdave",/*=== MySQL username ===*/
  7.     "password"=>"P4sSw0rD!"/*=== MySQL password ===*/
  8. ];
  9. /*Advanced database settings*/
  10. $ADVANCED=[
  11.     "levelsTable"=>"levels",/*=== MySQL Players table name ===*/
  12.     "playersTable"=>"player"/*=== MySQL Players table name ===*/
  13. ];
  14. /*
  15.         https://exampele.com/gccombat.php?&cmd=
  16. =>  Parameter 'cmd' as GET or POST
  17. */
  18. /*DO NOT EDIT BELOW THIS LINE*/
  19. header("Content-Type:text/plain");
  20. setlocale(LC_MONETARY,"en_US");
  21. date_default_timezone_set("America/Los_Angeles");
  22. function is($S){return(isset($_GET[$S]));}
  23. function PUSH($K,$S){global$R;$R[$K]=$S;}
  24. function isp($S){return(isset($_POST[$S]));}
  25. function ToSqlArray($A){return"('".implode("','",$A)."')";}
  26. function val($S){global$CON;return($CON->real_escape_string(stripslashes($_GET[$S])));}
  27. function str_contains($src,$who){if(strpos($src,$who)!==false){return true;}return false;}
  28. function valp($S){global$CON;return($CON->real_escape_string(stripslashes($_POST[$S])));}
  29. function generatePIN($digits=4){$i=0;$pin="";while($i<$digits){$pin.=mt_rand(0,9);$i++;}return$pin;}
  30. function multi_unique($src,$key){$tempArr=array_unique(array_column($src,$key));return array_intersect_key($src,$tempArr);}
  31. function RandomString($length=9){$characters='0123456789abcdefghijklmnopqrstuvwxyz';$charactersLength=strlen($characters);$randomString='';for($i=0;$i<$length;$i++){$randomString.=$characters[rand(0,$charactersLength-1)];}return$randomString;}
  32. function money($S)
  33. {
  34.     $S=money_format("%i",$S);
  35.     $S=str_ireplace("USD","",$S);
  36.     $S=str_replace(".00","",$S);
  37.     $S=trim($S);
  38.     return$S;
  39. }
  40. function StringToMultiTable($STR)
  41. {
  42.     $END=[];
  43.     $STR=trim($STR);
  44.     if($STR=="")return$END;
  45.     $ROOT=explode("|",$STR);
  46.     for($X=0;$X<count($ROOT);$X++){
  47.         $CHILD=explode("=",$ROOT[$X]);
  48.         if(count($CHILD)==2)$END[$CHILD[0]]=$CHILD[1];
  49.     }
  50.     return$END;
  51. }
  52. function MultiTableToString($ARR)
  53. {
  54.     $END=[];
  55.     foreach($ARR as $KEY=>$VAL){array_push($END,"$KEY=$VAL");}
  56.     if($END==[])return"";
  57.     return(implode("|",$END));
  58. }
  59. function ProfilePicture($USR)
  60. {
  61.     $R=$NULL_KEY;
  62.     $F=file_get_contents("http://world.secondlife.com/resident/"+val("userkey"));
  63.     if($F!=""){
  64.         $F=explode("<meta name=\"imageid\" content=\"",$F)[1];
  65.         $F=explode("\"",$F)[0];
  66.         $R=$F;
  67.     }
  68.     return$R;
  69. }
  70. function logs($VAR,$VAL,$U=null,$N=null)
  71. {
  72.     global$CON,$D,$USR,$UNM,$SLURL,$ACCOUNT;
  73.     if($ACCOUNT==null){
  74.         if($U==null)$U=$USR;
  75.         if($N==null)$N=$UNM;
  76.     }else{
  77.         if($U==null)$U=$ACCOUNT["userkey"];
  78.         if($N==null)$N=$ACCOUNT["username"];
  79.     }
  80.     $Q="INSERT INTO logs(userkey,username,slurl,variable,value,log)VALUES('$USR','$UNM','$SLURL','$VAR','$VAL',$D)";
  81.     $C=$CON->query($Q);
  82.     if(!$C)return(0);
  83.     return$CON->insert_id;
  84. }
  85. function getCombatUser($USR,$isNAME=false)
  86. {
  87.     $R=[];
  88.     global$CON,$NULL_KEY;
  89.     if($USR==$NULL_KEY)return(null);
  90.     $X=$isNAME?"LCASE(name)='".strtolower(trim($USR))."'":"id='$USR'";
  91.     $Q="SELECT * FROM ".$ADVANCED["playersTable"]." WHERE $X LIMIT 1";
  92.     if($RES=$CON->query($Q)){while($ROW=$RES->fetch_assoc()){$R=$ROW;}$RES->free();}
  93.     if($R==[])return(null);
  94.     foreach($R as $KEY=>$VAL){if(is_numeric($VAL)){$R[$KEY]=intval($R[$KEY]);}}
  95.     return$R;
  96. }
  97. function updateCombatUser($ACCOUNT)
  98. {
  99.     $TMP=[];
  100.     global$CON,$NULL_KEY;
  101.     if($ACCOUNT==null||(is_array($ACCOUNT)&&$ACCOUNT==[]))return(false);
  102.     if($ACCOUNT["id"]==$NULL_KEY)return(false);
  103.     unset($ACCOUNT["id"]);
  104.     foreach($ACCOUNT as $KEY=>$VAL){
  105.         $_=is_numeric($VAL)?"":"'";
  106.         array_push($TMP,"$KEY=$_".$VAL."$_");
  107.     }
  108.     if($TMP==[])return(false);
  109.     $R=implode(",",$TMP);
  110.     $Q="UPDATE ".$ADVANCED["playersTable"]." SET $R WHERE id='".$ACCOUNT["userkey"]."' LIMIT 1";
  111.     return$CON->query($Q);
  112. }
  113. $R=0;
  114. $D=time();
  115. $ACCOUNT=null;
  116. ///$HEADERS=apache_response_headers();
  117. $NULL_KEY="00000000-0000-0000-0000-000000000000";
  118. $CON=new mysqli($DB["host"],$DB["username"],$DB["password"],$DB["database"]);
  119. if(!isp("cmd")){if(is("cmd")){$CMD=strtoupper(stripslashes($_GET["cmd"]));}else{echo$R;exit();}}else{$CMD=strtoupper(stripslashes($_POST["cmd"]));}
  120. if($CON->connect_errno){echo$R;exit();}
  121. $USR=$NULL_KEY;
  122. $SLURL="None";
  123. $UNM="None";
  124. if(is("slurl"))$SLURL=val("slurl");
  125. $R="Player did not register!";
  126. $CMD=str_replace("/","",$CMD);
  127. $CMD=str_replace(".PHP","",$CMD);
  128. if($CMD=="PLAYER-ATTRIBUTES-GET"&&isp("playerKey")){
  129.     $ID=valp("playerKey");
  130.     $Q="SELECT health,energy,hunger,thirst,blood,tired,sick FROM ".$ADVANCED["playersTable"]." WHERE id=$ID LIMIT 1";
  131.     if($RES=$CON->query($Q)){while($ROW=$RES->fetch_assoc()){$R=$ROW["health"].":".$ROW["energy"].":".$ROW["hunger"].":".$ROW["thirst"].":".$ROW["blood"].":".$ROW["tired"].":".$ROW["sick"];}}
  132. }else
  133. if($CMD=="PLAYER-ATTRIBUTES-SET"&&isp("playerKey")&&isp("playerHealth")&&isp("playerEnergy")&&isp("playerHunger")&&isp("playerThirst")&&isp("playerBlood")&&isp("playerTired")&&isp("playerSick")){
  134.     $ID=valp("playerKey");
  135.     $health=valp("playerHealth");
  136.     $energy=valp("playerEnergy");
  137.     $hunger=valp("playerHunger");
  138.     $thirst=valp("playerThirst");
  139.     $blood=valp("playerBlood");
  140.     $tired=valp("playerTired");
  141.     $sick=valp("playerSick");
  142.     $ACCOUNT=getCombatUser($ID);
  143.     if($ACCOUNT!=null){
  144.         $Q="UPDATE ".$ADVANCED["playersTable"]." SET health=$health,energy=$energy,hunger=$hunger,thirst=$thirst,blood=$blood,tired=$tired,sick=$sick WHERE id='$ID' LIMIT 1";
  145.         if($CON->query($Q)===TRUE)$R="";
  146.     }
  147. }else
  148. if($CMD=="PLAYER-CURRENCY-ATM-BALANCE"&&isp("toucherKey")){
  149.     $ID=valp("toucherKey");
  150.     $ACCOUNT=getCombatUser($ID);
  151.     if($ACCOUNT!=null)$R="dollars:".$ACCOUNT["dollars"];
  152. }else
  153. if($CMD=="PLAYER-CURRENCY-ATM-BUY"&&isp("playerKey")&&isp("dollarsAmount")){
  154.     $ID=valp("playerKey");
  155.     $ACCOUNT=getCombatUser($ID);
  156.     $AMOUNT=valp("dollarsAmount");
  157.     if($ACCOUNT!=null){
  158.         $Q="UPDATE ".$ADVANCED["playersTable"]." SET dollars=dollars+$AMOUNT WHERE id='$ID' LIMIT 1";
  159.         if($CON->query($Q)===TRUE)$R="Successful";
  160.     }
  161. }else
  162. if($CMD=="PLAYER-CURRENCY-ATM-SEND"&&isp("ID")&&isp("name")&&isp("amount")){
  163.     $senderID=valp("ID");
  164.     $R="Player Doesn't Exist!";
  165.     $targetName=valp("name");
  166.     $AMOUNT=intval(valp("amount"));
  167.     $ACCOUNT=getCombatUser($senderID);
  168.     if($ACCOUNT!=null){
  169.         $R="You don't have enough!";
  170.         if($ACCOUNT["dollars"]>=$AMOUNT){
  171.             $R="Player Doesn't Exist!";
  172.             $TARGET=getCombatUser($targetName,true);
  173.             if($TARGET!=null){
  174.                 $TARGET["dollars"]+=$AMOUNT;
  175.                 $ACCOUNT["dollars"]-=$AMOUNT;
  176.                 if(updateCombatUser($ACCOUNT)&&updateCombatUser($TARGET))$R="dollars:".$TARGET["id"].":$senderID:$AMOUNT";
  177.             }
  178.         }
  179.     }
  180. }else
  181. if($CMD=="PLAYER-CURRENCY-GET"&&isp("playerKey")){
  182.     $ID=valp("playerKey");
  183.     $ACCOUNT=getCombatUser($ID);
  184.     if($ACCOUNT!=null)$R=$ACCOUNT["dollars"];
  185. }else
  186. if($CMD=="PLAYER-GENDER-SET"&&isp("playerKey")&&isp("playerGender")){
  187.     $ID=valp("playerKey");
  188.     $ACCOUNT=getCombatUser($ID);
  189.     $GENDER=ucwords(valp("playerGender"));
  190.     if($ACCOUNT!=null){
  191.         $ACCOUNT["gender"]=$GENDER;
  192.         if(updateCombatUser($ACCOUNT))$R=$GENDER;
  193.     }
  194. }else
  195. if($CMD=="PLAYER-LEVEL-SET"&&isp("playerKey")){
  196.     $ID=valp("playerKey");
  197.     $ACCOUNT=getCombatUser($ID);
  198.     if($ACCOUNT!=null){
  199.         $LVL=null;
  200.         $ACCOUNT["xp"]+=1;
  201.         $T="You have earned 1xp, total: ".$ACCOUNT["xp"]."xp\n";
  202.         $Q="SELECT * FROM ".$ADVANCED["levelsTable"]." WHERE level=".$ACCOUNT["level"]." LIMIT 1";
  203.         if($RES=$CON->query($Q)){while($ROW=$RES->fetch_assoc()){$LVL=$ROW;}}
  204.         if($LVL!=null){
  205.             if($ACCOUNT["level"]==intval($LVL["level"])&&$ACCOUNT["xp"]>intval($LVL["xp"])){
  206.                 $ACCOUNT["dollars"]+=5;
  207.                 $ACCOUNT["level"]+=1;
  208.                 $T=$LVL["text"];
  209.             }
  210.         }
  211.         if($ACCOUNT["level"]>=20)$T="You have reached the max level!";
  212.         if(updateCombatUser($ACCOUNT))$R=$T;
  213.     }
  214. }else
  215. if($CMD=="PLAYER-CURRENCY-SEND"&&isp("ID")&&isp("stat")&&isp("name")&&isp("amount")){
  216.     $STAT=valp("stat");
  217.     $senderID=valp("ID");
  218.     $R="Player Doesn't Exist!";
  219.     $targetName=valp("name");
  220.     $AMOUNT=intval(valp("amount"));
  221.     $ACCOUNT=getCombatUser($senderID);
  222.     if($ACCOUNT!=null){
  223.         $R="You don't have enough!";
  224.         if($ACCOUNT[$STAT]>=$AMOUNT){
  225.             $R="Player Doesn't Exist!";
  226.             $TARGET=getCombatUser($targetName,true);
  227.             if($TARGET!=null){
  228.                 $TARGET[$STAT]+=$AMOUNT;
  229.                 $ACCOUNT[$STAT]-=$AMOUNT;
  230.                 if(updateCombatUser($ACCOUNT)&&updateCombatUser($TARGET))$R="send:".$TARGET["id"].":$AMOUNT:$STAT";
  231.             }
  232.         }
  233.     }
  234. }else
  235. if($CMD=="PLAYER-REG"&&isp("playerKey")&&isp("playerName")){
  236.     $R="";
  237.     $ID=valp("playerKey");
  238.     $NAME=valp("playerName");
  239.     $ACCOUNT=getCombatUser($ID);
  240.     if($ACCOUNT==null){
  241.         $Q="INSERT INTO ".$ADVANCED["playersTable"]." (id,name)VALUES('$ID','$NAME')";
  242.         if($CON->query($Q)===TRUE)echo "Thank you $NAME for using Reckless: Combat, enjoy the game!";
  243.     }
  244. }else
  245. if($CMD=="PLAYER-STATISTICS-GET"&&isp("playerKey")){
  246.     $ID=valp("playerKey");
  247.     $Q="SELECT dollars,xp,level FROM ".$ADVANCED["playersTable"]." WHERE id=$ID LIMIT 1";
  248.     if($RES=$CON->query($Q)){while($ROW=$RES->fetch_assoc()){$R=$ROW["dollars"].":".$ROW["xp"].":".$ROW["level"];}}
  249. }
  250. echo$R;
  251. $CON->close();
  252. ?>
Add Comment
Please, Sign In to add comment