- Joined
- Apr 11, 2009
- Messages
- 920
- Reaction score
- 463
От днес.... 11/12/12 разработвам Уеб Quest система, чрез която ще направите "престоя" на потребителите във вашия сайт още по - интересен.
Този път си казвате, той пак прави ама не споделя нищо....
От сега казвам, че този проект ще е напълно достъпен за всички, които искат да го ползват разбира се
За жалост, ще се изисква малко писане на ръка, защото всички Quest-ве се съхраняват на специален файл и ест, може да имате над милион Custom quest-ве. За сега системата ще работи само с Experience, тоест ще дава само Опит на играчите. Този проект ще се развива постепенно и ще се добавят нови и нови модове ;]
PS: Вижте как ще изглежда файл-а на Quest-вете ;]
PS2: Release съвсем скоро... все пак днес(4:47) съм приключил с основното, а сега отивам да лягам ;]
[Update2]
Този път си казвате, той пак прави ама не споделя нищо....
От сега казвам, че този проект ще е напълно достъпен за всички, които искат да го ползват разбира се
За жалост, ще се изисква малко писане на ръка, защото всички Quest-ве се съхраняват на специален файл и ест, може да имате над милион Custom quest-ве. За сега системата ще работи само с Experience, тоест ще дава само Опит на играчите. Този проект ще се развива постепенно и ще се добавят нови и нови модове ;]
PS: Вижте как ще изглежда файл-а на Quest-вете ;]
PS2: Release съвсем скоро... все пак днес(4:47) съм приключил с основното, а сега отивам да лягам ;]
[Update2]
PHP:
//Function WebQuest
function WebQuest(){
$file = file_get_contents("./Quests.script");
$x = 0;
preg_match_all("/Begin Quest/is", $file, $matches);
foreach($matches[0] As $value){
$x++;
}
for($i=0;$i<$x;$i++){
$begin = explode("//Begin Quest $i", $file);
$end = explode("//End Quest $i", $begin[1]);
$name = explode("[QuestName]", $end[0]);
$endname = explode("[/QuestName]", $name[1]);
$desc = explode("[QuestDesc]", $end[0]);
$enddesc = explode("[/QuestDesc]", $desc[1]);
$need = explode("[QuestNeeds]", $end[0]);
$endneed = explode("[/QuestNeeds]", $need[1]);
$type = explode("[QuestType]", $end[0]);
$endtype = explode("[/QuestType]", $type[1]);
$stat = explode("[QuestStat]", $end[0]);
$endstat = explode("[/QuestStat]", $stat[1]);
$time = explode("[QuestTime]", $end[0]);
$endtime = explode("[/QuestTime]", $time[1]);
$prize = explode("[QuestPrize]", $end[0]);
$endprize = explode("[/QuestPrize]", $prize[1]);
if(!is_dir("./Quests/")){
mkdir("./Quests/");
}
else{
if(is_file("./Quests/$endname[0].tmp")){}
else{
$newQ = fopen("./Quests/$endname[0].tmp", 'w+');
$new_Quest = fwrite($newQ, "Quest Name = $endname[0]\nQuest Description = $enddesc[0]\nQuest Time = $endtime[0]\nQuest Type = $endtype[0]\nQuest Stat = $endstat[0]\nQuest Needs = $endneed[0]\nQuest Prize = $endprize[0]");
@fclose($newQ);
}
}
switch($endtype[0]){
case Stats:
echo "<tr>
<td aling='left'><a href='$_SERVER[REQUEST_URI]&quest=$endname[0]'>$endname[0]</a></td>
<td aling='left'>$enddesc[0]</td>
<td aling='left'>$endneed[0] $endstat[0]</td>
</tr>";
break;
case Experience:
echo "<tr>
<td aling='left'><a href='?page=webevents&quest=$endname[0]'>$endname[0]</a></td>
<td aling='left'>$enddesc[0]</td>
<td aling='left'>$endneed[0] $endstat[0]</td>
</tr>";
break;
case Items:
echo "<tr>
<td aling='left'><a href='?page=webevents&quest=$endname[0]'>$endname[0]</a></td>
<td aling='left'>$enddesc[0]</td>
<td aling='left'>$endneed[0] $endstat[0]</td>
</tr>";
break;
}
}
if(isset($_GET[quest])){
$quest_name = htmlspecialchars($_GET[quest]);
if(is_file("./Quests/$quest_name.tmp")){
$q_file = file_get_contents("./Quests/$quest_name.tmp");
$quest_title = explode("Quest Name =", $q_file);
$end_q_t = explode("\n", $quest_title[1]);
$q_need = explode("Quest Needs =", $q_file);
$end_q_need = explode("\n", $q_need[1]);
$q_type = explode("Quest Type =", $q_file);
$end_q_type = explode("\n", $q_type[1]);
$q_stat = explode("Quest Stat =", $q_file);
$end_q_stat = explode("\n", $q_stat[1]);
$q_prize = explode("Quest Prize =", $q_file);
$end_q_prize = explode("\n", $q_prize[1]);
if($end_q_type[0] == "Stats"){
$query = mssql_query("SELECT $end_q_stat[0] FROM Character WHERE Name='killar4eto'") or die("Error1");
$row = mssql_fetch_row($query);
if($row[0] < $end_q_need[0]){
print "killar4eto don't have enought $end_q_stat[0], now you have <font color='red'>$row[0]</font>/<font color='green'>$end_q_need[0]</font>";
}
else{
$update = mssql_query("UPDATE Character SET $end_q_stat[0]=$end_q_stat[0]-$end_q_need[0], Money=Money+$end_q_prize[0] WHERE Name='killar4eto'") or die("Error2");
print "<font color='green'>killar4eto successfully complete the end_q_t[0] quest.</font>";
}
}
else{
$query = mssql_query("SELECT $end_q_stat[0] FROM Character WHERE Name='killar4eto'") or die("Error1");
$row = mssql_fetch_row($query);
if($row[0] < $end_q_need[0]){
print "killar4eto don't have enought $end_q_stat[0], now you have <font color='red'>$row[0]</font>/<font color='green'>$end_q_need[0]</font>.";
}
else{
$update = mssql_query("UPDATE Character SET $end_q_stat[0]=$end_q_stat[0]-$end_q_need[0], Money=Money+$end_q_prize[0] WHERE Name='killar4eto'") or die("Error2");
print "<font color='green'>killar4eto successfully complete the $end_q_t[0] quest.</font>";
}
}
}
else{
print "<br/><font color='red'><b>$quest_name</b> not exists in our scenario!</font><br/><br/>";
}
}
}
Attachments
Last edited: