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

Города для 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 .

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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