няква идея как да го направя?

amarok

Registered
Може ли да ми дадете идея как да го направя следното нещо имам магазин където се продават 6 меча в базата данни имам 6 полета от sword1 до sword6 ако купа 1 меч се записва в sword1 а ако купа 6 меч се записва в sword6 вместо 0 става 1 така до тука добре но как да направя инвентар където мога да избера кой меч да сложа и като избера кой меч да сложа или офф нз дайте някаква идея :cry: :cry:
 
Абе пич... я се обоснови отново. С това накрая "или офф... " много грозно стана. Казваш какво искаш и ние те напътстваме или ти даваме код.
 
relax15pyt каза:
Абе пич... я се обоснови отново. С това накрая "или офф... " много грозно стана. Казваш какво искаш и ние те напътстваме или ти даваме код.

Ами ако може вие да ми дадете идея как да продължа :?
 
Значи примерно имаш няколко меча(стойност 1 в базата данни) и искаш като избереш някой от всичките и да използваш него ? Ако е така просто за използван меч можеш да слагаш стойност 2.

0 - нямаш меч
1 - имаш меч
2 - използваш меч.
 
еми .. много неоспях да свана от обяснението ти но ето една идея ..

да речем имаш таблица с някакво име където се записват мечовете цената .. и всичко.. предполагам, че имаш логин системка .. в такъв случай правиш още 1 поле в тази таблица което да речем ще се казва `username` в това поле ще се записва и името на куповача .. след това в профила му или нете знам къде ще го слагаш ще се извежда от тази таблица .. ето ти пример с примерни имена на променливите и таблиците .. ти си ги променяи после ...
този код да речем е за извеждане на мечовете и да си избереш ..

Код:
<?
include "config.php"; //Конфиг файла..
$query=mysql_query("SELECT * from `guns` WHERE `username` = '$logged[username]' ") or die(mysql_error());
$row=mysql_fetch_array($query);
echo '<select name="name">
<option value="">Изберете оръжие......</option>
<option value="$row[id]">$row[name]</option>
</select><br />
<input type = 'submit' name = 'submit' value = 'Избери' /></form>;

if (isset ($_POST['submit']))
{
$name=$_POST['name'];
$query1=mysql_query("UPDATE `guns` SET `username` = '$logged[username]', `name` = '$name', `id` = '$row[id]'") or die(mysql_error());
if ($query1)
{
echo "Успешно променихте оръжието си ..";
}
else
{
echo "Възникна грешка !";
}
}
?>

Виш сега.. тоя код го писах тук и незнам предполагам, че ще има някой-друга грешка .. в случея да поясня `guns` е името на таблицата където записваш купените оръжия .. `username` е полето където записваш името на потребителя който купува оръжието, `name` е името на оръжието .. или си го промени на картинка .. `id` е ид-то на оръжието
а променливата $logged[username] взима името на логнатия потребители ..
 
значи готово сега направих да се копуват мечовете всичко е окей направих като купа 1 вия меч се записва в таблицата sword1 вместо 0 става на 1 така всичко е окей а как да направя някаква страница да ми изкарва всички мечове който имам и да има бутон активирай и така но да не може да се активират едновременно 2 меча
:)
 
amarok каза:
значи готово сега направих да се копуват мечовете всичко е окей направих като купа 1 вия меч се записва в таблицата sword1 вместо 0 става на 1 така всичко е окей а как да направя някаква страница да ми изкарва всички мечове който имам и да има бутон активирай и така но да не може да се активират едновременно 2 меча
:)
аз бих ти препоръчал следният начин тъи като скоро свършвам моята онлайн игра когато се копува дадено нещо да не ги добавя +1 а да са =1
защото php е достатучно умен да се сети че трябва да се заменят :)
Дано да съм ти бил полезен а за инвентара незнам това е просто идея ако неможеш удари един скайп(eeeeee5612) ще ти дам моят магазин :)
 
Добре всичко е готово само нямам идея как да го направя като имам повече от 1 уражия как да се сменят например да взима всичките тези 6 полета и на който е 0 да не показва уръжието когато е 1 да го показва а когато е на 2 да е активирано и да се използва нещо такова но нямам идея как да стане :cry:

Тоест нещо като emotewar както е :P
 
Вадиш си данните от sword1-6(от 1 до 6) и ги бухаш в един масив.
Чрез array_values вадиш всички стойности, които са записани за sword1-6. Правиш проверка кои са с 1 и ги показваш в инвентара. После можеш да си направиш един нов файл с който ще ги правиш за използване. На всеки меч в инвентара му правиш линк, който чрез ГЕТ показваш за кой меч става въпрос(Пример: useabe.php?sword=sword1). И като вземеш за кой меч става въпрос ъпдейтваш базата данни за него с 2(това по моя начин който ти бях писал по горе).

Код:
UPDATE swords SET `$_GET['sword']` = '2' WHERE `username` = '$_SESSION['username']'

Това ще ти е по-лесно на функция да си го направиш с типове. Примерно тип 1 вадиш предметите, които са ти в инвентара(които не се ползват). Тип 2 предмети, които се ползват и примерно функцията да изглежда нещо такова.

