FiveGame SA:MP GameMod, Tutoriale
http://fivegame.amforum.net/t153-preturi-admin-hel
Grand Theft Auto Multiplayer


Ţin să te anunţ că http://fivegame.amforum.net este în căutare de moderatori pentru diferite categorii ale forumului, acestea sunt Ajutor Scripting, Gamemode-uri , Filterscript-uri, Designer

Că să fiţi moderator trebuie să intepliniti următoarele cerinţe:

Să aveţi minim 15 ani. Să aveţi experienţă în PAWN sau C++. Să vorbiţi corect şi să scrieţi corect. Să respectaţi pe ceilalţi din jur. Să aveţi minim 1-2 ore dedicate forumului pe zi.

FiveGame SA:MP Daca aveti orice fel de intrebari nu ezitati sa ne contactati. O zi buna, Echipa FiveGame.AmForum.Net
93.119.26.230:7777

de inceput 14kk+ level 3 + 6rp /getgift on

SYSTEME NOII,EVENTE new NOII COMENZI /JOINMISSION NEW /AREPAIR /ASKINS /ARED /ABLUE /AMOV /AVERDE /gnod /gms SI MULTE ALTELE COMENZI

va asteptam cu drag.
nu itati si de formul nostru fivegame.amforum.net
93.119.26.230:7777
http://rpg-fivegame.esy.es
FiveGame RPG

FiveGame RPG

Grand Theft Auto Multiplayer


Ţin să te anunţ că http://rpg-fivegame.esy.es este în căutare de moderatori pentru diferite categorii ale forumului, acestea sunt Ajutor Scripting, Gamemode-uri , Filterscript-uri, Designer

Că să fiţi moderator trebuie să intepliniti următoarele cerinţe:

Să aveţi minim 15 ani. Să aveţi experienţă în PAWN sau C++. Să vorbiţi corect şi să scrieţi corect. Să respectaţi pe ceilalţi din jur. Să aveţi minim 1-2 ore dedicate forumului pe zi.

Septembrie 2017
LunMarMierJoiVinSamDum
    123
45678910
11121314151617
18192021222324
252627282930 

Calendar

Flux RSS

Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 
Navigare
 Portal
 Index
 Membri
 Profil
 FAQ
 Cautare
Cine este conectat?
In total sunt 6 utilizatori conectati: 0 Inregistrati, 0 Invizibil si 6 Vizitatori

Nici unul

Vizualizeaza toata lista

Parteneri


forum new Fivegame RPG
http://rpg-fivegame.esy.es




Fan http://mobiclub.hi2.ro


