Ejemplo n.º 1
0
 public static function execute(SR_Player $player, array $args)
 {
     $bot = Shadowrap::instance($player);
     $c = Shadowrun4::SR_SHORTCUT;
     $b = chr(2);
     if ($player->isCreated()) {
         $bot->rply('1171');
         // 			$bot->reply('Your character has been created already. You can type '.$c.'reset to start over.');
         return false;
     }
     $races2 = SR_Player::getHumanRaces();
     $races = implode(', ', $races2);
     $genders = implode(', ', array_keys(SR_Player::$GENDER));
     if (count($args) !== 2) {
         return self::onHelp($player, $races, $genders);
     }
     $race = strtolower($args[0]);
     if (!in_array($race, $races2, true)) {
         $bot->rply('1172', array($races));
         // 			$bot->reply('Your race is unknown or an NPC only race. Valid races: '.$races.'.');
         return false;
     }
     $gender = strtolower($args[1]);
     if (!SR_Player::isValidGender($gender)) {
         $bot->rply('1173', array($genders));
         // 			$bot->reply('Your gender is unknown. Valid genders: '.$genders.'.');
         return false;
     }
     $player->saveOption(SR_Player::CREATED, true);
     $player->saveVars(array('sr4pl_race' => $race, 'sr4pl_gender' => $gender));
     $player->initRaceGender();
     Shadowcmd_aslset::onASLSetRandom($player);
     $player->modify();
     $player->healHP(10000);
     $player->healMP(10000);
     $p = $player->getParty();
     $p->pushAction('inside', 'Redmond_Hotel');
     $player->msg('start_1');
     $player->msg('start_2');
     $player->msg('start_3');
     $player->hlp('start_4');
     $player->giveItems(array(SR_Item::createByName('Pen')));
     $player->giveKnowledge('words', 'Shadowrun');
     $player->giveKnowledge('words', 'Renraku');
     $player->giveKnowledge('places', 'Redmond_Hotel');
     Shadowcmd_gmm::sendGlobalMessage(sprintf('Welcome a new player: %s the %s %s.', $player->getName(), $player->getGender(), $player->getRace()));
     return true;
 }
Ejemplo n.º 2
0
 /**
  * Create an NPC and set a valid partyid.
  * @param string $classname
  * @return SR_NPC
  */
 private function createNPC($classname, SR_Party $party, SR_Party $attackers = NULL)
 {
     $data = $this->applyNPCStartData(self::getPlayerData(NULL));
     $data['sr4pl_classname'] = $classname;
     $npc = new $classname($data);
     $npc->setNPCClassName($classname);
     $npc instanceof SR_NPC;
     $npc->setOption(self::CREATED, true);
     $npc->setVar('sr4pl_name', $npc->getNPCPlayerName());
     if (false === $npc->insert()) {
         return false;
     }
     Shadowcmd_aslset::onASLSetRandom($npc);
     $party->addUser($npc, false);
     $npc->saveVar('sr4pl_partyid', $party->getID());
     return self::reloadPlayer($npc);
 }