Sziasztok!
Mégis úgy gondolom, hogy több mint 5 hónapnyi munkát nem illendõ kidobni a szemétbe, ezért úgy döntöttem, hogy eladásra kívánom ápolgatott játékmódom. (Vagy esetleg valami Steam játékra, ajánlatokat várok.) Rengeteg idõm van benne, maga a játékmód pedig nagyon dinamikus és játékosbarát,
BUGMENTES!
Árat TI írjatok nekem, mennyit szánnátok rá, aztán válaszolok hogy én kb mennyit gondoltam. Egy kis betekintõ a módba:
- Az itemrendszer egy részlete: stock CreateServerItem(id, Float:ixx, Float:iyy, Float:izz, ittemid, objectte, ivvw, iammount)
{
format(query, sizeof(query), \"INSERT INTO `serveritems` (`id`, `x`, `y`, `z`, `itemid`, `vw`, `objecte`, `amount`) VALUES (\'%d\', \'%f\', \'%f\', \'%f\', \'%d\', \'%d\', \'%d\', \'%d\')\",
id, ixx, iyy, izz, ittemid, ivvw, objectte, iammount);
mysql_query(query);
////
/*format(query, sizeof(query), \"SELECT `id` FROM `serveritems` WHERE `x`=\'%f\' AND `y`=\'%f\'\", ixx, iyy);
mysql_query(query);
mysql_store_result();
new id;
id = mysql_fetch_int();*/
LoadServerItem(id);
return 1;
}
stock DeleteServerItem(id)
{
DestroyDynamicObject(itemobject[id]);
format(query, sizeof(query), \"DELETE FROM `serveritems` WHERE `id`=\'%d\'\", id);
mysql_query(query);
DestroyDynamic3DTextLabel(itemtext[id]);
if(sItems[id][iitemid] == 180)
{
format(query, sizeof(query), \"DELETE FROM `serveritems_drugs` WHERE `sid`=\'%d\'\", id);
mysql_query(query);
}
sItems[id][iID] = 0;
sItems[id][ix] = 0;
sItems[id][iy] = 0;
sItems[id][iz] = 0;
sItems[id][iitemid] = 0;
sItems[id][ivw] = 0;
sItems[id][objecte] = 0;
sItems[id][imount] = 0;
return 1;
}
stock LoadServerItem(id)
{
format(query, sizeof(query), \"SELECT * FROM `serveritems` WHERE `id`=\'%d\'\", id);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
if(mysql_fetch_row_format(line2, \"|\"))
{
sscanf(line2, \"p<|>ifffiiiifff\",
sItems[id][iID],
sItems[id][ix],
sItems[id][iy],
sItems[id][iz],
sItems[id][iitemid],
sItems[id][ivw],
sItems[id][objecte],
sItems[id][imount],
sItems[id][irotx],
sItems[id][iroty],
sItems[id][irotz]);
mysql_free_result();
if(sItems[id][ix] != 0)
{
if(sItems[id][objecte] > 0)
{
/*if(sItems[id][iitemid] != 70)
{*/
itemobject[id] = CreateDynamicObject(sItems[id][objecte], sItems[id][ix], sItems[id][iy], sItems[id][iz], sItems[id][irotx], sItems[id][iroty], sItems[id][irotz], sItems[id][ivw], -1, -1, 200);
if(sItems[id][iitemid] == 70) magnobe[id] = -1;
//playermagno[id] = -1;
/*}
else
{
for(new o;o<sizeof(playermagno);o++)
{
if(!playermagno
{
playermagno
- = CreateObject(sItems[id][objecte], sItems[id][ix], sItems[id][iy], sItems[id][iz], 0, 0, 0, 100);
//
magnobe
break;
}
}
}*/
}
format(query, sizeof(query), \"SELECT `name` FROM `invname` WHERE `itemid`=\'%d\'\", sItems[id][iitemid]);
mysql_query(query);
mysql_store_result();
new ineve[64];
if(mysql_fetch_row_format(line2, \"|\"))
{
sscanf(line2, \"p<|>s[64]\", ineve);
mysql_free_result();
}
format(stri, 256, \"Itt %d \'%s\' van, felvételhez: /item\", sItems[id][imount], ineve);
if(sItems[id][iitemid] == 200)
{
new nev[24];
format(query, sizeof(query), \"SELECT `neve` FROM `hullak` WHERE `itemid`=\'%d\'\", id);
mysql_query(query);
mysql_store_result();
if(mysql_fetch_row_format(line2, \"|\"))
{
sscanf(line2, \"p<|>s[24]\", nev);
}
format(stri, 256, \"Itt %s holtteste van!\", nev);
mysql_free_result();
}
if(sItems[id][iitemid] == 180)
{
format(query, sizeof(query), \"SELECT `ora`,`megtermett` FROM `serveritems_drugs` WHERE `sid`=\'%d\'\", sItems[id][iID]);
mysql_query(query);
//
mysql_store_result();
if(mysql_fetch_row_format(line2, \"|\"))
{
sscanf(line2, \"p<|>ii\", drogora[id], drogkesz[id]);
}
mysql_free_result();
new perc, mperc, ora;
gettime(ora, perc, mperc);
//
if(drogora[id]-ora > 0)
{
format(stri, sizeof(stri), \"%s\\n%d óra van kinövésig\\nNyomj Y-t\", stri, drogora[id]-ora);
}
else if(drogora[id]-ora <= 0 || drogkesz[id] == 1)
{
format(stri, sizeof(stri), \"%s\\nNyomj Y-t!\", stri);
}
itemtext[id] = CreateDynamic3DTextLabel(stri, 0xd4cd6aFF, sItems[id][ix], sItems[id][iy], sItems[id][iz], 25, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, sItems[id][ivw],-1, -1, 100);
}
if(sItems[id][objecte] == 0) itemtext[id] = CreateDynamic3DTextLabel(stri, 0xd4cd6aFF, sItems[id][ix], sItems[id][iy], sItems[id][iz], 25, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, sItems[id][ivw],-1, -1, 100);
}
}
}
return 1;
}
- A kereskedelem rendszer egy részlete:
GetKereskedelemItem(itemid)
{
format(query, sizeof(query), \"SELECT `amount` FROM `kereskedelem` WHERE `itemid`=%d\", itemid);
mysql_query(query);
mysql_store_result();
new id;
if(mysql_num_rows() <= 0) id = 0;
else id = mysql_fetch_int();
mysql_free_result();
return id;
}
SetKereskedelemItem(itemid, amount)
{
format(query, sizeof(query), \"SELECT `itemid` FROM `kereskedelem` WHERE `itemid`=%d\", itemid);
mysql_query(query);
mysql_store_result();
if(amount <= 0) amount = 0;
if(mysql_num_rows() <= 0)
{
format(query, sizeof(query), \"INSERT INTO `kereskedelem` (`itemid`, `amount`) VALUES (%d, %d)\", itemid, amount);
mysql_query(query);
}
else
{
format(query, sizeof(query), \"UPDATE `kereskedelem` SET `amount`=%d WHERE `itemid`=%d\", amount, itemid);
mysql_query(query);
}
mysql_free_result();
format(message, sizeof(message), \"{79d4ed}%s\\n{ffffff}%d {79d4ed}%s\", KereskedelemNevek[itemid-1], amount, KereskedelemMeres[itemid-1]);
UpdateDynamic3DTextLabelText(kereskedelem[itemid], -1, message);
return 1;
}
- A biznisz rendszer egy részlete:
if(dialogid == arumegtekint)
{
if(!response) return 0;
new dollar, nevecskeje[64];
sscanf(formattedinputtext, \"is[64]\", dollar, nevecskeje);
strdel(nevecskeje, 0, 4);
if(Compare(pName(playerid), buInfo[melyikben][aonerr])) return Malibu(playerid, \"Nem vásárolhatsz a saját bizniszedbõl!\");
if(GetIntData(playerid, \"money\") < dollar) return Malibu(playerid, \"Nincs elég pénzed!\");
_GivePlayerMoney(playerid, -dollar);
if(buInfo[melyikben][astyle] != 12)
{
new etelecske;
format(query, sizeof(query), \"SELECT `etele` FROM `busitems` WHERE `name`=\'%s\' AND `busid`=\'%d\'\", nevecskeje, melyikben);
mysql_query(query);
mysql_store_result();
etelecske = mysql_fetch_int();
if(etelecske == 1)
{
//if(GetKereskedelemItem(4) <= 0 || GetKereskedelemItem(7) <= 0 || GetKereskedelemItem(9) <= 0) return Malibu(playerid, \"Nincs elég étel a megye élelmiszerraktárában!\");
ShowPlayerDialog(playerid, 1473, DIALOG_STYLE_MSGBOX, \"Elviszed?\", \"Elviszed vagy itt fogyasztod?\", \"Itt\", \"Elviszem\");
format(stra, 256, \"vesz egy %s-t és fizet %d dollárt...\", nevecskeje, dollar);
cmd_me(playerid, stra);
SetKereskedelemItem(4, GetKereskedelemItem(4)-4);
SetKereskedelemItem(7, GetKereskedelemItem(7)-3);
SetKereskedelemItem(9, GetKereskedelemItem(9)-4);
}
else
{
new alkohol;
mysql_free_result();
format(query, sizeof(query), \"SELECT `alkoholos` FROM `busitems` WHERE `name`=\'%s\' AND `busid`=\'%d\'\", nevecskeje, melyikben);
mysql_query(query);
mysql_store_result();
alkohol = mysql_fetch_int();
if(alkohol == 1) ShowPlayerDialog(playerid, 1474, DIALOG_STYLE_MSGBOX, \"Elviszed?\", \"Itt fogyasztod vagy elviszed?\", \"ITT\", \"Elviszem\");
else ShowPlayerDialog(playerid, 1475, DIALOG_STYLE_MSGBOX, \"Elviszed?\", \"Itt fogyasztod vagy elviszed?\", \"ITT\", \"Elviszem\");
mysql_free_result();
}
}
else
{
format(query, sizeof(query), \"SELECT `itemid` FROM `invname` WHERE `name`=\'%s\'\", nevecskeje);
mysql_query(query);
mysql_store_result();
new miazitemid = mysql_fetch_int();
mysql_free_result();
AddItem(playerid, miazitemid, 1);
format(stra, 256, \"vesz egy \'%s\'-t...\", nevecskeje);
cmd_me(playerid, stra);
}
new id = GetIdFromName(buInfo[melyikben][aonerr]);
new mennyitkapjon = randomex(1, dollar);
if(id == INVALID_PLAYER_ID)
{
new mennyibank;
format(query, sizeof(query), \"SELECT `bankpenz` FROM `players` WHERE `name`=\'%s\'\", buInfo[melyikben][aonerr]);
mysql_query(query);
mysql_store_result();
mennyibank = mysql_fetch_int();
mysql_free_result();
format(query, sizeof(query), \"UPDATE `players` SET `bankpenz`=\'%d\' WHERE `name`=\'%s\'\", mennyibank+mennyitkapjon, buInfo[melyikben][aonerr]);
mysql_query(query);
}
else SetIntData(id, \"bankpenz\", GetIntData(id, \"bankpenz\")+mennyitkapjon);
}
FIGYELEM!A játékmód jelenleg Bayside-ra van helyezve, de pár pozíció átírásával szinte azonnal visszatehetõ Red County-ba. A játékmóddal kapcsolatban a vételtõl számítva egy hónapig bármikor segítek, rendelkezésre állok. Visszafizetési garancia nincs.
A vevõ a következõ állományokat fogja megkapni:
- MySQL szerkezet
- Maga a játékmód
- A játékmódhoz tartozó filterscriptek
- Minden szükséges plugin és include
A SZERVER LEÍRÁSA: