Перейти к контенту

Города для Inferno RPG 2.5/4.2


Рекомендуемые сообщения

Как я уже сказал СПЕЦИАЛЬНО ДЛЯ ФРИМЭНА мод с городами под версию форума 1,3,1 :D)))

 

МОД НЕ ДОПИСАН

 

ПРЕДУПРЕЖДЕНИЕ!: Перед установкой ОБЯЗАТЕЛЬНО сделайте бэкап!

 

КОПИРАЙТ: Скрипт написал CTAPbIu_MABP тоесть я для человека по имени Фримэн. Каждый желающий может устанавливать, изменять и/или улучшать код на свое усмотрение не забывая оставить надписи "//by CTAPbIu_MABP" и "//end by"

 

ПРОСЬБА: Люди знающие PHP лучше меня плз помогите дописать последнюю функцию в админке

 

Итак мод к RPG Inferno 4.2

 

Разрабатывалось на IPB 1.3.1 и RPG Inferno 2.5, тестировалось на RPG Inferno 4.2, с IPB 2.0.x совместимость неизвестна [нету]

 

Итак начнем:

 

открыть admin.php

найти

$choice = array(
 "idx"      => "doframes",

снизу

 

'town' => 'town',

 

 

открыть source/rpg.php

найти

switch($ibforums->input['CODE']) {

снизу

case 'town':
$this->town();
break;
case 'road':
$this->road();
break;
case 'do_road':
$this->do_road();
break;

 

найти

// print data
$print->add_output("$this->output");
$print->do_output( array( 'TITLE' => $ibforums->vars['board_name']." - ".$this->page_title, 'JS' => 0, 'NAV' => $this->nav ) );
}

снизу

 

// by CTAPbIu_MABP

// TOWNS

function town(){
global $ibforums, $DB, $std, $print;

// are we offline? v2 //
$DB->query("SELECT * FROM ibf_rpgoptions where id='1'");
$options=$DB->fetch_row();
if($options['townon']=="Offline"){
$std->Error( array( 'LEVEL' => 1, 'MSG' => 'section_offline' ) );
}

// user
$DB->query("SELECT * FROM ibf_members where id={$ibforums->member['id']}");
$Member=$DB->fetch_row();

// what town?
$DB->query("SELECT * FROM ibf_town where id={$Member['town']}");

// null town
if (!$Towns=$DB->fetch_row()){
   $DB->query("SELECT * FROM ibf_town ORDER BY id ASC");
if(!$NoTown=$DB->fetch_row())
{
//log
$DB->query("INSERT INTO ibf_town_log VALUES('','ïîëüçîâàòåëü <b>{$ibforums->member['name']}</b> íå ñìîã ïîïàñòü íå â îäèí ãîðîä òàê êàê èõ áîëüøå íåò...')");
$print->redirect_screen( "Something are going wrong.<br> It seems all towns had been terminated :(", 'act=RPG&CODE=town' ); 
}
else
{
//log
$DB->query("INSERT INTO ibf_town_log VALUES('','ïîëüçîâàòåëü <b>{$ibforums->member['name']}</b> áûë íàñèëüíî ïåðåìåùåí â ãîðîä <b>{$NoTown['name']}</b> òàê êàê ãîðîä â êîòîðîì îí íàõîäèëñÿ, áûë ðàçðóøåí')");
$DB->query("UPDATE ibf_members SET town={$NoTown['id']} where id={$ibforums->member['id']} ");  
$print->redirect_screen( "Something are going wrong.<br> It seems your town had been terminated, and you moved to another one...", 'act=RPG&CODE=town' ); 
}
}


$this->output .= $this->html->towntop($Towns);
$this->output .= $this->html->townrow($Towns);
$this->output .= $this->html->townbottom($Member);
$this->output .= $this->html->Copyright();

$this->page_title = "Town";
$this->nav        = array( "Town", );
}




function road(){
global $ibforums, $DB, $std, $print;

// are we offline? v2 //
$DB->query("SELECT * FROM ibf_rpgoptions where id='1'");
$options=$DB->fetch_row();
if($options['townon']=="Offline"){
$std->Error( array( 'LEVEL' => 1, 'MSG' => 'section_offline' ) );
}

// user
$DB->query("SELECT * FROM ibf_members where id={$ibforums->member['id']}");
$Member=$DB->fetch_row();

// what town?
$DB->query("SELECT * FROM ibf_town where id={$Member['town']}");
$Town=$DB->fetch_row();

// zero town
if($Member['town'] == 0){ 
$print->redirect_screen( "Congratulation!!! You have just burn :)", 'act=RPG&CODE=set_town' );  
}

// null town
if ($Town == null){
$DB->query("SELECT * FROM ibf_town ORDER BY id ASC");
if(!$NoTown=$DB->fetch_row())
{
//log
$DB->query("INSERT INTO ibf_town_log VALUES('','ïîëüçîâàòåëü <b>{$ibforums->member['name']}</b> íå ñìîã ïîïàñòü íå â îäèí ãîðîä òàê êàê èõ áîëüøå íåò...')");
$print->redirect_screen( "Something are going wrong.<br> It seems all towns had been terminated :(", 'act=RPG&CODE=town' ); 
}
else
{
//log
$DB->query("INSERT INTO ibf_town_log VALUES('','ïîëüçîâàòåëü <b>{$ibforums->member['name']}</b> áûë íàñèëüíî ïåðåìåùåí â ãîðîä <b>{$NoTown['id']}</b> òàê êàê ãîðîä â êîòîðîì îí íàõîäèëñÿ, áûë ðàçðóøåí')");
$DB->query("UPDATE ibf_members SET town={$NoTown['id']} where id={$ibforums->member['id']} ");  
$print->redirect_screen( "Something are going wrong.<br> It seems your town had been terminated, and you moved to another one...", 'act=RPG&CODE=town' ); 
}
}

$this->output .= $this->html->roadtop($Town);

// roads
$i=0;
$DB->query("SELECT * FROM ibf_town");
while ($Road = $DB->fetch_row()){
$i++;
$Ticket=intval((sqrt(abs($Town['x']-$Road['x'])*abs($Town['x']-$Road['x'])+abs($Town['y']-$Road['y'])*abs($Town['y']-$Road['y'])))*$options['townticket']);
$this->output .= $this->html->roadrow($Road, $Ticket);
}

$this->output .= $this->html->roadbottom($Member);
$this->output .= $this->html->Copyright();

$this->page_title = "Road";
$this->nav        = array( "Road", );
}


function do_road(){
global $ibforums, $DB, $std, $print;

// are we offline? v2 //
$DB->query("SELECT * FROM ibf_rpgoptions where id='1'");
$options=$DB->fetch_row();
if($options['townon']=="Offline"){
$std->Error( array( 'LEVEL' => 1, 'MSG' => 'section_offline' ) );
}

// user
$DB->query("SELECT * FROM ibf_members where id={$ibforums->member['id']}");
$Member=$DB->fetch_row();

$DB->query("SELECT * FROM ibf_town where id={$Member['town']}");
$Ntown=$DB->fetch_row();

$DB->query("SELECT * FROM ibf_town where id={$ibforums->input['t_id']}");
$Road=$DB->fetch_row();

// do you rich enought?
$Ticket=intval((sqrt(abs($Town['x']-$Road['x'])*abs($Town['x']-$Road['x'])+abs($Town['y']-$Road['y'])*abs($Town['y']-$Road['y'])))*$options['townticket']);
if ($Member['money'] < $Ticket){
$std->Error( array( 'LEVEL' => 1, 'MSG' => 'need_morem' ) );
}

$nalog = $Member['money'] -  $Ticket;

$DB->query("UPDATE ibf_members SET town = {$ibforums->input['t_id']} WHERE id={$ibforums->member['id']} ");
$DB->query("UPDATE ibf_members SET money = $nalog WHERE id={$ibforums->member['id']} ");

//log
$DB->query("INSERT INTO ibf_town_log VALUES('','ïîëüçîâàòåëü <b>{$ibforums->member['name']}</b> ïîåõàë èç ãîðîäà <b>{$Ntown['name']}</b> â <b>{$Road['name']}</b> è çàïëàòèë çà ýòî <b>$Ticket</b>')");

// all right :)
$print->redirect_screen( "TELEPORT!!!", 'act=RPG&CODE=town' );

}

 

 

открыть source/admin/admin_pages.php

найти

19 => array (
1 =>array( 'Add Job' , 'act=jobs&code=addjob' ),
2 =>array( 'Edit/Delete Jobs' , 'act=jobs&code=viewjob' ),
           ),

снизу

20 => array (
1 =>array( 'Towns' , 'act=town&code=town' ),
2 =>array( 'Add town' , 'act=town&code=add_new' ),
3 =>array( 'Towns_Log' , 'act=town&code=log' ),
           ),

 

найти

19 => "Job Office Management",

снизу

20 => "Towns Management",

 

 

найти

19 => "Control your Job Office",

снизу

20 => "Control your Towns",

 

 

открыть source/admin/ad_rpgop.php

найти

$ADMIN->html .= $SKIN->add_td_row( array( "<b>RPG Jobs State</b>" ,
$SKIN->form_dropdown('rpgjobon', $state,"",""),
"Currently: <b>{$online['rpgjobon']}</b>",
)      );

снизу

$ADMIN->html .= $SKIN->add_td_row( array( "<b>RPG Towns State</b>" ,
$SKIN->form_dropdown('townon', $state,"",""),
"Currently: <b>{$online['townon']}</b>",
)      );

 

найти

$DB->query("update ibf_rpgoptions set itemshopon='{$IN['itemshopon']}',bankon='{$IN['bankon']}',transferon='{$IN['transferon']}',healingon='{$IN['healingon']}',battleon='{$IN['battleon']}',clanon='{$IN['clanon']}',rpgstatson='{$IN['rpgstatson']}',lotteryon='{$IN['lotteryon']}',storeon='{$IN['storeon']}',helpeon='{$IN['helpeon']}',rpgjobon='{$IN['rpgjobon']}', where id='1'");

заменить

$DB->query("update ibf_rpgoptions set itemshopon='{$IN['itemshopon']}',bankon='{$IN['bankon']}',transferon='{$IN['transferon']}',healingon='{$IN['healingon']}',battleon='{$IN['battleon']}',clanon='{$IN['clanon']}',rpgstatson='{$IN['rpgstatson']}',lotteryon='{$IN['lotteryon']}',storeon='{$IN['storeon']}',helpeon='{$IN['helpeon']}',rpgjobon='{$IN['rpgjobon']}',townon='{$IN['townon']}' where id='1'");

 

 

создать source/admin/ad_town.php

 

 
<?php

$idx = new ad_rpgstore();


class ad_rpgstore {
function ad_rpgstore() {
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$ADMIN->page_title = "Mange RPG Towns";
$ADMIN->page_detail = "";

switch($IN['code']){
case 'town':
$this->view();
break;

case 'delete':
$this->delete();
break;

case 'do_edit':
$this->do_edit();
break;

case 'edit':
$this->edit();
break;

case 'log':
$this->log();
break;

case 'log_del':
$this->log_del();
break;

case 'add_new':
$this->add_new();
break;

case 'do_add_new':
$this->do_add_new();
break;

case 'edit_item':
$this->edit_item();
break;

case 'do_edit_item':
$this->do_edit_item();
break;

default:
$this->view();
break;
}
$ADMIN->output();
}

function view(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$SKIN->td_header[] = array( "Img"    , "70%" );
$SKIN->td_header[] = array( "Name"    , "5%" );
$SKIN->td_header[] = array( "About" , "5%" );
$SKIN->td_header[] = array( "OX:"       , "5%" );
$SKIN->td_header[] = array( "OY:"         , "5%" );
$SKIN->td_header[] = array( "Edit"         , "5%" );
$SKIN->td_header[] = array( "Edit Item"         , "5%" );
$SKIN->td_header[] = array( "Delete"         , "5%" );

// ----------------

$ADMIN->html .= $SKIN->start_table( "Mange RPG Towns" );
$DB->query("SELECT * FROM ibf_town");
while ($Data = $DB->fetch_row() ) {
$ADMIN->html .= $SKIN->add_td_row( array(
"<center><img src='{$INFO['html_url']}/Inferno/town/{$Data['img']}'></center>" ,
"<center><b>{$Data['name']}</b></center>",
"<center><b>{$Data['about']}</b></center>",
"<center>{$Data['x']}</center>",
"<center>{$Data['y']}</center>",
"<center><a href='{$ADMIN->base_url}&act=town&code=edit&id={$Data['id']}'>Edit</a></center>",
"<center><a href='{$ADMIN->base_url}&act=town&code=edit_item&id={$Data['id']}'>Edit Item</a></center>",
"<center><a href='{$ADMIN->base_url}&act=town&code=delete&id={$Data['id']}&name={$Data['name']}'>Delete</a></center>",
)      );

}
$ADMIN->html .= $SKIN->end_table();
}



function delete(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

// terminate town =(

$DB->query("ALTER TABLE `ibf_infernoshop` DROP {$IN['name']}");
$DB->query("DELETE from ibf_town where id={$IN['id']}");
$DB->query("OPTIMIZE TABLE ibf_town");

$ADMIN->done_screen("Item Removed", "Item Shop Control", "act=town" );
}




function edit(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;


$ADMIN->html .= $SKIN->start_form( array(
1 => array( 'code'  , 'do_edit'  ),
2 => array( 'act'  , 'town'     ),
3 => array( 'id'    , $IN['id']   ),
)  );


$DB->query("SELECT * FROM ibf_town WHERE id='".$IN['id']."'");
if ( ! $Data = $DB->fetch_row() ){
$ADMIN->error("Unable to find the item inside the db");
}

//+-------------------------------

$SKIN->td_header[] = array( " "  , "40%" );
$SKIN->td_header[] = array( " "  , "60%" );

//+-------------------------------

$ADMIN->html .= $SKIN->start_table( "Edit Town" );

$ADMIN->html .= $SKIN->add_td_row( array( "<b>Image</b><br>" ,
$SKIN->form_input("img", $Data['img'])
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Name</b>" ,
$SKIN->form_input("name", $Data['name'] )
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>About</b>" ,
$SKIN->form_input("about", $Data['about'] )
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>OX</b>" ,
$SKIN->form_input("x", $Data['x'] )
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>OY</b>" ,
$SKIN->form_input("y", $Data['y'] )
)      );
$ADMIN->html .= $SKIN->end_form('Update Item');

$ADMIN->html .= $SKIN->end_table();
}



function add_new(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$ADMIN->html .= $SKIN->start_form( array(
1 => array( 'code'  , 'do_add_new'  ),
2 => array( 'act'  , 'town'     ),
3 => array( 'id'    , $IN['id']   ),
)  );

//+-------------------------------

$SKIN->td_header[] = array( " "  , "40%" );
$SKIN->td_header[] = array( " "  , "60%" );

//+-------------------------------

$ADMIN->html .= $SKIN->start_table( "Creature Town" );

$ADMIN->html .= $SKIN->add_td_row( array( "<b>Image</b><br>" ,
$SKIN->form_input("img", $Data['img'])
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Name</b>" ,
$SKIN->form_input("name", $Data['name'] )
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>About</b>" ,
$SKIN->form_input("about", $Data['about'] )
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>OX</b>" ,
$SKIN->form_input("x", $Data['x'] )
)      );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>OY</b>" ,
$SKIN->form_input("y", $Data['y'] )
)      );
$ADMIN->html .= $SKIN->end_form('Creature Item');

$ADMIN->html .= $SKIN->end_table();
}

