Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Jak zrobić, że ma mi wczytać dany bit jako ajax, że wychodzi na środek ekranu ta ramka co jest w bicie? Dodam tyle, że link, w który będzie się klikało jest jako php (w pliku) i on sam się generuje dla każdego profilu. (zmienia się id).

Opublikowano

Kod php:

return $prefix1 . $prefix2 . '<a class="mcCharClick" id="mcCharLink209" href="'.ipsRegistry::instance()->output->buildUrl("app=urp&module=ajax&section=character&do=details&char={$char['player_uid']}&md5check={$currentMember->form_hash}",'public').'" onclick="ipb.urp.showCharacterDetails(this,'.$char['player_uid'].');return false;">'.str_replace("_", " ", $char['nick']).'</a><br />' . $suffix1 . $suffix2;
}

Kod z tego ajaxu co jest przekierowanie:

<?php
if ( ! defined( 'IN_IPB' ) ) exit();
class public_urp_ajax_character extends ipsAjaxCommand
{
/**
 * Class entry point
 *
 * @access public
 * @param object  Registry reference
 * @return void  [Outputs to screen]
 */

protected $group;

public function doExecute( ipsRegistry $registry )
{ 
 switch($this->request['do'])
 {
  case 'details':
   $this->charDetails();
   break;
  case 'saveEdit':
   $this->charEditSave();
   break;
  case 'delMembership':
   $this->charDelMembership();
   break;
  case 'delPenalty':
   $this->charDelPenalty();
   break;
 }
}

public function charDetails()
{
 $character = urpLib::fetchCharacterData($this->request['char'],true);

 $character['_playername'] = str_replace("_", " ", $character['nick']);

 $character['_membership'] = urpLib::fetchCharacterMembership($this->request['char']);
 $character['_vehicles'] = urpLib::fetchCharacterVehicles($this->request['char']);
 $character['_things'] = urpLib::fetchCharacterThings($this->request['char']);

 $character['_playTime'] = '<b>'.floor(($character['online']/60)/60).'</b>h, <b>'.floor($character['online']%60).'</b>m';
 $character['_lastOnline'] = $this->registry->getClass('class_localization')->getDate( $character['seen'], 'TINY' );
 require_once( IPSLib::getAppDir( 'urp' ) . '/sources/classes/gold.php' );
 $character['_achievements'] = urpAchievements::parseAchievements($character['achiev']);

 $character['_isOnline'] = urpLib::getIngameCharacterById($character['owner'])==$character['player_uid']?1:0;

 $character['_active'] = 1;
 if($character['ban']>0 && $character['ban']<IPS_UNIX_TIME_NOW) $character['_active'] = 0;
 if($character['block']>=16) $character['_active'] = 0;

 if(urpLib::perm_editCharacters($this->memberData))
 {
  $character['_editFields'] = array();

  $forbidden = array('player_uid','member_id','member_group_id','members_seo_name','members_display_name');

  foreach($character as $k=>$v)
  {
   if(substr($k,0,1) != '_' && !in_array($k,$forbidden))
   {
 $character['_editFields'][$k] = $v;
   }
  }
 }

 $this->returnHtml($this->registry->output->getTemplate('urp')->ajaxCharDetails($character));
}

public function charEditSave()
{
 if(!urpLib::perm_editCharacters($this->memberData))
 {
  $this->registry->getClass('output')->showError('Nie możesz edytować postaci',1010);
  return;
 }

 $updateString = '';

 foreach($this->request['charData'] as $k=>$v)
 {
  $updateString .= ',`'.$this->DB->addSlashes($k).'`=\''.$this->DB->addSlashes($v).'\'';
 }

 $this->DB->query('UPDATE urp_players SET '.substr($updateString,1).' WHERE player_uid='.intval($this->request['charUID']).' LIMIT 1');
 $this->DB->execute();

 $this->registry->getClass('output')->addContent('<p class="message">Postać została zapisana.</p>');
 $this->registry->getClass('output')->sendOutput();
}

public function charDelMembership()
{
 if($this->memberData['member_group_id']==4 || $this->memberData['member_group_id']==9 || urpLib::isMembersCharacter($this->request['character'],$this->memberData['member_id']))
 {
  if(!urpLib::perm_deleteOwnMembership($this->memberData,$this->request['what']))
  {
   $this->registry->getClass('output')->showError('Nie masz uprawnień do skasowania tego członkowstwa.',0);
   return;
  }

  $this->DB->query('DELETE FROM urp_members WHERE player_uid='.intval($this->request['character']).' AND what='.intval($this->request['what']).' LIMIT 1');
  $this->DB->execute();

  $this->registry->getClass('output')->addContent('<p class="message">Członkostwo w tej grupie zostało zerwane.</p>');
  $this->registry->getClass('output')->sendOutput();
 }
}


public function charDelPenalty()
{
 $characters = urpLib::getMemberCharacters($this->memberData['member_id'],'');
 if(!is_array($characters) || !count($characters)) return;

 foreach($characters as $char)
 {
  if($char['player_uid'] == $this->request['character'])
  {
   $subUpdateQuery = '';

   switch(intval($this->request['tp']))
   {
 case 3: $subUpdateQuery = 'ban=0'; break; //ban
 case 4: $subUpdateQuery = 'block=(blocks & ~(16)'; break; //block
 case 6: $subUpdateQuery = 'blocks=(blocks & ~(8))'; break; //noooc
 case 7: $subUpdateQuery = 'blocks=(blocks & ~(2))'; break; //noweap
 case 8: $subUpdateQuery = 'blocks=(blocks & ~(4))'; break; //noveh
 case 9: $subUpdateQuery = 'blocks=(blocks & ~(1))'; break; //norun
 case 14: $subUpdateQuery = 'block=(blocks & ~(16)'; break; //ck
   }
   if(!empty($subUpdateQuery))
   {
 $this->DB->query('UPDATE urp_penalty SET expire=1 WHERE player_uid='.intval($this->request['character']).' AND (expire<'.IPS_UNIX_TIME_NOW.') AND dateline='.intval($this->request['dateline']).' AND type='.intval($this->request['type']).' LIMIT 1');
 $this->DB->execute();

 //if($this->DB->getAffectedRows()>0)
 //{
 // $this->DB->query('UPDATE urp_players SET '.$subUpdateQuery.' WHERE player_uid='.$char['player_uid']);
 // $this->DB->execute();
 //
 // $this->registry->output->silentRedirect($this->registry->output->buildUrl('module=usercp&tab=urp&area=activeScolds','publicWithApp'));
 //}
 //else
 //{
 // $this->registry->output->showError('Nie znaleziono takiej kary.',0);
 //}
   }
   else
   {
 $this->registry->output->showError('Ten rodzaj kary nie został rozpoznany..',0);
   }

   return;
  }
 }
 $this->registry->output->showError('Ta postać nie należy do Ciebie.',0);
}
}
?>

