mChat 1.3.8 kiegészítés
Szerző
Üzenet
Sziasztok!
A címben említett MOD-ot szeretném némi extrával működésre bírni.
- kiírná az Ultimate Points MOD eseményeit (Pl: lottónyeremény,rablás)
-Hangman MOD esetében szeretném kiiratni,ha valaki megfejtett vagy épp készített egy feladványt.
Más chat-hez létezik leírás ezen dolgok megoldására (pl: Breizh shoutbox-hoz).
Ha valaki tudna erre megoldást,vagy némi instrukcióval szolgálni,annak előre is köszönöm.
A címben említett MOD-ot szeretném némi extrával működésre bírni.
- kiírná az Ultimate Points MOD eseményeit (Pl: lottónyeremény,rablás)
-Hangman MOD esetében szeretném kiiratni,ha valaki megfejtett vagy épp készített egy feladványt.
Más chat-hez létezik leírás ezen dolgok megoldására (pl: Breizh shoutbox-hoz).
Ha valaki tudna erre megoldást,vagy némi instrukcióval szolgálni,annak előre is köszönöm.
szepylaci írta:
Sziasztok!
A címben említett MOD-ot szeretném némi extrával működésre bírni.
- kiírná az Ultimate Points MOD eseményeit (Pl: lottónyeremény,rablás)
-Hangman MOD esetében szeretném kiiratni,ha valaki megfejtett vagy épp készített egy feladványt.
Más chat-hez létezik leírás ezen dolgok megoldására (pl: Breizh shoutbox-hoz).
Ha valaki tudna erre megoldást,vagy némi instrukcióval szolgálni,annak előre is köszönöm.
Minden esemény után hozzáteszed az üzenet létrehozást és kész.
Ennyi elég?
Idézet:
Milyen fajta instrukció kell?
Minden esemény után hozzáteszed az üzenet létrehozást és kész.
Ennyi elég?
Őszintén szólva bíztam benne,hogy valami konkrétabb választ kapok,mert közel sincs anny ismeretem a dolgokról,mint neked (amiért minden elismerésem).
Annyira képben vagyok,hogy a Hangman MOD esetében hova kellene beilleszteni (igaz,ezt is a másik chat leírásából gondolom).
Először is azt kell tudnod, hogy van-e külön funkció arra hogy üzenetet hozz létre, mert ha nincs akkor írni kell egyet.
Azért jó a külön funkció mert akkor csak ezt az egy funkciót kell minden egyes helyen meghívni ahol új üzenetet akarsz kreálni.
PL
A tábla soraid neveit nem tudom ahhoz megfelelő kell, hogy legyen.
Ha van ilyen funkciód akkor ahol üzenetet akarsz létrehozni ott meghívod.
PL:
Így az üzenet létrejön és megjelenik a faladon.
Azért jó a külön funkció mert akkor csak ezt az egy funkciót kell minden egyes helyen meghívni ahol új üzenetet akarsz kreálni.
PL
Kód:
function new_shout_message($message)
{
if ($message == '')
{
return;
}
global $db;
$sql_ary = array(
'user_id' => ide jön a robot id száma aki az üzenetet terjeszti be,
'message' => $message,
'date' => time(),
);
$db->sql_query('INSERT INTO ' . ide jön a tábla cons. neve . ' ' . $db->sql_build_array('INSERT', $sql_ary));
}
A tábla soraid neveit nem tudom ahhoz megfelelő kell, hogy legyen.
Ha van ilyen funkciód akkor ahol üzenetet akarsz létrehozni ott meghívod.
PL:
Kód:
new_shout_message($user->lang['NEW_LOTTERY_WIN']);
Így az üzenet létrejön és megjelenik a faladon.
KillBill!
Első sorban köszönöm,hogy foglalkozol a dologgal.
Sajnos nem sikerült megoldani a dolgot,bár itt jegyezném meg,hogy a sok kisérletezésemnek hála,újra húzhattam a
MOD-ot,még a válaszod elött.
Egy dolgot viszont nem említette,történetesen azt,hogy a Chat-hez telepítve lett a chat-robot is és a szerző által készített New Post-os Addon.
Nem tudom ez mennyit befolyásol.
Az ultimate Points MOD esetén a témanyitásnál említett shoutbox-nál az alábbi módosítás elég volt:
includes/points/functions_points.php-ben:
után kellett beilleszteni ezt:
és a includes/points/points_robbery.php-ben pedig ennyi volt a módosítás:
után kellett beilleszteni ezt:
A Hangman MOD esetén a változtatás az alábbi :
root/hangman.php-ben
sor után kellett beilleszteni ezt:
és
sor után ezt kellett:
Ezt azért írtam ki ennyire részletesen próbáltam némi párhuzamot keresni az általad javasolt megoldás és a mellékelt sorok között.
Az általam leírt módosítások hatására,egy chat robot kiírta,ha valaki megnyerte a lottót,vagy épp kirabolták,míg az akasztófa esetén kiírta,hogy ha valaki készített egy feladványt,vagy épp megfejtett egyet.
Amennyiben lehetséges,akkor ezeket a dolgokat szeretném valamiképp az mChat-ben látni.
Első sorban köszönöm,hogy foglalkozol a dologgal.
Sajnos nem sikerült megoldani a dolgot,bár itt jegyezném meg,hogy a sok kisérletezésemnek hála,újra húzhattam a
MOD-ot,még a válaszod elött.
Egy dolgot viszont nem említette,történetesen azt,hogy a Chat-hez telepítve lett a chat-robot is és a szerző által készített New Post-os Addon.
Nem tudom ez mennyit befolyásol.
Az ultimate Points MOD esetén a témanyitásnál említett shoutbox-nál az alábbi módosítás elég volt:
includes/points/functions_points.php-ben:
Kód:
$amount_won = $points_values['lottery_jackpot'];
után kellett beilleszteni ezt:
Kód:
// Add-on Breizh Shoutbox
if (isset($config['shout_version']))
{
if ($config['shout_enable'])
{
advert_post_shoutbox($winner['user_id'], '0.0.0.0', 0, $winner_notification, 0, 0, 'lottery', 0, false);
}
}
// Fin Add-on
és a includes/points/points_robbery.php-ben pedig ennyi volt a módosítás:
Kód:
$message = $user->lang['ROBBERY_SUCCESFUL']
után kellett beilleszteni ezt:
Kód:
// Add-on Breizh Shoutbox
if (isset($config['shout_version']))
{
if ($config['shout_enable'])
{
advert_post_shoutbox($user_id, $user->ip, $user->data['user_id'], $attacked_amount. ' ' .$config['points_name'], 0, 0, 'robbery', 0, false);
}
}
// Fin Add-on
A Hangman MOD esetén a változtatás az alábbi :
root/hangman.php-ben
Kód:
$hangman->update_score(0, 1, 0, 0, $user_id);
sor után kellett beilleszteni ezt:
Kód:
// Add-on Breizh Shoutbox
if (isset($config['shout_version']))
{
if ($config['shout_enable'])
{
$word = mb_convert_case(str_replace('_', ' ', $hangman_word), MB_CASE_TITLE, 'UTF-8');
advert_post_shoutbox($user_id, $user->ip, 0, $word, 0, append_sid("{$phpbb_root_path}hangman.$phpEx", "mode=quess&game_index=$game_index"), 'hangman', 0, false);
}
}
// Fin Add-on
és
Kód:
$sql = 'INSERT INTO ' . HANGMAN_WORDS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
$db->sql_query($sql);
sor után ezt kellett:
Kód:
// Add-on Breizh Shoutbox
if (isset($config['shout_version']))
{
if ($config['shout_enable'])
{
$game_id = $db->sql_nextid();
$_word = mb_convert_case(str_replace('_', ' ', $subject), MB_CASE_TITLE, 'UTF-8');
advert_post_shoutbox($user_id, $user->ip, 0, $_word, 0, append_sid("{$phpbb_root_path}hangman.$phpEx", "mode=quess&game_index=$game_id"), 'hangman_create', 0, false);
}
}
// Fin Add-on
Ezt azért írtam ki ennyire részletesen próbáltam némi párhuzamot keresni az általad javasolt megoldás és a mellékelt sorok között.
Az általam leírt módosítások hatására,egy chat robot kiírta,ha valaki megnyerte a lottót,vagy épp kirabolták,míg az akasztófa esetén kiírta,hogy ha valaki készített egy feladványt,vagy épp megfejtett egyet.
Amennyiben lehetséges,akkor ezeket a dolgokat szeretném valamiképp az mChat-ben látni.
Amit bemásoltál a lényege ugyan az, csak több infót szállít.
Ha jól értelmezem,akkor az általad írt verzió esetén:
includes/functions_posting.php-be kellene elhelyeznem ezt:
természetesen kiegészítve a tábla névvel és a robot id-vel?
és ez a sor pedig includes/points/functions_points.php-ben kapna helyet? :
includes/functions_posting.php-be kellene elhelyeznem ezt:
Kód:
function new_shout_message($message)
{
if ($message == '')
{
return;
}
global $db;
$sql_ary = array(
'user_id' => ide jön a robot id száma aki az üzenetet terjeszti be,
'message' => $message,
'date' => time(),
);
$db->sql_query('INSERT INTO ' . ide jön a tábla cons. neve . ' ' . $db->sql_build_array('INSERT', $sql_ary));
}
természetesen kiegészítve a tábla névvel és a robot id-vel?
és ez a sor pedig includes/points/functions_points.php-ben kapna helyet? :
Kód:
new_shout_message($user->lang['NEW_LOTTERY_WIN']);
Először is meg kell nézd az mchat táblában használt oszlop neveket, én nem néztem mik szerepelnek benne, de csak akkor fog jól működni, ha azokat megadod, különben sql hiba fog fellépni.
Tehát, ha pl van több olyan oszlop aminek nincs alap értéke akkor azokat is hozzá kell adnod ehhez a tömbhöz:
A new_shout_message funkciót add hozzá az includes/functions.php-hez hisz ez töltődik be globálisan így a funkciót bárhol megtudod majd hívni.
ez a minimum
ezt a sort mindenhova beteszed ahol üzit akarsz létrehozni pl rablás, lottó.....
csak az üzenetet kell cserélned:
$user->lang['NEW_LOTTERY_WIN']
Természetesen ezt az üzit létre kell hoznod a nyelvi fájlodban pl a common.php
Annyi új nyelvi sort hozol létre amennyire szükséged van.
pl:
'NEW_LOTTERY_WIN' => 'Új lottó nyertesünk van',
amennyiben nevet is akarsz hozzá társítani akkor a kód így fog változni:
kikeresed azt a részt ahol lementi a lottó nyertest és utána ezt hozzá adod:
a nyelvi sor meg így változik:
A $username csak akkor tudod használni, ha jelen van valamilyen formában, ha csak a felhasználó ID száma van akkor le kell kérni a felhasználónevet az adatbázisból.
Ehhez ügyebár kissé már át kell látnod a php kódokat, hogy megleld a helyes pozíciókat. Mert nem mindegy hol hívod meg az üzenet hozzáadás funkciót.
Tehát, ha pl van több olyan oszlop aminek nincs alap értéke akkor azokat is hozzá kell adnod ehhez a tömbhöz:
Kód:
$sql_ary = array(
'user_id' => ide jön a robot id száma aki az üzenetet terjeszti be,
'message' => $message,
'date' => time(),
);
A new_shout_message funkciót add hozzá az includes/functions.php-hez hisz ez töltődik be globálisan így a funkciót bárhol megtudod majd hívni.
Idézet:
természetesen kiegészítve a tábla névvel és a robot id-vel?
Idézet:
és ez a sor pedig includes/points/functions_points.php-ben kapna helyet? :
new_shout_message($user->lang['NEW_LOTTERY_WIN']);
csak az üzenetet kell cserélned:
$user->lang['NEW_LOTTERY_WIN']
Természetesen ezt az üzit létre kell hoznod a nyelvi fájlodban pl a common.php
Annyi új nyelvi sort hozol létre amennyire szükséged van.
pl:
'NEW_LOTTERY_WIN' => 'Új lottó nyertesünk van',
amennyiben nevet is akarsz hozzá társítani akkor a kód így fog változni:
kikeresed azt a részt ahol lementi a lottó nyertest és utána ezt hozzá adod:
Kód:
$chat_msg = sprintf($user->lang['NEW_LOTTERY_WIN'], $username);
new_shout_message($chat_msg);
a nyelvi sor meg így változik:
Kód:
'NEW_LOTTERY_WIN' => 'Új lottó nyertesünk %s',
A $username csak akkor tudod használni, ha jelen van valamilyen formában, ha csak a felhasználó ID száma van akkor le kell kérni a felhasználónevet az adatbázisból.
Idézet:
kikeresed azt a részt ahol lementi a lottó nyertest és utána ezt hozzá adod:
KillBill!
Köszönöm ismét a válaszod.
Erőt veszek magamon és megpróbálom.
Köszönöm ismét a válaszod.
Erőt veszek magamon és megpróbálom.
szepylaci írta:
KillBill!
Köszönöm ismét a válaszod.
Erőt veszek magamon és megpróbálom.
KillBill!
Nekiugrottam a dolognak,de valami nem lett gömbölyű!
Hibajelenség konkrétan annyi,hogy látható változás nincs. (nincs hibaüzenet,de meg sem jelent a chat-ben semmi)
Egy kérdés,hátha közelebb kerülök az üdvösséghez:
itt te melyik adatbázid táblára gondoltál,mert szerintem ide nem azt illeszhettem,amire te gondoltál.
Nekiugrottam a dolognak,de valami nem lett gömbölyű!
Hibajelenség konkrétan annyi,hogy látható változás nincs. (nincs hibaüzenet,de meg sem jelent a chat-ben semmi)
Egy kérdés,hátha közelebb kerülök az üdvösséghez:
Kód:
$db->sql_query('INSERT INTO ' . ide jön a tábla cons. neve . ' ' . $db->sql_build_array('INSERT', $sql_ary));
itt te melyik adatbázid táblára gondoltál,mert szerintem ide nem azt illeszhettem,amire te gondoltál.
szepylaci írta:
KillBill!
Nekiugrottam a dolognak,de valami nem lett gömbölyű!
Hibajelenség konkrétan annyi,hogy látható változás nincs. (nincs hibaüzenet,de meg sem jelent a chat-ben semmi)
Egy kérdés,hátha közelebb kerülök az üdvösséghez:
Kód:
$db->sql_query('INSERT INTO ' . ide jön a tábla cons. neve . ' ' . $db->sql_build_array('INSERT', $sql_ary));
itt te melyik adatbázid táblára gondoltál,mert szerintem ide nem azt illeszhettem,amire te gondoltál.
Kód:
$db->sql_query('INSERT INTO ' . MCHAT_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
KillBill!
Ezt betettem az includes/functions.php-be:
ez elé:
a language/hu/common.php-be és a language/en/common.php-be ezt:
az includes/points/functions_points.php-be ezt:
az eredmény:
amíg a lottósorsolás nem zajlott le,addíg semmi hibajelenség,viszont az esemény után csak fehér lap jelent meg,és ez csak akkor szünt meg,ha mindent visszacsináltam,nem volt elég csak a nyelvi file-t.
Ezt betettem az includes/functions.php-be:
ez elé:
Kód:
// The following assigns all _common_ variables that may be used at any point in a template.
Kód:
function new_shout_message($message)
{
if ($message == '')
{
return;
}
global $db;
$sql_ary = array(
'user_id' => 979,
'message' => $message,
'date' => time(),
);
$db->sql_query('INSERT INTO ' . MCHAT_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
}
a language/hu/common.php-be és a language/en/common.php-be ezt:
Kód:
'NEW_LOTTERY_WIN' => 'Új lottó nyertesünk %s',
az includes/points/functions_points.php-be ezt:
Kód:
$chat_msg = sprintf($user->lang['NEW_LOTTERY_WIN'], $username);
new_shout_message($chat_msg);
az eredmény:
amíg a lottósorsolás nem zajlott le,addíg semmi hibajelenség,viszont az esemény után csak fehér lap jelent meg,és ez csak akkor szünt meg,ha mindent visszacsináltam,nem volt elég csak a nyelvi file-t.
szepylaci írta:
KillBill!
Ezt betettem az includes/functions.php-be:
ez elé:
Kód:
// The following assigns all _common_ variables that may be used at any point in a template.
ez elé tedd be:
Kód:
?>
a nyelvi sort is ez elé tedd be így
Kód:
$lang = array_merge($lang, array(
'NEW_LOTTERY_WIN' => 'Új lottó nyertesünk %s',
));
ezt a sort hova tetted pontosan?
Idézet:
$chat_msg = sprintf($user->lang['NEW_LOTTERY_WIN'], $username);
new_shout_message($chat_msg);
KillBill!
Ezt az includes/points/functions_points.php-be tettem,ide:
Ez után
Kód:
ezt a sort hova tetted pontosan?
Idézet:
$chat_msg = sprintf($user->lang['NEW_LOTTERY_WIN'], $username);
new_shout_message($chat_msg);
Ezt az includes/points/functions_points.php-be tettem,ide:
Ez után
Kód:
// Check if lottery is enabled and prepare winner informations
if ($points_config['lottery_enable'] != 0)
{
// Select the receiver language
$winner['user_lang'] = (file_exists($phpbb_root_path . 'language/' . $winner['user_lang'] . "/mods/points.$phpEx")) ? $winner['user_lang'] : $config['default_lang'];
// load receivers language
include($phpbb_root_path . 'language/' . basename($winner['user_lang']) . "/mods/points.$phpEx");
$winnings_update = $winner['user_points'] + $points_values['lottery_jackpot'];
set_points($winner['user_id'], $winnings_update);
$winner_notification = sprintf(number_format_points($points_values['lottery_jackpot'])) . ' ' . $config['points_name'] . ' ';
$winner_deposit = $lang['LOTTERY_PM_CASH_ENABLED'];
$amount_won = $points_values['lottery_jackpot'];
Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.