Код:
function showInv($type, $showItem);

$typе това ти го разясних, пък $showItem пишеш итема, който искаш да се покаже примерно. Предполагам си го направил нещо като с таблици инвентара.

Е примерно:
Ръкавици - showInv(2, "Gloves"); //и тука примерно ако имаш направо таблица с ръкавиците.
Каска - showInv(2, "Casque");
и т.н.

Надявам се си зацепил поне част от това което написах.
 
добре май стигнах до някъде но имам затруднения направих инвентар където изкарва всички закупени оръжия и така, ако може да кажете как ще стане като цъкна на дадено оръжие полето на това оръжие например sword3 от 1 да става на 2 нооо има една малка подробност трябва само едно от всичките 6 таблици от sword1 до sword6 трябва да е 2 в другите да е максимум 1 и когато 1 оръжие е активирано и активирам другото оръжие предишното да се маха и да се активира това тоест онази 2 ка да става на 1 а тази 1 да става на 2 :)
 
Еми вадиш си стойностите на всичките колони. Нали ти бях обяснил как да сменяш стойността на дадена колона. Така или иначе по това което ти обясних всичко ще контролираш. Изкарваш ги от базата данни въртиш ги в един масив. После с array_values изкарваш всички, които са с 1. Можеш да си направиш още една проверка - колкона с 0 да не може да получава стойност 2(понеже го нямаш предмета). Като изведеш всяко оръжие му задаваш линк до друг файл където прави промените.
 
Наскоро правих един инвентар. Няма нищо общо с твоята идея де, но ми излезе само основния файл към 500 реда. Не знам дали някой ще може да ти помогне с нещо повече освен с идея.


Съветвам те да се откажеш от това което опитваш в момента, защото този вариант е много ограничен като развитие на самата игра и като опции за геймплей въобще.

виж предложението на
justspy

това според мен е идеята която трябва да следваш ако искаш инвентар.
 
XpM_Master каза:
Наскоро правих един инвентар. Няма нищо общо с твоята идея де, но ми излезе само основния файл към 500 реда. Не знам дали някой ще може да ти помогне с нещо повече освен с идея.


Съветвам те да се откажеш от това което опитваш в момента, защото този вариант е много ограничен като развитие на самата игра и като опции за геймплей въобще.

виж предложението на
justspy

това според мен е идеята която трябва да следваш ако искаш инвентар.

Който знае какво пише може и 500/5 реда да ги направи. Ама е нужно да се мисле повече. Ако се замислиш с една направена функция колко неща можеш да направиш без да заема 500 реда ще се учудиш.
 
Добре инвентара ми е готов кажете ми само как да направя ако имам 3 закупени меча и 3 те не са активирани и например активирам единия ще ми кажете ли как да направя да не може да се активират другите тоест като се активира следния меч в полето на дадения меч тоест sword2 да речем вместо 1 става на 2 и така показва че е активиран а другите си седат на 1 който не са активирани но как мога да направя да не може да се активират повече от 1 оръжия като са в различни полета :?
 
Функциики обичам. Просто инвентара е много сложен с много опции и типове предмети.

П.С. Класовете обаче рядко ги ползвам - в Php рядко има ситуации, в които наистина могат да съкратят усилието.


Променям това мнение, със съвет:


Значи може да направиш проверкадали има активиран меч т.е. дали някое от полетата ти е със стойност 2. Ако има такова може да направиш заявка, за да заема стойност 1, а това поле, което искаш да активираш да стане 2.

Просто добавяш още една заявка която променя другото поле на 1.
 
XpM_Master каза:
Променям това мнение, със съвет:


Значи може да направиш проверкадали има активиран меч т.е. дали някое от полетата ти е със стойност 2. Ако има такова може да направиш заявка, за да заема стойност 1, а това поле, което искаш да активираш да стане 2.

Просто добавяш още една заявка която променя другото поле на 1.

До сега и аз се опитвах това да му кажа, хаха...
 
Добре може ли някой да го направи обаче и с инвентар че тоя моя е некав бъгав щото не прави проверка дали си го закупил това оръжие а в инвентара трябва да го вади ако в таблицата sword1 е 1 а не да го вади и когато е 0 значи аз съм с 3 полета за мечове имената са им sword1 sword2 sword3 когато меча не е закупен в таблицата е 0 а когато е закупен е 1 а когато трябва да е активиран е 2 много се надявам някой да може да ми помогне цял ден си блъскам главата и почти до никъде не съм стигнал само магазина сам направил, ето ми сесиите

Код:
$session = $_SESSION['name'];
$s = mysql_fetch_assoc(mysql_query("SELECT * FROM users WHERE name='$name'"));


таблица с потребители users
полета за мечовете sword1 sword2 sword3
ако в полетата е 0 оръжието не е закупено
ако в полето е 1 оръжието е закупено но не е активирано
ако в полето е 2 оръжието е аквитирано
 
Утре(т.е. днес) ако не ме мързи ще ударя някой функция за улеснение, че сега вече ме мързи :D:D

П.С. освен ако някой не ме изпревари де :)
 
като гледам сме само ние с теб, а мен ме мързи :wink:
 

Back
Горе