Mute pluginas

Šiame forume pateikiami dar tikrintojų nepatikrinti arba nepatvirtinti pluginai.

Moderator: Pluginų patvirtintojai

Forum rules
Prieš dedant pluginus:

1. Pluginas privalo būti Jūsų kūrybos. Jei yra žmonių kurie smarkiai prisidėjo prie Jūsų sukurto plugino - paminėkite ir juos kredituose.
2. Tai turėtų būti nauja įdėja, o ne esamos nukopijavimas. Jei toks pluginas jau yra, Jūsiškis turi būti smarkiai pranašesnis.
3. Plugino aprašymas privalo būti išsamus ir pilnas.
4. Pluginas turi atlikti realią naudingą funkciją, būti ištestuotas ir tvarkingai veikti. Atnaujinimus leisti bus galima ir toliau.
5. Būtina source kodas privalo būti atviras (sma failas ar jo turinys turi būti prisegtas).
6. Sukūrus pluginą Jūs visada turite atsakinėti į vartotojų klausimus ir atnaujinti jei pastebėta klaidų.
7. Talpinti pluginus galima ir šiame forume. Jei naudojate nuorodas galioja kelios taisyklės:
8.1. Nuoroda privalo vesti į tiesioginį parsisiuntimą. T.y. siunčiant failą neturi būti jokio laukimo laiko parsisiunčiant failą.
8.2. Failas turi būti pasiekiamas tiesiogiai, jis negali būti jokiuose kitų failų sąrašuose (nebent jis būtų kaip nors specialiai išskirtas), tai pat draudžiama bet kokia registracija norint parsisiųsti failą.
Post Reply
User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Mute pluginas

Post by aurimasko »

Sveiki. Kompe radau savo seną MUTE pluginą ir sugalvojau pasidalinti juo čia.

Internete yra įvairių tokio tipo pluginų, vieni galbūt geresni už maniškį, kiti prastesni, bet įkelsiu ir savo, tebūnie pakomentuokit ar gerai padarytas pluginas :D

Šis pluginas yra išskirtinis tuo, kad jame yra tik native's, ir jokių admin komandų nėra. Taigi, jūs galite prisiderinti šį pluginą prie savo admin sistemos arba užmutinti žaidėją kada tik norite.

Code: Select all

 /*    Grąžina žaidėjo statusą.        id - žaidėjo ID.            return:        0 - neužmutintas        1 - užmutintas*/native get_user_mute(id); /*     Pakeičia žaidėjo mute statusą.        id - žaidėjo ID.        mode - žaidėjo statusas (0 - atmutinti, 1 - užmutinti).        admin - administratoriaus ID (atliekant atmutinimą palikite tuščią).        mutetime - mute laikotarpis SEKUNDĖMIS (atliekant atmutinimą palikite tuščią).        reason - mute priežastis (atliekant atmutinimą palikite tuščią).            return:        0 - nepavyko atlikti veiksmo.        1 - pavyko atlikti veiksmą.*/native set_user_mute(id, mode, admin = 0, mutetime = 0, reason[] = ""); 
Užmutintas žaidėjas negali nei rašyti, nei kalbėti, tačiau gali naudoti komandas, kurios prasideda '/' ženklu, bei specialią komandą /mute, kurią parašius parodo likusį mute laiką, priežastį ir administratorių, kuris užmutino.

Visi mute įrašai kaupiami SQL duomenų bazėje, lentelė sukuriama automatiškai.

Cvarai:

Code: Select all

 amx_mute_sqlmode "0" // 0 - SQL informacija kraunama iš sql.cfg failo, 1 - iš plugine esančių cvarų.amx_sql_host ""amx_sql_user ""amx_sql_pass ""amx_sql_db "" 
Jei norite, kad SQL duomenų bazės prisijungimo duomenis išgautų iš sql.cfg failo, tuomet amx_mute_sqlmode cvar'ą nustatome į 0 ir visus kitus paliekame tuščius, o jei norite įrašyti kitus duomenis - tuomet nustatome į 1 ir įrašome į atitinkamus cvarus atitinkamą informaciją.

Paskutinis dalykas - šis pluginas naudoja AMXX 1.8.3 funkciją client_print_color. Jei naudojate žemesnę AMXX versiją, tuomet plugine užkomentuokite šią eilutę:

Code: Select all

 #define AMXMODX_VERSION_1_8_3 1 // Jei naudojate žemesnę nei AMXX 1.8.3 versiją, tuomet užkomentuokite šią eilutę. 
Bei turėsite įsikelti colorchat include ir naudoti mute_system_colorchat.txt kalbos failą.

Atrodo viskas, pluginą dariau seniai, tad gali būti klaidų, jei kažkas susidomės - rašykit čia :)
Attachments
Mute System.zip
(6.89 KiB) Downloaded 480 times
Last edited by aurimasko on 2015 Mar 13 20:09, edited 2 times in total.

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Mute pluginas

Post by psychical »

1. Siūlyčiau ne cvar'syu, o define daryti, paprastesnis išgavimas, nereikia hookinti cvar'ų.

2. 155eil. formatex(szQuery, charsmax(szQuery), "UPDATE `%s` SET `mutetime` = '%d' WHERE `userip`='%s' AND `server_id`='%d'", TABLE_MUTES, g_iPlayerInfo[id][iMuteTime]); Man vienam atrodo, kad trūksta parametrų?

3. 178eil. formatex(szQuery, charsmax(szQuery), "SELECT * FROM `%s` WHERE `userip`='%s'", TABLE_MUTES, szIP); mano siūlymas būtų tikrinti steamid IR ip.

4. 298-308eil. kadangi pagal viską turėtų būti TIK vienas įrašas (LIMIT'as 178eil.), tai čia ne while o if'as turėtų stovėti ir paprastesnis klausimas į programinę pusę.


5. vis dėl to suklydau, netikrini ar žaidėjas mutintas DB, o reikėtų.

Taip pat siūlymas iš mano pusės, kad padarytum priedo "tipą" kuriame būtų galima nustatyti chat/speak/chat&speak mute. Panašiai kaip gag'as, bet by default tik speak mute. Nu gal suprasi :D

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Mute pluginas

Post by aurimasko »

psychical wrote:1. Siūlyčiau ne cvar'syu, o define daryti, paprastesnis išgavimas, nereikia hookinti cvar'ų.

2. 155eil. formatex(szQuery, charsmax(szQuery), "UPDATE `%s` SET `mutetime` = '%d' WHERE `userip`='%s' AND `server_id`='%d'", TABLE_MUTES, g_iPlayerInfo[id][iMuteTime]); Man vienam atrodo, kad trūksta parametrų?

3. 178eil. formatex(szQuery, charsmax(szQuery), "SELECT * FROM `%s` WHERE `userip`='%s'", TABLE_MUTES, szIP); mano siūlymas būtų tikrinti steamid IR ip.

4. 298-308eil. kadangi pagal viską turėtų būti TIK vienas įrašas (LIMIT'as 178eil.), tai čia ne while o if'as turėtų stovėti ir paprastesnis klausimas į programinę pusę.


5. vis dėl to suklydau, netikrini ar žaidėjas mutintas DB, o reikėtų.

Taip pat siūlymas iš mano pusės, kad padarytum priedo "tipą" kuriame būtų galima nustatyti chat/speak/chat&speak mute. Panašiai kaip gag'as, bet by default tik speak mute. Nu gal suprasi :D
1. Na galima viską perkelti ant define, tiesiog sql.cfg failui reikia cvarus registruot kiek žinau, todėl taip ir padariau :D
2. Joo, ištaisiau šitą, nes pas mane serveryje truputį kitaip būdavo, tai prieš keldamas pakeičiau (išskyrus čia).
3. Gera mintis.
4. Na, jei padarysiu kad tikrintų ir STEAMID ir IP, tuomet greičiausiai tavo tiesa (nes jei tikrina tik IP, tuomet gali būti ir ne vienas įrašas).
5. ?? :D

Tipus ir visus pastebėjimus pridėsiu kiek vėliau.

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Mute pluginas

Post by psychical »

5. Kai mutini žaidėją, tu tikrini ar jis yra mutintas žaidime, jei žaidime nemutintas, tuomet rašai į DB. Tačiau, jei žaidime nemutintas, o DB mutintas, tokiu atveju turėsi 2 įrašus vieno užmutinto žaidėjo su tais pačiais parametrais. Ir tai reiškia, kad jei sakykim kas nors naudos tavo sistemą ir darys SMS unmute, tuomet jam sistema tinkamai neveiks.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Mute pluginas

Post by aurimasko »

Bet tai kaip jis gali būti DB užmutintas, o žaidime ne? Juk prisijungiant tikrina, ar turi įrašą ar ne, o jei turi - užmutina. Vienintelis variantas yra, jei du žaidėjai su vienodu IP vienu metu žaidžia serveryje ir vieną užmutina, o po kiek laiko kitą, tuomet bus 2 įrašai, bet įdėjus SteamID tikrinimą turėtų nebelikti šios problemos.

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Mute pluginas

Post by psychical »

Kokiu būdu? Map keitimosi metu, jei bus 32 žaidėjai 10 iš jų užmutinta (čia kaip pvz, užtenka ir mažiau), bet kokiu atveju tikrina visus ir kažkokiu sumautu būdu, mysql'as amxx'e sugeba susimauti ir ne visada užkrauti tai ką reikia.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Mute pluginas

Post by aurimasko »

Nu nebent.. Pamenu būdavo kituose pluginuose anksčiau tokios pievos, kad iš lempos dingsta visi duomenys.. Bet šiaip, bendrai, nebūtų variantas kažkiek laiko po connect'o, dar kartą pabandyt užkraut duomenis?

Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests