[INC] FTP

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
k i n g
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 3092
Joined: 17 Sep 2012, 12:23
Detinator Steam: Da
CS Status: x
Reputatie: Fost moderator ajutator
Restrictie moderator
Nume anterior: k1NNG , TheKing
1.5/3
Utilizator neserios ( tepar )
Location: Pitesti
Has thanked: 34 times
Been thanked: 101 times

18 Feb 2015, 20:53

Descriere: Acest include cuprinde abilitatea de a descarca, uploada si de a prelua o lista de directoare de pe un server FTP

Comenzi:

- FTP_Open: Stabileste conexiunea la conectarea serverului FTP
- FTP_Close: Inchide conexiunea FTP
- FTP_Ready: Reintoarcere la conexiunea FTP
- FTP_SendFile: Transfera un fisier pe FTP
- FTP_GetFile: Descarca un fisier de pe FTP
- FTP_GetList: Descarca o lista cu directoriile

Utilizare comenzi:

FTP_Open( szServer[] , iPort , szUser[] , szPassword[] , szForward[] )

szServer -Adresa FTP
iPort - FTP server port.
szUser - Username
szPassword - Parola
szForward - indica daca conexiunea a reusit sau nu, o functie care monitorizeaza si incearca sa se conecteze.
Forward( bool:bLoginSuccessful )

FTP_Close()

FTP_Ready()

FTP_SendFile( szLocalFile[] , szRemoteFile[] , szForward[] )

szLocalFile - Fisier local de transferat pe FTP.
szRemoteFile - Fisier Remote de primit.
szForward - Indica statusul: numele de fisier transferat, biti transferati, total biti.
Forward( szFile[] , iBytesTransferred , iTotalBytes )


FTP_GetFile( szLocalFile[] , szRemoteFile[] , szForward[] )

szLocalFile - Fisier local unde se salveaza fisierul preluat.
szRemoteFile - Fisierul remote de preluat
szForward - ca la celelalte
Forward( szFile[] , iBytesTransferred , iTotalBytes )

Librarii:

- sockets
- engine


Exemplu plugin:
| Afiseaza codul
/*    
    FTP Test Plugin
         v0.1
       by bugsy
    
    http://forums.alliedmods.net/showthread.php?t=142850
*/

#include <amxmodx>
#include <ftp>

new FTP_Server[] = "ftp.secureftp-test.com";
new FTP_Port = 21;
new FTP_User[] = "test";
new FTP_Pass[] = "test";
new FTP_LocalFile[] = "hamlet.zip"
new FTP_RemoteFile[] = "hamlet.zip";
new FTP_ListFile[] = "DirList.txt";
new FTP_RemoteDir[] = "//";

new g_iStartTime;

public plugin_init() 
{
    register_plugin( "FTP Test" , "0.1" , "bugsy" );
    
    register_concmd( "ftp_open" , "Open" );
    register_concmd( "ftp_close" , "Close" );
    register_concmd( "ftp_send" , "Send" );
    register_concmd( "ftp_get" , "Get" );
    register_concmd( "ftp_list" , "List" );
}

//Commands
public Open()
{
    FTP_Open( FTP_Server , FTP_Port , FTP_User , FTP_Pass , "FwdFuncOpen" );
}

public Close()
{
    FTP_Close();
}

public Send()
{
    if ( FTP_Ready() )
    {
        FTP_SendFile( FTP_LocalFile , FTP_RemoteFile , "FwdFuncTransfer" );    
        g_iStartTime = get_systime();
    }
}

public Get()
{
    if ( FTP_Ready() )
    {
        FTP_GetFile( FTP_LocalFile , FTP_RemoteFile , "FwdFuncTransfer" );    
        g_iStartTime = get_systime();
    }
}

public List()
{
    if ( FTP_Ready() )
    {
        FTP_GetList( FTP_ListFile , FTP_RemoteDir , "FwdFuncList" );
    }
}

//Forward functions
public FwdFuncOpen( bool:bLoggedIn )
{
    server_print( "Login was %ssuccessful!" , bLoggedIn ? "" : "un" );
}

public FwdFuncTransfer( szFile[] , iBytesComplete , iTotalBytes )
{
    server_print( "[%.1f%%] [%s] [ %d of %d bytes ][ %dkB/s ]" , ( floatdiv( float( iBytesComplete ) , float( iTotalBytes ) ) * 100.0 ) , 
                                    szFile , 
                                    iBytesComplete ,
                                    iTotalBytes , 
                                    ( ( iBytesComplete ) / 1000 ) / ( get_systime() - g_iStartTime ) );
                                    
    
    if ( iBytesComplete == iTotalBytes )
        server_print( "File transfer completed in %d seconds!" , get_systime() - g_iStartTime );
}

public FwdFuncList( szFile[] , iBytesComplete )
{
    server_print( "[%s] [ %d bytes ]" , szFile , iBytesComplete );
}
Download: ftp.inc

Greseli multe, stiu, va rog corectati-ma!
Sursa alliedmodds, tradus de mine
RoyalServer
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

20 Feb 2015, 22:32

Foarte interesant!
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 3 guests