A to kod bitu:

<script type='text/javascript'>
if($('mcNewCharBtn'))
{
$('mcNewCharBtn').observe('click',function(e){
Event.stop(e);
var name = prompt('Podaj proszę nazwę postaci (musi być taka jak Twój nick w Minecrafcie, jeżeli masz wersję premium).');
if(name == null || name == '') return false;

window.location.href = '='+name;
return false;
});
}
$$('.mcCharClick').invoke('observe','click',function(event){
var linktag = $(event.currentTarget);
Event.stop(event);
var charid = linktag.id.replace(/mcCharLink/g, '');
 new ipb.Popup('charMcDetailPopup',
  {
   type: 'pane', modal: true, w: '600px', h: 320,
   ajaxURL: linktag.readAttribute('href'),
   hideAtStart: false,
   close: 'a[rel="close"]',
  },
  {
   afterShow: function(e2){
 ipb.hrp.initCharacterCards('hrpMcCharTabs'+charid);
   }
  }
 );
 return false;
});
</script>
<div xmlns="http://www.w3.org/1999/xhtml" id="charDetailPopup_inner" class="popupInner" style="width: 900px; max-height: 500px;"><h3>{$char['nick']}</h3>
<div id="urpCharTabs12718" class="ipsBox">
<div class="ipsLayout ipsLayout_withleft ipsLayout_smallleft ipsVerticalTabbed clearfix usercp_body">
 <div class="ipsVerticalTabbed_tabs ipsLayout_left"><ul>
  <li class="tab_toggle active clickable" id="char12718_home_tab"><a>Podgląd</a></li>
  <li class="tab_toggle clickable" id="11"><a>Osiągnięcia</a></li>

 </ul></div>
 <div class="ipsVerticalTabbed_content ipsLayout_content">
  <div style="min-height: 300px;" class="ipsBox_container">
   <div class="ipsPad">
<div class="tab_toggle_content userpopup" id="char12718_home_pane">
<div><div class="info">
 <dl>
				    <dt>Identyfikator</dt><dd>{$char['player_uid']}</dd>
  <dt>Czas gry</dt><dd>{$char['_playTime']}</dd>
  <dt>Ostatnio online</dt><dd>{$char['_lastOnline']}</dd>
  <dt>Płeć</dt><dd>{$char['sex']}</dd>
  <dt>Aktywna</dt><dd>Tak</dd>
  <dt>Zdrowie</dt><dd>{$char['hp']}%</dd>
  <dt>Siła</dt><dd>3150j</dd>
 </dl>
 <dl>
  <dt>Rasa</dt><dd>?</dd>
  <dt>Wzrost</dt><dd>?</dd>
  <dt>Kolor włosów</dt><dd>?</dd>
 </dl>
 <dl>
  <dt>Historia grup</dt><dd>?</dd>
<dt>Opis</dt><dd><i>(brak opisu)</i></dd>
 </dl>
<img src="/public/style_urp/skins/Skin_{$char['skin']}.png" alt="" style="position:absolute;top:20px;right:20px" />


</div>
<ul class="user_controls clear">

</ul>
</div>
</div>
<div style="display: none;" class="tab_toggle_content" id="11">

<h3 class="bar">Odblokowane osiągnięcia</h3>
<table summary="Achievementy" class="ipb_table">

  <tbody><tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 350
   </td>
   <td>Własne cztery kółka<br/><span class="desc">Stań się właścicielem pierwszego pojazdu</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 100
   </td>
   <td>Uczciwie zarobione pieniądze<br/><span class="desc">Zarób swoje pierwsze dolary uzyskując premię z oferty</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 2500
   </td>
   <td>Przywódca<br/><span class="desc">Zostań wybrany liderem frakcji</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 1800
   </td>
   <td>Lokalny dyktator<br/><span class="desc">Stwórz własną organizację</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 1500
   </td>
   <td>Biznesmen<br/><span class="desc">Załóż własny biznes</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 1750
   </td>
   <td>Średnia firma<br/><span class="desc">Zatrudnij 35-ciu pracowników</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 1550
   </td>
   <td>Mała firma<br/><span class="desc">Daj pracę pierwszym 15-stu osobom</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 850
   </td>
   <td>Wszędzie dobrze, ale w domu najlepiej<br/><span class="desc">Zdobądź pierwszy, własny dom lub mieszkanie</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="-" src="http://net4game.com/public/style_images/master/rep_down.png"/> -50
   </td>
   <td>Zbesztany<br/><span class="desc">Twarde lądowanie w AdminJailu</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 50
   </td>
   <td>Lokalna gwiazda<br/><span class="desc">Zgromadź 20 wizytówek vCard w telefonie</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 10000
   </td>
   <td>Pół miliona<br/><span class="desc">Wysil wszelkie zmysły, by zgromadzić pół miliona</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 7500
   </td>
   <td>200 tysięcy<br/><span class="desc">Zgromadź na koncie bankowym 200 tysięcy</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 5000
   </td>
   <td>Sfera bogatych<br/><span class="desc">Zgromadź na koncie bankowym 100 tysięcy</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 250
   </td>
   <td>Pierwsze oszczędności<br/><span class="desc">Osiągnij 5 tysięcy dolarów na koncie bankowym</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 3500
   </td>
   <td>Król nieruchomości<br/><span class="desc">Wykup przynajmniej 4 nieruchomości</span></td>
  </tr>

  <tr class="row2">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 10000
   </td>
   <td>Zakorzeniony<br/><span class="desc">Przebij 1000 godzin spędzonych online na jednej postaci</span></td>
  </tr>

  <tr class="row1">
   <td class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 1600
   </td>
   <td>Trening czyni mistrza<br/><span class="desc">Naucz się dowolnej techniki walki</span></td>
  </tr>

</tbody></table>

<h3 class="bar">Nieodblokowane osiągnięcia</h3>
<table summary="Achievementy" class="ipb_table">

  <tbody><tr class="row2">
   <td style="width: 80px;" class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 500
   </td>
   <td>Małżeństwo: <span class="desc">Stań przy ślubnym kobiercu ze swoją drugą połówką</span></td>
  </tr>

  <tr class="row1">
   <td style="width: 80px;" class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 2000
   </td>
   <td>Kolekcjoner: <span class="desc">Zostań właścicielem 12-stu pojazdów</span></td>
  </tr>

  <tr class="row2">
   <td style="width: 80px;" class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 2300
   </td>
   <td>Duża firma: <span class="desc">Prowadź przedsiębiorstwo liczące 70 pracowników</span></td>
  </tr>

  <tr class="row1">
   <td style="width: 80px;" class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 1000
   </td>
   <td>Król szos: <span class="desc">Pokonaj dystans 15 tysięcy pojazdem z silnikiem</span></td>
  </tr>

  <tr class="row2">
   <td style="width: 80px;" class="short altrow">
   <img alt="+" src="http://net4game.com/public/style_images/master/rep_up.png"/> 3000
   </td>
   <td>Strongman: <span class="desc">Zdobądź siłę o wartości 3200j</span></td>
  </tr>

</tbody></table>

</div>

   </div>
  </div>
 </div>
</div>
</div></div>


Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.