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

GoToDark

Użytkownik
  • Postów

    29
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez GoToDark

  1. Dodaję poprzez plik w aplikacji : usercpForms.php

     

    Jednak gdy wchodzę do panelu to nie pojawia mi się zakładka "Postacie", przez co zwykły użytkownik nie może się tam przenieść, zaś gdy wchodzę przez link index.php?app=core&module=usercp&tab=trueapp

    To wszystko działa.

     

    Kod w pliku : 

    <?php
    class usercpForms_trueapp extends public_core_usercp_manualResolver implements interface_usercp
    {
     
    public $tab_name = "Postacie";
    public $ok_message = '';
    public $hide_form_and_save_button = true;
    public $uploadFormMax = 0;
    public $defaultAreaCode = 'characters';
     
    public function init()
    {
     
    }
     
    public function getLinks()
    {
    $array = array();
     
    $array[] = array( 'url'    => 'area=characters',
     'title'  => ipsRegistry::instance()->getClass('class_localization')->words['change_settings'],
     'active' => $this->request['tab'] == 'trueapp' && $this->request['area'] == 'characters' ? 1 : 0,
     'area'   => 'characters'
      );
    }
     
    public function runCustomEvent( $currentArea )
    {
     
    $html = '';
     
    switch( $currentArea )
    {
    case 'addchar':
    return $this->customEvent_addchar();
    break;
    }
     
    return $html;
    }
     
    public function showForm( $current_area, $errors=array() )
    {
    switch( $current_area )
    {
    default:
    case 'characters':
    return $this->formCharacters();
    break;
    }
    }
     
    public function saveForm( $current_area )
    {
    switch( $current_area )
    {
    default:
    case 'characters':
    return $this->saveCharacters();
    break;
    }
    }
     
     
    public function showCharactersList()
    {
    return $this->registry->output->getTemplate('trueapp')->ucpCharList($chars);
    }
    }
     
    Dodam, że aplikacja jest włączona, dodany moduł publiczny.
  2. Może rzeczywiście źle opisałem. Miałem stworzoną aplikację, w niej ok. 40 szablonów. Musiałem przeinstalować całego VPS więc wszystko poszło się jeba**, został mi tylko plik z cache skin_game.php. W nim znajdują się szablony pod tą aplikację, lecz... Gdy wrzucam go do cache/skin_cache/... nie pojawiają się one w ACP, przez co nie mam możliwości ich edycji. Aplikacja działa, pokazuje się wszystko, lecz nie ma ich w ACP przez co edycja jest niemożliwa.

  3. Błąd:

    [b]Fatal error[/b][color=#000000][font='Times New Roman'][size=1]: Call-time pass-by-reference has been removed in [/size][/font][/color][b]/home/otherside-www/public_html/other_side_acp/applications_addon/other/grp/modules_public/leader/faction.php[/b][color=#000000][font='Times New Roman'][size=1] on line [/size][/font][/color][b]11[/b]

    '

    Linijka:

    if(!$group->initAndValidate('faction',$this->registry, &$this->memberData)) return;

    Funkcja:

    public function initAndValidate($groupTypeString,ipsRegistry $registry, &$memberData)
    {
    $this->registry = $registry;
    $this->DB = $registry->DB();
    $this->request =& $this->registry->fetchRequest();
    
    if(!$memberData['member_id'])
    {
    $registry->output->showError('Musisz być zalogowany(a), by przeglądać ten panel.','');
    }
    
    $this->groupTypeShortString = $groupTypeString;
    
    switch($groupTypeString)
    {
    case 'faction':
    $this->groupType = 1;
    $this->groupTypeString = 'Instytucja';
    $this->groupTable = 'grp_frac';
    $this->groupTableUniqueField = 'frac_uid';
    $this->groupThingOwnerType = 5;
    $this->groupVehiclesOwnerType = 4;
    
    break;
    case 'org':
    $this->groupType = 2;
    $this->groupTypeString = 'Organizacja';
    $this->groupTable = 'grp_org';
    $this->groupTableUniqueField = 'org_uid';
    $this->groupThingOwnerType = 6;
    $this->groupVehiclesOwnerType = 3;
    break;
    case 'business':
    $this->groupType = 3;
    $this->groupTypeString = 'Firma';
    $this->groupTable = 'grp_biz';
    $this->groupTableUniqueField = 'biz_uid';
    $this->groupThingOwnerType = 7;
    $this->groupVehiclesOwnerType = 2;
    break;
    case 'home':
    $this->groupType = 4;
    $this->groupTypeString = 'Dom';
    $this->groupTable = '';
    $this->groupTableUniqueField = '';
    $this->groupThingOwnerType = 0;
    break;
    case 'mayor':
    $this->groupType = 1;
    $this->groupTypeID = 4;
    $this->groupTypeString = 'Burmistrz';
    $this->groupTable = 'grp_frac';
    $this->groupTableUniqueField = 'frac_uid';
    $this->groupThingOwnerType = 5;
    $this->groupVehiclesOwnerType = 4;
    
    break;
    
    default:
    $registry->getClass('output')->showError('Podany w adresie rodzaj grupy nie został rozpoznany.','');
    return false;
    break;
    }
    
    switch($this->request['dataType'])
    {
    case 'permissions':
    $this->dataType = 1;
    break;
    case 'transactions':
    $this->dataType = 2;
    break;
    case 'dotation':
    $this->dataType = 3;
    break;
    case 'vehicles':
    $this->dataType = 4;
    break;
    default:
    $this->dataType = 0;
    break;
    }
    
    if(!GRPLib::isMembersCharacter($this->request['character'],$memberData['member_id']))
    {
    $registry->getClass('output')->showError('Wybrana postać nie należy do Ciebie.','');
    return false;
    }
    else
    {
    $this->character = $this->request['character'];
    }
    
    $this->DB->query(sprintf('SELECT whatid,gperm,lperm,player_uid FROM grp_members WHERE player_uid=%d and what=%d LIMIT 1',intval($this->request['character']),$this->groupType));
    $this->DB->execute();
    
    $tempGroupID = $this->DB->fetch();
    if(is_array($tempGroupID) && count($tempGroupID))
    {
    if($tempGroupID['whatid']>0)
    {
    $this->groupID = intval($tempGroupID['whatid']);
    
    if(!($tempGroupID['gperm'] & GRPLEADER_GPERM_PANEMANAGE))
    {
    $registry->getClass('output')->showError('Wybrana postać nie ma dostępu do panelu tej grupy.','');
    return false;
    }
    
    if($tempGroupID['gperm'] & GRPLEADER_GPERM_PANEMANAGE)
    {
    $this->allowModifications = true;
    }
    
    
    if($tempGroupID['gperm'] & GRPLEADER_GPERM_ZERO)
    {
    $registry->getClass('output')->showError('Wybrana postać nie ma dostępu do panelu tej grupy.','');
    return 1;
    }
    }
    else
    {
    $registry->getClass('output')->showError('Wybrana postać nie jest członkiem grupy o tym rodzaju.','');
    return false;
    }
    }
    else
    {
    $registry->getClass('output')->showError('Wybrana postać nie jest członkiem grupy o tym rodzaju.','');
    return false;
    }
    
    return true;
    }

  4. Witajcie, więc mam dziś pewien problem dot. pewnego skryptu.

    Działanie skryptu:

    Użytkownik wysyła na serwer plik z rozszerzeniem .map, następnie system otwiera go i tutaj pojawia się problem.

    W pliku znajdują się obiekty wpisane tak:

    <object id="object (kmb_keypad) (2)" doublesided="false" model="2922" interior="0" dimension="0" posX="1265.5" posY="-1637.6999511719" posZ="14.39999961853" rotX="0" rotY="0" rotZ="181.99951171875"></object>

    A potrzebuje je wpisać do bazy coś ala

    INSERT INTO (`object`, `interior`) VALUES ('2922', '0')

    Nie wiem totalnie jak prze formatować ten tekst <object> tak abym mógł go wpisać do bazy.

  5. 
    class public_gamecp_chars_chars extends ipsCommand
    {
    public function doExecute( ipsRegistry $registry )
    {
    
    if(!$this->memberData['member_id'])
    {
    $this->registry->output->showError('Nie posiadasz konta dlatego dostęp do funkcji panelu został zablokowany.');
    }
    
    $this->DB->query('SELECT * FROM ipb_chars WHERE guid='.intval($this->memberData['member_id']).' ORDER BY uid DESC');
    $this->DB->execute();
    
    while( $char = $this->DB->fetch() )
    {
    $chars['name'] = str_replace("_", " ", $char['name']);
    $chars[] = $char;
    }
    
    $template = $this->registry->output->getTemplate('gamecp')->chars($chars);
    $this->registry->getClass('output')->addContent($template);
    $this->registry->output->setTitle('Lista postaci');
    $this->registry->output->addNavigation( 'Lista postaci', 'app=gamecp&module=chars' );
    $this->registry->getClass('output')->sendOutput();
    }
    }
    

×
×
  • 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ę.