function do_add_new(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$DB->query("SELECT name FROM ibf_town");
$Data = $DB->fetch_row();
if ($IN['name'] == $Data['name']){
$ADMIN->error("Town {$IN['name']} is already exist");
}
$DB->query("INSERT INTO `ibf_town` VALUES('', '{$IN['name']}', '{$IN['about']}', '{$IN['img']}', '{$IN['x']}', '{$IN['y']}' ) ");
$DB->query("OPTIMIZE TABLE ibf_town");
$DB->query("ALTER TABLE `ibf_infernoshop` ADD {$IN['name']} CHAR(16) NOT NULL DEFAULT 'no' ");
$ADMIN->done_screen("Item Updated", "RPG Town Control", "act=town" );
}


function do_edit(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

$db_string = array(
         'img'       => $IN['img'],
         'name'      => $IN['name'],
         'about'     => $IN['about'],
    	 'x'         => $IN['x'],
    	 'y'         => $IN['y'],
 );
$rstring = $DB->compile_db_update_string( $db_string );
$DB->query("UPDATE `ibf_town` SET $rstring WHERE id={$IN['id']}");
$DB->query("OPTIMIZE TABLE ibf_town");
$ADMIN->done_screen("Item Updated", "RPG Town Control", "act=town" );
}



function edit_item(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

$ADMIN->html .= $SKIN->start_form( array(
1 => array( 'code'  , 'do_edit_item'  ),
2 => array( 'act'  , 'town'     ),
3 => array( 'id'    , $IN['id']   ),
)  );

$state[]=array('Yes','Yes');
$state[]=array('No','No');

//+-------------------------------

$SKIN->td_header[] = array( " "  , "40%" );
$SKIN->td_header[] = array( " "  , "60%" );

//+-------------------------------

$ADMIN->html .= $SKIN->start_table( "Edit Item" );

$DB->query("SELECT * FROM ibf_town WHERE id={$IN['id']}");
if ( ! $Data = $DB->fetch_row() ){
$ADMIN->error("Unable to find the town inside the db");
}


$DB->query("SELECT name, {$Data['name']} AS town FROM ibf_infernoshop");
$i=0;
while ($Data = $DB->fetch_row() ){

$ADMIN->html .= $SKIN->add_td_row( array( "<b>{$Data['name']}</b>" ,
$SKIN->form_dropdown('$Data[name]', $state,"",""),
"Currently: <b>{$Data['town']}</b>",
)      );

$i++;
}
$ADMIN->html .= $SKIN->end_form('Update Item');
$ADMIN->html .= $SKIN->end_table();
}



function do_edit_item(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

// ВОТ ТУТ НАДО ДОПИСАТЬ СМОТРИ НИЖЕ!!!

$ADMIN->done_screen("Item Updated", "RPG Town Control", "act=town" );
}

function log(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

$SKIN->td_header[] = array( "ID"    , "1%" );
$SKIN->td_header[] = array( "LOG"    , "100%" );
$SKIN->td_header[] = array( "DELETE"    , "1%" );
$ADMIN->html .= $SKIN->start_table( "Logs" );
$DB->query("SELECT * FROM ibf_town_log");
while ($Data = $DB->fetch_row() ) {
$ADMIN->html .= $SKIN->add_td_row( array(
"<div align=center><b>{$Data['id']}</b></div>",
"<div align=left>{$Data['log']}</div>",
"<div align=center><a href='{$ADMIN->base_url}&act=town&code=log_del&id={$Data['id']}'>Delete</a></div>",
)      );
}
$ADMIN->html .= $SKIN->end_table();
}

function log_del(){
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;

// kill item =(
$DB->query("delete from ibf_town_log where id='".$IN['id']."'");
$DB->query("OPTIMIZE TABLE ibf_town_log");

$ADMIN->done_screen("Log Removed", "Towns Log Control", "act=town&code=log" );
}


