Existing user? Sign in
Sign up
Games
Servers
Useful
User
Pass
2FA
[rezolvat] Plugin Cumparare G.M
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins - Help / Support
Author
Message
649
IceCreamCandy
[Banned user]
Status: Offline
(since 03-05-2015 20:37)
Joined: 02 Jul 2014
Posts: 844
,
Topics: 115
Location:
Unknown
Reputation:
48.8
Votes
: 83
Posted: 14-03-2015, 10:56:53
| Translate post to:
... (
Click for more languages
)
Nume: Cumpara G.M
Descriere plugin: Face multe
Alte detalii: Mai jos
Exemplu: -
Acest plugin sa aiba un meniu care apare cand scrii /cumpargm iar el sa contina:
Code:
Cumpara Gold Member o luna
[1]. Forumularul de completare al campurilor
[2]. Introdu Nick-ul tau
[3]. Introdu Parola pentru Gold Member
[4]. Introdu Adresa ta de Y!M
[5]. Introdu Codul de Reincarcare [Vodafone]
[6]. Introdu Codul de Reincarcare [Telekom]
[7]. Trimite Comanda
[8]. Anulare
Dupa ce e comptetat fiecare camp sa fie asa:
Code:
Cumpara Gold Member o luna
[1]. Forumularul de completare al campurilor
[2]. Introdu Nick-ul tau - Ionescu
[3]. Introdu Parola pentru Gold Member - 2015
[4]. Introdu Adresa ta de Y!M -
[email protected]
[5]. Introdu Codul de Reincarcare [Vodafone] - Aici sa apara codul introdus
[6]. Introdu Codul de Reincarcare [Telekom] - Aici sa apara codul introdus
[7]. Trimite Comanda
[8]. Anulare
Numarul 1 sa deschida un motd din folderul configs cu numele comenzi.txt
Numarul 2 sa trimita un mesaj in chat,ex: [Comenzi] Introdu numele pe care il folosesti pe server.
Numarul 3 sa trimita un mesaj in chat,ex: [Comenzi] Introdu parola pe care o vrei la Gold Member.
Numarul 4 sa trimita un mesaj in chat,ex: [Comenzi] Introdu adresa ta de Y!M.
Numarul 5 sa trimita un mesaj in chat,ex: [Comenzi] Introdu codul de reincarcare Vodafone in valoare de 5 Euro.
Daca nu are 14 caractere sa scrie in chat: [Comenzi] Codul de reincarcare introdus este invalid, codul trebuie sa contina 14 caractere.
Numarul 6 sa trimita un mesaj in chat,ex: [Comenzi] Introdu codul de reincarcare Telekom in valoare de 5 Euro.
Daca nu are 16 caractere sa scrie in chat: [Comenzi] Codul de reincarcare introdus este invalid, codul trebuie sa contina 16 caractere.
Numarul 7 sa trimita doua mesaj in chat,ex:
[Comenzi] Comanda ta a fost inregistrata si va fi procesata in 24 de ore de la data trimiterii.
[Comenzi] Daca datele introduse de tine sunt corecte,in termen de maxim 24 de ore o sa primesti Gold Member.
Sa creeze un fisier comenzi.txt in data iar in el sa apara comenzile numerotate,ex:
Code:
[1]
Nick: Ionescu
Parola: 2015
Adresa de Y!M:
[email protected]
Codul de reincarcare [Telekom]: daca e de Telekom sa apara randul asta
Codul de reincarcare [Vodafone]: daca e de Vodafone sa apara randul asta
[2]
Nick: Gheorghe
Parola: 2015
Adresa de Y!M:
[email protected]
Codul de reincarcare [Telekom]: daca e de Telekom sa apara randul asta
Codul de reincarcare [Vodafone]: daca e de Vodafone sa apara randul asta
Fiecare cod de reincarcare sa fie verificat in asa fel incat sa contina 16 caractere cel de Telekom si 14 cel de Vodafone.
Fiecare camp sa fie verificat in asa fel incat sa nu fie gol.
Cam asta trebuie sa faca.
Stiu ca e greu,dar nu e imposibil si mai stiu ca sunt cativa scripteri pe aici care ce pricep foarte bine la scripting,mai ales D3luxe.
Pluginul asta o sa va usureze munca:
Spoiler:
Code:
#include <amxmodx>
#include <fakemeta>
#include <ColorChat>
#define PLUGIN "[Inregistrare Nume]"
#define VERSION "0.0.1"
new const g_szInfoKey[ ] = "_pw";
new const g_szNoneWord[ ] = "None";
new const g_szTag[ ] = "^x04| [Inregistrare nume]:";
new g_szRegisterFile[ 64 ];
enum _:eRegisterInfos
{
Nick[ 32 ],
Password[ 15 ],
}
new Array:g_aData;
new g_szLoginInfo[ 33 ][ eRegisterInfos ];
new g_iRegistrations = 0;
public plugin_init( )
{
register_plugin( PLUGIN, VERSION, "IceCreamCandy" );
register_clcmd( "say /reg", "ClCmdSayRegisterNick" );
register_clcmd( "RN_SetPassword", "__RN_SetPassword" );
register_forward( FM_ClientUserInfoChanged, "fwd_ClientUserInfoChangedPost", false );
g_aData = ArrayCreate( eRegisterInfos );
// Add your code here...
}
public plugin_cfg( ) LoadRegistrations( );
public client_authorized( id )
{
static szNick[ 32 ];
get_user_name( id, szNick, sizeof ( szNick ) -1 );
if( CheckRegistration( id, szNick ) )
{
static szPassword[ 15 ], szIp[ 22 ];
get_user_info( id, g_szInfoKey, szPassword, sizeof ( szPassword ) -1 );
get_user_ip( id, szIp, sizeof ( szIp ) -1, 1 );
if( equal( szPassword, g_szLoginInfo[ id ][ Password ] ) )
{
client_print( id, print_console, "Ai fost logat cu succes!^nNick: %s^nParola: %s",
g_szLoginInfo[ id ][ Nick ], g_szLoginInfo[ id ][ Password ] );
log_to_file( "", "",
szNick, szIp, g_szLoginInfo[ id ][ Password ] );
return PLUGIN_HANDLED;
}
else
{
server_cmd( "kick #%i ^"Nick rezervat! Model de introducere a parolei: setinfo _pw parola^"",
get_user_userid( id ), g_szInfoKey );
log_to_file( "", "",
szNick, szIp, szPassword, g_szLoginInfo[ id ][ Password ] );
}
}
return PLUGIN_CONTINUE;
}
public fwd_ClientUserInfoChangedPost( id, InfoKey )
{
if( !is_user_connected( id ) || is_user_connecting( id ) )
return FMRES_IGNORED;
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
new szNewName[ 32 ];
engfunc( EngFunc_InfoKeyValue, InfoKey, "name", szNewName, sizeof ( szNewName ) -1 );
if( equali( szName, szNewName ) )
return FMRES_IGNORED;
if( CheckRegistration( id, szNewName ) )
{
static szPassword[ 15 ], szIp[ 22 ];
get_user_info( id, g_szInfoKey, szPassword, sizeof ( szPassword ) -1 );
get_user_ip( id, szIp, sizeof ( szIp ) -1, 1 );
if( equal( szPassword, g_szLoginInfo[ id ][ Password ] ) )
{
client_print( id, print_console, "Ai fost logat cu succes!^nNick: %s^nParola: %s",
g_szLoginInfo[ id ][ Nick ], g_szLoginInfo[ id ][ Password ] );
log_to_file( "", "",
szNewName, szIp, g_szLoginInfo[ id ][ Password ] );
}
{
server_cmd( "kick #%i ^"Acest nick este rezervat iar tu ai gresit parola^nModel de introducere a parolei: setinfo _pw parola^"",
get_user_userid( id ), g_szInfoKey );
log_to_file( "", "",
szNewName, szIp, szPassword, g_szLoginInfo[ id ][ Password ] );
}
}
return FMRES_IGNORED;
}
public ClCmdSayRegisterNick( id )
{
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
if( UserIsRegistered( szName ) )
{
ColorChat( id, RED, "%s^x03 %s^x01, acest nick este deja inregistrat!", g_szTag, szName );
return PLUGIN_HANDLED;
}
new szMenuName[ 128 ];
formatex( szMenuName, sizeof ( szMenuName ) -1, "\r [Rezervare Nume]^n^n\wNume:\y %s \r|\w Parola:\y %s^n^n",
szName, g_szLoginInfo[ id ][ Password ] );
new iMenu = menu_create( szMenuName, "NR_RegisterMenu" );
menu_additem( iMenu, "\wSeteaza parola", "1", 0 );
menu_additem( iMenu, "\rConfirma rezervarea", "2", 0 );
menu_setprop( iMenu, MPROP_EXITNAME, "\wIesire" );
menu_display( id, iMenu );
return PLUGIN_CONTINUE;
}
public NR_RegisterMenu( id, iMenu, iItem)
{
if( iItem == MENU_EXIT )
{
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
static _access, szInfo[ 4 ], iCallback;
menu_item_getinfo( iMenu, iItem, _access, szInfo, sizeof ( szInfo ) -1, _, _, iCallback );
menu_destroy( iMenu );
new iKey = str_to_num( szInfo );
switch( iKey )
{
case 1:
{
ColorChat( id, RED, "%s^x01 Esti rugat sa scrii o parola, apoi sa apesi^x03 ENTER^x01.", g_szTag );
client_cmd( id, "messagemode RN_SetPassword" );
ClCmdSayRegisterNick( id );
}
case 2:
{
if( !equal( g_szLoginInfo[ id ][ Password ], g_szNoneWord ) )
{
new szName[ 32 ];
get_user_name( id, szName, sizeof ( szName ) -1 );
ColorChat( id, RED, "%s^x01 Ai fost inregistrat cu succes, datele fiind urmatoarele:", g_szTag );
ColorChat( id, RED, "%s^x01 Nick:^x03 %s^x04 |^x01 Parola:^x03 %s", g_szTag, szName, g_szLoginInfo[ id ][ Password ] );
ColorChat( id, RED, "%s^x01 Pentru a te loga foloseste: ^"^x03setinfo %s %s^"^x01", g_szTag, g_szInfoKey, g_szLoginInfo[ id ][ Password ] );
new eData[ eRegisterInfos ];
copy( eData[ Nick ], sizeof ( eData[ Nick ] ) -1, szName );
copy( eData[ Password ], sizeof ( eData[ Password ] ) -1, g_szLoginInfo[ id ][ Password ] );
ArrayPushArray( g_aData, eData );
g_iRegistrations++;
CheckRegistration( id, szName );
new szIp[ 22 ];
get_user_ip( id, szIp, sizeof ( szIp ) -1 );
log_to_file( "", "",
szName, szIp, eData[ Nick ], eData[ Password ] );
SaveRegistrations( );
}
else
{
ColorChat( id, RED,"%s^x03 Datele pentru inregistrare sunt incomplete!", g_szTag );
ClCmdSayRegisterNick( id );
}
}
}
return PLUGIN_CONTINUE;
}
public __RN_SetPassword( id )
{
static szArg[ 15 ];
read_argv( 1, szArg, sizeof ( szArg ) -1 );
if ( !strlen( szArg ) || strlen( szArg ) < 3 )
{
ColorChat( id, RED, "%s^x01Parola NU poate fi mai mica de 3 caractere!", g_szTag );
client_cmd( id, "messagemode RN_SetPassword");
ClCmdSayRegisterNick( id );
return PLUGIN_HANDLED;
}
else if( strlen( szArg ) > 20 )
{
ColorChat( id, RED, "%s^x01Parola NU poate fi mai mare de 20 caractere!", g_szTag );
client_cmd( id, "messagemode RN_SetPassword");
ClCmdSayRegisterNick( id );
return PLUGIN_HANDLED;
}
copy( g_szLoginInfo[ id ][ Password ], sizeof ( g_szLoginInfo[ ][ Password ] ) -1, szArg );
ClCmdSayRegisterNick( id );
return PLUGIN_HANDLED;
}
CheckRegistration( id, const szNick[ ] )
{
new bool:bRegistered = false;
new eData[ eRegisterInfos ];
for( new i; i < g_iRegistrations; i++ )
{
ArrayGetArray( g_aData, i, eData );
if( equali( szNick, eData[ Nick ] ) )
{
copy( g_szLoginInfo[ id ][ Nick ], sizeof ( g_szLoginInfo[ ][ Nick ] ) -1, eData[ Nick ] );
copy( g_szLoginInfo[ id ][ Password ], sizeof ( g_szLoginInfo[ ][ Password ] ) -1, eData[ Password ] );
bRegistered = true;
break;
}
}
if( !bRegistered )
{
copy( g_szLoginInfo[ id ][ Nick ], sizeof ( g_szLoginInfo[ ][ Nick ] ) -1, g_szNoneWord );
copy( g_szLoginInfo[ id ][ Password ], sizeof ( g_szLoginInfo[ ][ Password ] ) -11, g_szNoneWord );
}
return bRegistered;
}
LoadRegistrations( )
{
get_localinfo( "amxx_datadir", g_szRegisterFile, sizeof ( g_szRegisterFile ) -1 );
format( g_szRegisterFile, sizeof ( g_szRegisterFile ) -1, "%s/NickRegistrations.txt", g_szRegisterFile );
if( g_iRegistrations )
{
ArrayClear( g_aData );
g_iRegistrations = 0;
}
if( file_exists( g_szRegisterFile ) )
{
new iFile = fopen( g_szRegisterFile, "rt" );
new szNick[ 32 ], szPassword[ 15 ];
new szFileData[ 128 ], eData[ eRegisterInfos ];
while( !feof( iFile ) )
{
fgets( iFile, szFileData, sizeof ( szFileData ) - 1);
if( !szFileData[ 0 ] || szFileData[ 0 ] == ';'
|| ( szFileData[ 0 ] == '/' && szFileData[ 1 ] == '/' ) )
continue;
parse( szFileData, szNick, sizeof ( szNick ) -1,
szPassword, sizeof ( szPassword ) -1);
copy( eData[ Nick ], sizeof ( eData[ Nick ] ) -1, szNick );
copy( eData[ Password ], sizeof ( eData[ Password ] ) -1, szPassword );
ArrayPushArray( g_aData, eData );
g_iRegistrations++;
}
fclose( iFile );
}
log_to_file( "", "", g_iRegistrations );
}
SaveRegistrations( )
{
if( file_exists( g_szRegisterFile ) )
delete_file( g_szRegisterFile );
new iFile = fopen( g_szRegisterFile, "wt" );
new eData[ eRegisterInfos ];
for( new i; i < g_iRegistrations; i++ )
{
ArrayGetArray( g_aData, i, eData );
fprintf( iFile, "^"%s^" ^"%s^"^n",
eData[ Nick ], eData[ Password ] );
}
fclose( iFile );
}
UserIsRegistered( const szName[ ] )
{
new eData[ eRegisterInfos ];
new bool:bRegistered = false;
for( new i = 0; i < g_iRegistrations; i++ )
{
ArrayGetArray( g_aData, i, eData );
if( equali( szName, eData[ Nick ] ) )
{
bRegistered = true;
break;
}
}
return bRegistered;
}
public plugin_end( )
{
SaveRegistrations( );
ArrayDestroy( g_aData );
}
0
0
Back to top
Khajiit
[Away]
Status: Offline
(since 01-04-2019 20:33)
Joined: 19 Jun 2013
Posts: 3428
,
Topics: 110
Location:
Away for a long time.
Reputation:
48.4
Votes
: 145
Posted: 14-03-2015, 13:01:05
| Translate post to:
... (
Click for more languages
)
Cum iti dai seama ca acel cod e bun?
Te inseli amarnic in multe
.
De ce sa ai nevoie de un asemenea plugin *inutil* cand poti oferi un mesaj pe server: "CUMPARA GOLD MEMBER, adresa de contact: blabala" si ai o discutie in particular si altfel stau lucrurile.
Nu cred ca ai sa primesti vreun raspuns aici, eu unul nu mi-as bate capul, stiind ca nu este ceva util.
0
0
Back to top
destroi112
[DEV]
Status: Offline
(since 12-03-2020 22:13)
Joined: 24 May 2014
Posts: 4042
,
Topics: 119
Location:
---------
Reputation:
515.9
Votes
: 118
Posted: 14-03-2015, 14:53:36
| Translate post to:
... (
Click for more languages
)
Ti l-as face eu dar nu cred ca playeri ar avea atat de multa incredere incat sa faca lucrul asta... Adica eu unul nu as avea inceredere . Mai bine pe mess etc sa ai dovada cu conversatia asa poate introduce si un cod incorect care sa aiba 16 caractere si multi sunt sigur ca asa ar face si txt-ul ala s-ar umple cu coduri care nu sunt bune si cele care chiar sunt bune poate ca nu le-ai folosi si un player care chiar credea ca isi cumpara G.M sau ce ai tu acolo se alege cu nimic...Mai usor si pentru mine si pentru tine ramana varianta yahoo discutie etc.. + asa scade si comunicarea cu playerii.. Nu cautati moduri in care comunicarea cu ei sa fie 0 si voi doar sa faceti bani ,ganditi-va si la comunicare ...
DACA CHIAR TII mortisi si iti trebuie etc. ti-l fac (imi dau 1h din timpul meu pentru alte cateva ore pe care tu nu o sa le mai "pierzi" vorbind cu playeri tai).
Retired from Amxmodx
0
0
Back to top
IceCreamCandy
[Banned user]
Status: Offline
(since 03-05-2015 20:37)
Joined: 02 Jul 2014
Posts: 844
,
Topics: 115
Location:
Unknown
Reputation:
48.8
Votes
: 83
Posted: 14-03-2015, 15:07:34
| Translate post to:
... (
Click for more languages
)
Nu am timp sa stau la palavre toata ziua.
Codurile le incerc pe telefon,daca codul lui Ionescu merge ii bag Gold,daca nu, nu-i bag.
Totusi D3luxe ai dreptate, nu am timp nici sa stau sa incerc 1000 de coduri...
Se poate inchide topicul.
0
0
Back to top
Topic locked
Topic is closed, you cannot post any messages in it anymore
Locked by
-P!C@-
, 14 March 2015 13:45
Freakz Forum Index
->
Trash Bin
->
CS 2006-2019 (Archived)
->
Plugins - Help / Support
The time now is 31-07-2025, 08:01:05
Copyright info
Based on phpBB
ro
/
com
B
Login
I forgot my password
World of Warcraft
Login for more...
Download WoW 7.3.5
Misc
eSports
Achievements
Buy reputation with votes
Reputation trades
Forum rules
Ban list
Members list
User guide (FAQ)
World of Warcraft
View details