Salut, vreau sa va anunț ca în

    Nu exista anunturi disponibile


    Distribuiţi
    Vezi subiectul anteriorIn josVezi subiectul urmator
    Shower
    Fundator
    Fundator
    Mesaje : 214
    Data de inscriere : 11/10/2015
    Varsta : 24

    [TUTORIAL:SAMP]Evenimente

    la data de 12/1/2017, 03:20
    Astazi va voi prezenta ceva simplu si frumos din punctul de vedere al jocului.
    Cand este vreo sarbatoare sau vreun eveniment in viata reala, cu totii vrem in viata virtuala sa se faca anumite event-uri din care vreti sa aveti toti de castigat.
    Ok, eu am gasit asa-zisa o solutie. Cum ?
    Pai in primul rand m-am gandit la o sarbatoare din an,am ales craciunul, fiind in luna 12.
     
    Asadar aceasta luna ma ajuta mult deoarece timpul trimis pe server este unul real, si prin urmare incepe automat evenimentul de craciun.(cadouri, brazi, etc).
     
    Eu propun sa incepem.
     
    [Pasul 1] Iarasi ne lovim de aceste include-uri dar acum si de definirea bazei de date.

    [Trebuie sa fiti inscris si conectat pentru a vedea acest link]
    [Trebuie sa fiti inscris si conectat pentru a vedea acest link]
    [Trebuie sa fiti inscris si conectat pentru a vedea acest link]
    [Trebuie sa fiti inscris si conectat pentru a vedea acest link]
     
    [Trebuie sa fiti inscris si conectat pentru a vedea acest link]
     

    [Trebuie sa fiti inscris si conectat pentru a vedea acest link] SQL_HOST "localhost"
    [Trebuie sa fiti inscris si conectat pentru a vedea acest link] SQL_USER "root"
    [Trebuie sa fiti inscris si conectat pentru a vedea acest link] SQL_PASS ""
    [Trebuie sa fiti inscris si conectat pentru a vedea acest link] SQL_DB "accounts"

    [Pasul 2] Definirea enumerotarii in care se vor situa urmatoarele variabile jucatoriale.

    enum pInfo
    {
        pSQLID,
        pGift,
        pNextGift
     
    }
    new PlayerInfo[MAX_PLAYERS][pInfo];

    [Pasul 3] Crearea variabilelor globale de care ne vom folosi usor pe viitor in diverse functii.

    new dbhandle;
     
    new bool:EvenimentON[MAX_PLAYERS];
     
    new Gift = 19054;
    new timer;
     
    new Float:x_gift[MAX_PLAYERS] = 0.0000; 
    new Float:y_gift[MAX_PLAYERS] = 0.0000;
    new Float:z_gift[MAX_PLAYERS] = 0.0000;
     
    new Float:rx_gift[MAX_PLAYERS] = 0.0000;
    new Float:ry_gift[MAX_PLAYERS] = 0.0000;
     
    new Float:rz_gift[MAX_PLAYERS] = 0.0000;

    [Pasul 4] Stabilirea forward-urilor care vor apela public-uri.

    forward SaveData(playerid);
    forward VerificaTimpul();

    [Pasul 5] Ne ducem la public-ul OnGameModeInit si vom face in felul urmator:

    public OnGameModeInit()
    {
        dbhandle = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
     
        for( new i = 0; i < MAX_PLAYERS; i++ ) {
            new year, month, day;
            getdate(year, month, day);
            if(month == 12 && day >= 24) {  
                CreateObject(gift, x_gift[i], y_gift[i], z_gift[i], rx_gift[i], ry_gift[i], rz_gift[i]);
                Create3DTextLabel("Scrie /getgift pentru a lua\nun cadou.", -1, x_gift[i], y_gift[i], z_gift[i], 10.0, 1);
                EvenimentON[i] = true;
                timer = SetTimer("VerificaTimpul", 1000, 1);
            }
            else {
                EvenimentON[i] = false;
            }
        }
        return 1;
     
    }

     
    [Pasul 6] Reprezinta comanda getgift imbogatita cu toate cele.
     


    CMD:getgift(playerid, params[]) {
        new time = PlayerInfo[playerid][pNextGift],
                minutes,
                string[128];
        minutes = floatround(time / 60);
        format(string, sizeof(string), "%02d minute ramase pana la urmatorul cadou.", minutes);
        if(IsPlayerConnected(playerid)) {
            if(EvenimentON[playerid]) {
                if(IsPlayerInRangeOfPoint(playerid, 5.0, x_gift[playerid], y_gift[playerid], z_gift[playerid])) {
                    if(PlayerInfo[playerid][pGift] == 0) {
                        GivePlayerMoney(playerid, 100000);
                        PlayerInfo[playerid][pGift] = 1;
                        PlayerInfo[playerid][pNextGift] = 3600;
                        SaveData(playerid);
                     }
                    else {
                        SendClientMessage(playerid, -1, string);
                        return 1;
                    }
                 }
                else {
                    SendClientMessage(playerid, -1, "Nu esti langa cadou.");
                    return 1;
                }
             }
            else {
                SendClientMessage(playerid, -1, "Nu este nici o sarbatoare.");
                return 1;
            }
        }
        else {
            SendClientMessage(playerid, -1, "Nu esti conectat.");
            return 1;
        }
        return 1;
    }

     
    [Pasul 7] Apelul catre public-ul VerificaTimpul.
     


    public VerificaTimpul() {
        for( new i = 0; i < MAX_PLAYERS; i++ ) {
            if(IsPlayerConnected(i)) {
                if(PlayerInfo[i][pGift]) {
                    if(PlayerInfo[i][pNextGift] != 0) {
                        PlayerInfo[i][pNextGift]--;
                        SaveData(i);
                    }
                    else {
                        PlayerInfo[i][pGift] = 0;
                        PlayerInfo[i][pNextGift] = 0;
                        SaveData(i);
                        KillTimer(timer);
                        return 1;
                    }
                }
            }
        }
        return 1;
     
    }

     
    [Pasul 8] Apelul catre public-ul SaveData.
     


    public SaveData(playerid) {
        new query[128];
        format(query, sizeof(query), "UPDATE `accounts` SET `Gift` = '%d', `GiftTime` = '%d' WHERE `ID` = '%d'", PlayerInfo[playerid][pGift], PlayerInfo[playerid][pNextGift], PlayerInfo[playerid][pSQLID]);
        mysql_tquery(dbhandle, query, "", "");
        return 1;
     
    }

     
    [Pasul 9] La OnPlayerDisconnect vom adauga functia creata la pasul 8 + distrugerea timer-ului, astfel:
     

     
    public OnPlayerDisconnect(playerid, reason)
    {
        KillTimer(timer);
        SaveData(playerid);
        return 1;
    }

     
    Sper sa va fie de folos acest tutorial.

    FiveGame RPG

    FiveGame RPG

    Vezi subiectul anteriorSusVezi subiectul urmator
    Permisiunile acestui forum:
    Nu puteti raspunde la subiectele acestui forum