// end class
}
?>

 

 

открыть skin/s*/skin_global.php

найти

<a href='{$ibforums->base_url}&act=RPG&CODE=Bank'>Bank</a> |

снизу

<a href='{$ibforums->base_url}&act=RPG&CODE=town'>Town</a> |
<a href='{$ibforums->base_url}&act=RPG&CODE=road'>Road</a> |

 

открыть skin/s*/skin_rpg.php

найти

// End
}
?>

сверху

function towntop($Town) {
global $ibforums;
return <<<EOF
<div class="tableborder">
<div class=maintitle align=center>
Города<br>
</div></div><br>

<div class="tableborder">
<div class=maintitle><b>{$ibforums->vars['board_name']} {$Towns['name']} Town</b></div>
<table width="100%" border="0" cellspacing="1" cellpadding="4">
<tr>
<td class='titlemedium' align='center' width='50%'>Description</td>
<td class='titlemedium' align='center' width='50%'>Image</td>
</tr>
EOF;
}

function townrow($Towns) {
global $ibforums;
return <<<EOF
<tr>
<td class='row2' align='justify'  width='50%'><h2 align=center>{$Towns['name']}</h2><p>{$Towns['about']}</p></td>
<td class='row2' align='center'  width='50%'><img src='html/Inferno/towns/{$Towns['img']}' alt='{$Town['name']}'></td>
</tr>
EOF;
}

