Offline |
 |
 |
Csatlakozott:2016.03.05. 20:56 Hozzászólások:666 Megköszönt másnak: 27 alkalommal Megköszönték neki: 124 alkalommal
|
Sziasztok. Ezt a plugint egy teszt gyanánt csináltam, viszont azt nemtudom, hogy a szerver dolgait hogyan is kellene elmentenem, ezért kérem a segítségetek. Jelen esetben a(z) Limit[a1],Limit[a2] -t összesen számolja (Tehát nem csak 1-emberkénél) Azt szeretném, hogy pl kiválasztunk egy fegyvert, később mutassa nekünk, hogy összesen hányan válaszotották ki azt. És ennek az elmentésére nem tudok rájönni. Valaki esetleg valami ötlet, segítség?  Forráskód: #include <amxmodx> #include <hamsandwich> #include <cstrike> #include <fun> #include <sqlx> new const PLUGIN[] = "Limit" new const VERSION[] = "1.0" new const AUTHOR[] = "exodus" #define SERVER_ID 1 new const PREFIX[] = "[Limit]" new const SQL_INFO[][] = { "host", "felh", "jelszo", "adatbázis" } enum _:VMI {a1, a2}; new Limit[VMI]; new Handle:g_SqlTuple; public plugin_init() { register_plugin(PLUGIN,VERSION,AUTHOR) RegisterHam(Ham_Spawn,"player","Fegyvermenu",1); sql_create_table(); } public Fegyvermenu(id) { new String[121]; formatex(String, charsmax(String), "%s \r- \dElsődleges Fegyver", PREFIX); new menu = menu_create(String, "Fegyvermenu_h"); menu_additem(menu, "M4A4", "1", 0); menu_additem(menu, "AK47 Limit", "2", 0); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public Fegyvermenu_h(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return; } new data[9], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { Limit[a1]++; give_item(id, "weapon_m4a1"); give_item(id, "item_thighpack"); give_item(id, "item_assaultsuit"); cs_set_user_bpammo(id,CSW_M4A1,90); cs_set_user_money(id, 0); sql_update_server(); } case 2: { Limit[a2]++; give_item(id, "weapon_ak47"); give_item(id, "item_thighpack"); give_item(id, "item_assaultsuit"); cs_set_user_bpammo(id,CSW_M4A1,90); cs_set_user_money(id, 0); sql_update_server(); } } } public sql_create_table() { new Query[512]; g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3]) formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `limit_test` (`Server` int(11) NOT NULL,`Limit1` int(11) NOT NULL,`Limit2` int(11) NOT NULL)") SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query) } public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) { if(FailState == TQUERY_CONNECT_FAILED) set_fail_state("Nem tudtam csatlakozni az adatbazishoz."); else if(FailState == TQUERY_QUERY_FAILED) set_fail_state("Query Error"); if(Errcode) log_amx("Hibat dobtam: %s",Error); } public sql_update_server() { new szQuery[2548] new len = 0 len += format(szQuery[len], 2548, "UPDATE limit_test SET ") len += format(szQuery[len], 2548-len,"Limit1 = '%d' ", Limit[a1]) len += format(szQuery[len], 2548-len,"Limit2 = '%d' ", Limit[a2]) len += format(szQuery[len], 2548-len,"WHERE Server = '%d'", SERVER_ID) SQL_ThreadQuery(g_SqlTuple,"sql_update_servere_thread", szQuery) } public sql_update_servere_thread(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { if(FailState == TQUERY_CONNECT_FAILED) return set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!") else if(FailState == TQUERY_QUERY_FAILED) return set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!") if(Errcode) return log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error) return PLUGIN_CONTINUE } public plugin_end() { SQL_FreeHandle(g_SqlTuple) }
Szerk.: Valamint van lehetsőge annak, hogy egy tömböt ne emberenként tudjak használni hanem szintén úgy, hogy az összeset mutassa ki nekem, egy példa: new Valami[33]; //És akkor ezt, mondjuk egy menüben megtudom-e jeleníteni, hogy ÖSSZESEN mennyi van a Valami-ből? //Tehát ezt: formatex(String, charsmax(String), "Valami száma: %d", Valami[id]); //Helyett, úgy hogy a szerveren az összeset mutassa nekem, valahogy így (csak mert pontosan nemtudom, hogykéne jelölnöm) formatex(String, charsmax(String), "Valami száma: %d", Valami[osszes]);
|
|