Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Naprawione koło fortuny by Greg


stacker123

Rekomendowane odpowiedzi

Opublikowano

Witam, dzisiaj udostępniam wam naprawione koło fortuny autorstwa Greg'a.

case 'wheeloffortune':
		
		// Wheel of fortune by Greg
		
		// Load basic datas
		$qry = $db->prepare("SELECT lvl, wheelcounts, newwheel, mush FROM players WHERE ssid = :ssid");
		$qry->bindParam(':ssid', $ssid);
		$qry->execute();
		$prpa = $qry->fetch(PDO::FETCH_ASSOC);
		$prlvl = $prpa['lvl'];
		
		if ($prpa['wheelcounts'] >= 20) {
			exit("Error:need more gold"); // Anit-cheat lol
		}
		
		if ($prpa['newwheel'] > time()) {
			$prpa['mush'] -= 1;
			if ($prpa['mush'] < 0) {
				exit("Error:need more coins");
			}
		}
		
		$prpa['newwheel'] = strtotime('tomorrow');
		
		$db->exec("UPDATE players SET mush = mush - 1, wheelcounts = wheelcounts + 1, newwheel = '".$prpa['newwheel']."' WHERE ID = $playerID");
		
		$qry = $db->prepare("SELECT b0, wood, stone FROM fortress WHERE owner = :pid");
		$qry->bindParam(':pid', $playerID);
		$qry->execute();
		$fortdata = $qry->fetch(PDO::FETCH_ASSOC);
	
		$acc = new Account(null, null, false, false);
	
		// Lets start
		$r = rand(1, 5); // 1 = Gold, 2 = XP, 3 = Wood, 4 = Stone, 5 = Mushroom
		
		$more = rand(1, 3) == 3 ? TRUE : FALSE;
		
		// Where are
		$bonus = array(4, 2, 6, 8);
		$normal = array(9, 7, 1, 3);
		
		// Default values
		$waa = 0;
		$muu = 0;
		
		// Generate what and how much
		if ($more) {
			// Give more
			switch($r) {
				case 1 :
					$waa = $bonus[0];
					$muu = Account::getQuestGold($prlvl, $goldbonus) * 4;
				break;
				case 2 :
					$waa = $bonus[1];
					$muu = $acc->generateQuest($prlvl, 0, 2)['exp'];
				break;
				case 3 :
					$waa = $bonus[2];
					$muu = intval( (Fortress::getGlobalMaxResources(1, $fortdata['b0']) / 7) * (rand(1000, 1100) / 1000) );
				break;
				case 4 :
					$waa = $bonus[3];
					$muu = intval( (Fortress::getGlobalMaxResources(2, $fortdata['b0']) / 7) * (rand(1000, 1100) / 1000) );
				break;
			}
		}else{
			// Give normal
			switch($r) {
				case 1 :
					$waa = $normal[0];
					$muu = Account::getQuestGold($prlvl, $goldbonus) * 2;
				break;
				case 2 :
					$waa = $normal[1];
					$muu = $acc->generateQuest($prlvl, 0, 1)['exp'];
				break;
				case 3 :
					$waa = $normal[2];
					$muu = intval( (Fortress::getGlobalMaxResources(1, $fortdata['b0']) / 7) * (rand(500, 550) / 1000) );
				break;
				case 4 :
					$waa = $normal[3];
					$muu = intval( (Fortress::getGlobalMaxResources(2, $fortdata['b0']) / 7) * (rand(500, 550) / 1000) );
				break;
			}
		}
		
		if ($r == 5) {
			$waa = 0;
			$muu = 3;
		}
		
		// Give things to player 1 = Gold, 2 = XP, 3 = Wood, 4 = Stone, 5 = Mushroom
		switch($r) {
			case 1 :
				$db->exec("UPDATE players SET silver = silver + $muu WHERE ID = $playerID");
			break;
			case 2 :
				$acc->addExp($muu);
				$db->exec("UPDATE players SET exp = ".$acc->data['exp'].", lvl = ".$acc->data['lvl']." WHERE ID = ".$playerID);
			break;
			case 3 :
				$new_wood = $fortdata['wood'] + $muu;
				if ( $new_wood > Fortress::getGlobalMaxResources(1, $fortdata['b0']) ) {
					$new_wood = Fortress::getGlobalMaxResources(1, $fortdata['b0']);
				}
				$db->exec("UPDATE fortress SET wood = $new_wood WHERE owner = $playerID");
			break;
			case 4 :
				$new_stone = $fortdata['stone'] + $muu;
				if ( $new_stone > Fortress::getGlobalMaxResources(2, $fortdata['b0']) ) {
					$new_stone = Fortress::getGlobalMaxResources(2, $fortdata['b0']);
				}
				$db->exec("UPDATE fortress SET stone = $new_stone WHERE owner = $playerID");
			break;
			case 5 :
				$db->exec("UPDATE players SET mush = mush + $muu WHERE ID = $playerID");
			break;
		}
		
		$acc = new Account(null, null, false, false);
		
		$ret[] = "Success:";
		$ret[] = "wheelresult(2):{$waa}/{$muu}";
		$ret[] = 'ownplayersave.playerSave:'.$acc->getPlayerSave();
		//$ret[] = '#ownplayersave:2/1659705906/14/12/545/2/772/3';
		$ret[] = "timestamp:".time();
		break;
Opublikowano

Ja też wiele nie potrafię, ale znalazłem skrypt w pliczkach to udostępniam. Komuś może się przydać, mało umiem ale pomogę  ^^

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...