function townbottom($Member) {
global $ibforums;
return <<<EOF
<tr>
<td colspan='2' class='row4' width='1%'>Total {$ibforums->lang['money']}: {$Member['money']}<br></td>
</tr>
</table>
</div>
EOF;
}

function roadtop() {
global $ibforums;
return <<<EOF
<div class="tableborder">
<div class=maintitle align=center>
Города<br>
</div></div><br>

<div class="tableborder">
<div class=maintitle><b>{$ibforums->vars['board_name']} {$Town['name']} Town</b></div>
<table width="100%" border="0" cellspacing="1" cellpadding="4">
<tr>
<td class='titlemedium' align='center' width='1%'>Town</td>
<td class='titlemedium' align='center' width='100%'>About</td>
<td class='titlemedium' align='center' width='1%'>Price</td>
<td class='titlemedium' align='center' width='1%'>Go!</td>

</tr>
EOF;
}

function roadrow($Road, $Ticket) {
global $ibforums;
return <<<EOF
<tr>
<td class='row2' align='justify'>{$Road['name']}</td>
<td class='row2' align='justify'>{$Road['about']}</td>
<td class='row2' align='center'>$Ticket</td>
<td class='row2' align='center'><form action="{$ibforums->base_url}&act=RPG&CODE=do_road" method="post"><input type='hidden' name="t_id" value="{$Road['id']}"><input type="submit" value="submit"></form></td>
</tr>
EOF;
}

