Sanasol
-
Content Count
43 -
Joined
-
Last visited
-
Days Won
4
Posts posted by Sanasol
-
-
if someone can reach him and see if he still got interest on this project, would be awesome! try:
-
MSN[email protected]
-
Website URLhttp://sanasol.ws
-
ICQ749061
-
Skypesanasol2008
rathena implemented their own src vending db(also web part they should do or already did dont know), my mod is not actual anymore
-
MSN[email protected]
-
not use host address. In mysql info put localhost or 127.0.0.1
-
Some fixes for both versions.
Thank RagnaOk for providing the veeery big data to detect bugs: http://ragnaok.net/vending_database/
-
looked extended vending code, i think it should work. Just on the site will show that the price zeny, but in the name of the store kind of like to show the correct currency
-
Compiling plugin wihtout errors/warnings
but when server start it can't load plugin (failed to load skipping)
/* run when server is ready (online) */HPExport void server_online (void) { vending = GET_SYMBOL("vending"); vending->purchase = myplugin_purchasereq; do_init_myplugin();}
Without overloading plugin load normally
try to put overloading into plugin_init, and again "failed to load skipping"
HPExport void plugin_init (void) { StrBuf = GET_SYMBOL("StrBuf"); SQL = GET_SYMBOL("SQL"); map = GET_SYMBOL("map"); iMap = GET_SYMBOL("iMap"); mapit = GET_SYMBOL("mapit"); iTimer = GET_SYMBOL("iTimer"); vending = GET_SYMBOL("vending"); vending->purchase = myplugin_purchasereq;}
Server under Ubuntu Server 13.04
-
-
-
Flux fix named item
Flux fix refine arrayhttps://github.com/S-anasol/sanasol/commit/ed5d5ef1ce0f6481be1da7dda082ece16a44766d
Added Yommy's src version for flux and sa scripts
Yommy Flux https://github.com/S-anasol/sanasol/tree/master/merchant_db_flux_yommy
Yommy Standalone https://github.com/S-anasol/sanasol/tree/master/merchant_db_yommy
-
Fix for named item
Fix require paths
Fix refine array
Commit: https://github.com/S-anasol/sanasol/commit/d14166acda05f31e9b8460f824882523b64a91cf
-
Oops typo
Notice: Undefined offset: 0 in C:Xampphtdocshervendorconfig.php on line 21Notice: Trying to get property of non-object in C:Xampphtdocshervendorconfig.php on line 21Notice: Undefined offset: 0 in C:Xampphtdocshervendorconfig.php on line 22Notice: Trying to get property of non-object in C:Xampphtdocshervendorconfig.php on line 22
That means "item"(card id from slot) not found, need add some check
-
Sanasol, i think you need read this topic hercules too
http://herc.ws/board/topic/2107-web-vending-database/?hl=vending
And idk if those code is create by all you?
i just saw
[add-on] Vending Zone by KarLaeda
it absolutely other addon
this is all my code, except .gat read class
-
-
did you try with hercules? i think it must work
-
Source inserting shop info into database.
Few source lines and a little bit of magic php + js
Decorated with new Twitter Bootstrap
Remake of this http://www.eathena.ws/board/index.php?showtopic=255406 /oops
Installation
diff --git a/src/map/unit.c b/src/map/unit.cindex 22c7165..9b0aa6a 100644--- a/src/map/unit.c+++ b/src/map/unit.c@@ -2135,6 +2135,9 @@ int unit_remove_map_(struct block_list *bl, clr_type clrtype, const char* file, chat->leavechat(sd,0); if(sd->trade_partner) trade->cancel(sd);+ //vending to db [Sanasol]+ vending->close(sd);+ //vending to db [Sanasol] buyingstore->close(sd); searchstore->close(sd); if(sd->state.storage_flag == 1)diff --git a/src/map/vending.c b/src/map/vending.cindex 2784d46..0f213a2 100644--- a/src/map/vending.c+++ b/src/map/vending.c@@ -37,6 +37,10 @@ void vending_closevending(struct map_session_data* sd) { if( sd->state.vending ) { sd->state.vending = false; clif->closevendingboard(&sd->bl, 0);+ //vending to db [Sanasol]+ if( SQL_ERROR == SQL->Query(mmysql_handle,"delete from `vending` where `char_id`='%d'", sd->status.char_id) )+ Sql_ShowDebug(mmysql_handle);+ //vending to db [Sanasol] idb_remove(vending->db, sd->status.char_id); } }@@ -174,7 +178,18 @@ void vending_purchasereq(struct map_session_data* sd, int aid, unsigned int uid, vsd->vending[vend_list[i]].amount -= amount; pc->cart_delitem(vsd, idx, amount, 0, LOG_TYPE_VENDING); clif->vendingreport(vsd, idx, amount);-+ //vending to db [Sanasol]+ if(vsd->vending[vend_list[i]].amount >= 1)+ {+ if( SQL_ERROR == SQL->Query(mmysql_handle,"update `vending` set `amount`='%d' where `char_id`='%d' and `index`='%d'", vsd->vending[vend_list[i]].amount, vsd->status.char_id, vend_list[i]) )+ Sql_ShowDebug(mmysql_handle);+ }+ else+ {+ if( SQL_ERROR == SQL->Query(mmysql_handle,"delete from `vending` where `char_id`='%d' and `index`='%d'", vsd->status.char_id, vend_list[i]) )+ Sql_ShowDebug(mmysql_handle);+ }+ //vending to db [Sanasol] //print buyer's name if( battle_config.buyer_name ) { char temp[256];@@ -281,6 +296,19 @@ void vending_openvending(struct map_session_data* sd, const char* message, const safestrncpy(sd->message, message, MESSAGE_SIZE); clif->openvending(sd,sd->bl.id,sd->vending);+ //vending to db [Sanasol]+ for( j = 0; j < count; j++ )+ {+ int index = sd->vending[j].index;+ struct item_data* data = itemdb->search(sd->status.cart[index].nameid);+ int nameid = ( data->view_id > 0 ) ? data->view_id : sd->status.cart[index].nameid;+ int amount = sd->vending[j].amount;+ int price = cap_value(sd->vending[j].value, 0, (unsigned int)battle_config.vending_max_value);+ + if( SQL_ERROR == SQL->Query(mmysql_handle,"INSERT INTO `vending` (`char_id`,`name`,`index`,`nameid`,`amount`,`price`,`refine`,`card0`,`card1`,`card2`,`card3`) VALUES (%d, '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')", sd->status.char_id, message, j, nameid, amount, price, sd->status.cart[index].refine, sd->status.cart[index].card[0], sd->status.cart[index].card[1], sd->status.cart[index].card[2], sd->status.cart[index].card[3]) )+ Sql_ShowDebug(mmysql_handle);+ }+ //vending to db [Sanasol] clif->showvendingboard(&sd->bl,message,0); idb_put(vending->db, sd->vender_id, sd);
Create tableCREATE TABLE IF NOT EXISTS `vending` ( `char_id` int(11) unsigned NOT NULL DEFAULT '0', `name` varchar(50) DEFAULT NULL, `index` tinyint(3) unsigned NOT NULL DEFAULT '0', `nameid` int(11) unsigned NOT NULL DEFAULT '0', `amount` int(11) unsigned NOT NULL DEFAULT '0', `price` bigint(20) unsigned NOT NULL DEFAULT '0', `refine` tinyint(3) unsigned NOT NULL DEFAULT '0', `card0` smallint(11) NOT NULL DEFAULT '0', `card1` smallint(11) NOT NULL DEFAULT '0', `card2` smallint(11) NOT NULL DEFAULT '0', `card3` smallint(11) NOT NULL DEFAULT '0', PRIMARY KEY (`char_id`,`index`), KEY `char_id` (`char_id`), KEY `nameid` (`nameid`)) ENGINE=MyISAM;
ScreenshotsMain page
Map position tooltip
For map showing need *.gat files
Approximate position, accurate display at map could not to achieve
And Search
Item images very old, you need to add the new items
FluxCP Screens
Demo
FluxCP Demo
SourcesMy src versions: Hercules SRC Patch + web Standalone or FluxCP
Yommy src versions: Standalone or FluxCP
[NEW 04.20.14] Hercules src version: FluxCP
Sources is absolutely free, but if you want you can do donation
Web Vending Database (Standalone and FluxCP Addon)
in Source Releases
Posted
link to commit