function roadbottom($Member) {
global $ibforums;
return <<<EOF
<tr>
<td colspan='4' class='row4'>Total {$ibforums->lang['money']}: {$Member['money']}<br></td>
</tr>
</table>
</div>
EOF;
}

 

Код закончился началась база

 

создаем и запускаем

<html>
<head>
<title>RPG Inferno Installler</title>
</head>
<body bgcolor='000000'>
<font face='arial' color='999999' size='1'>
Preparing To Install RPG Inferno v4.1<br>
Starting Install<br>
<?php
// Require the configuration
require "./conf_global.php";

// Connect to the database
$INFO['sql_driver'] = !$INFO['sql_driver'] ? 'mySQL' : $INFO['sql_driver'];

$to_require = "./sources/Drivers/".$INFO['sql_driver'].".php";
require ($to_require);

$DB = new db_driver;

$DB->obj['sql_database']     = $INFO['sql_database'];
$DB->obj['sql_user']         = $INFO['sql_user'];
$DB->obj['sql_pass']         = $INFO['sql_pass'];
$DB->obj['sql_host']         = $INFO['sql_host'];
$DB->obj['sql_tbl_prefix']   = $INFO['sql_tbl_prefix'];

// Connect Now
echo('Connecting To Database<br>');
$DB->connect();
echo('Connection Complete - Hacking Database...<br>');
$install=Array();


$install[] = "CREATE TABLE `ibf_town` (
 `id` int(11) NOT NULL auto_increment,
 `name` varchar(16) NOT NULL default '',
 `about` text NOT NULL,
 `img` varchar(64) NOT NULL default '',
 `x` int(3) NOT NULL default '0',
 `y` int(3) NOT NULL default '0',
 PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1;";



$install[] = "CREATE TABLE `ibf_town_log` (
`id` int(11) NOT NULL auto_increment,
`log` text NOT NULL,
PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1;";


$install[] = "alter table ibf_options
add `townon` text not null;";

echo('Inserts Complete<br>');
foreach ($install AS $this_query){
$DB->query($this_query);
}
$DB->close_db();
echo('Install Complete - REMOVE FILE NOW!!! <- Yeh, what he said');
?>
</body>
</html>


echo('Database Edits Completed<br>');
foreach ($install AS $this_query){
$DB->query($this_query);
}
$DB->close_db();
echo('Install Complete - REMOVE FILE NOW!!!');
?>
</font>
</body>
</html>

 

Добавления в таблицу ibf_infernoshop произойдут когда будете добавлять города)))

 

Так все закончилось.... теперь о том что я не смог написать.... там впринципе все просто нада написать запрос на базу вида

 

$DB->query("UPDATE `ibf_town` SET {$IN['{$DATA['name']}']}={$IN['town']} WHERE id={$IN['id']}");

 

что не есть корректно.... я пробовал через цикл но запутался окончательно...

Буду очень благодарен если мне ктонибудь поможет с этим разобратся....[1111850184:1111872906]да совсем забыл самое главное)))

 

 

надо исправить функцию BuyItems() вот таким образом

 

 

function BuyItems(){
global $DB, $ibforums,$std;

// are we offline? v2 //
$DB->query("SELECT * FROM ibf_rpgoptions where id='1'");
$options=$DB->fetch_row();
if($options['itemshopon']=="Offline"){
$std->Error( array( 'LEVEL' => 1, 'MSG' => 'section_offline' ) );
}

// Member Money
$DB->query("SELECT * FROM ibf_members where id={$ibforums->member['id']}");
$Member=$DB->fetch_row();

// our inventory, yay!
$this->output .= $this->html->InvenTop();
$DB->query("SELECT i.*,s.*
FROM ibf_infernostock s
LEFT JOIN ibf_infernoshop i ON (s.item=i.id)
where s.owner='{$ibforums->member['id']}'");
while($Item=$DB->fetch_row()){
$Sell=floor($Item['cost']/3);
$this->output .= $this->html->InvenRow($Item,$Sell);
}

$this->output .= $this->html->InvenBottom($Member);

if($ibforums->input['shop']){
$id=$ibforums->input['shop'];
$DB->query("SELECT * FROM ibf_infernocat where cid='{$id}'");
$shop = $DB->fetch_row();

// Grab Items And Data
$this->output .= $this->html->ShopTop($shop);

// fitch
$DDB=$DB;

$DB->query("SELECT * FROM ibf_town where id = {$Member['town']}");
while ($Town = $DB->fetch_row() ) {
// null town
if (!$Town){
   $DDB->query("SELECT * FROM ibf_town ORDER BY id ASC");
if(!$NoTown=$DDB->fetch_row())
{
//log
$DDB->query("INSERT INTO ibf_town_log VALUES('','ïîëüçîâàòåëü <b>{$ibforums->member['name']}</b> íå ñìîã ïîïàñòü íå â îäèí ãîðîä òàê êàê èõ áîëüøå íåò...')");
$print->redirect_screen( "Something are going wrong.<br> It seems all towns had been terminated :(", 'act=RPG&CODE=town' ); 
}
else
{
//log
$DDB->query("INSERT INTO ibf_town_log VALUES('','ïîëüçîâàòåëü <b>{$ibforums->member['name']}</b> áûë íàñèëüíî ïåðåìåùåí â ãîðîä <b>{$NoTown['id']}</b> òàê êàê ãîðîä â êîòîðîì îí íàõîäèëñÿ, áûë ðàçðóøåí')");
$DDB->query("UPDATE ibf_members SET town={$NoTown['id']} where id={$ibforums->member['id']} ");  
$print->redirect_screen( "Something are going wrong.<br> It seems your town had been terminated, and you moved to another one...", 'act=RPG&CODE=town' ); 
}
}
else
{
// shop + town
$i=0;
$DDB->query("SELECT * FROM ibf_infernoshop where type='{$id}' AND {$Town['name']} = 'yes'");
while ($Data = $DDB->fetch_row() ) {
$i++;
$this->output .= $this->html->Row($Data);
}
$w++;
}
$this->output .= $this->html->ShopBottom($Member);
}
}

// lets display some cats
$DB->query("SELECT * FROM ibf_infernocat");
$this->output .= $this->html->CatTop();
while ($catr = $DB->fetch_row() ) {
$this->output .= $this->html->CatRow($catr);
}
$this->output .= $this->html->CatBottom();

$this->output .= $this->html->Copyright();
$this->page_title = "Itemshop";
$this->nav        = array( 
"Itemshop",
);
}

Ссылка на комментарий
Поделиться на других сайтах

А под v2.0 переделать сможешь?

 

я то смогу)))) если допишу до конца)))) я тут напрягал невпаяно крутого прогера он тоже не смог((( так что шансы очень малы

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
Народ ну нахрен вам сдался этот 2,0, ведь 1,3 легче и проще. Мавр респект, жду когда закончиш.
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Наконецто я заплатил за нет ;)

Я не силен в програмировании и вообще я токо как начал учиться (у зентавра, мавр его знает) так что могу токо одно сказать : попробуйте заглянуть в скрипты кенки, там что то наподобии карты реализовано, может вам оно поможет.

 

П.С кто знает как поставить кенку3 а то у меня матюкаться и не ставиться под ипб 2.0 :D .

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.