Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×

[Tutorial]Pickup-uri pentru case ( Detinute/Nedetinute) MySqL


Recommended Posts

Posted

Da , după părerea mea nu ați înțeles mare lucru din titlu' , deci stați să va explic ..
Am văzut pe majoritate serverelor că la intrări in case sunt doar textele ( Owner , Rent , Pret , ș.a.m.d... ) e.x. : Click Aici.

Eu cred că ar fi mult mai frumos dacă la fiecare casă Nedeținută să fie un Pickup cu o casă ( Verde , toată lumea cred că știe acest pickup) iar la fiecare casa Deținută sa fie un pickup cu o casă ( Albastră ) fara a creea un pickup pentru fiecare casa in parte ... CreatePickup(...) x100...

Deci , să incepem.

 

// Eu folosesc MySQL R33
// Sub define-uri scriem așa :

new case = 0;
new ownedhouses[MAX_HOUSES];
new unownedhouses[MAX_HOUSES];


// La functia care adaugă casele din baza de date:
/*La*/ LoadHouses() // Adaugăm așa:
{
    new result[100],index = 0;
    mysql_query(SQL,"SELECT * FROM `houses` ORDER BY `houses`.`ID` ASC");
    mysql_store_result();
    while(mysql_retrieve_row()) // Depinde 
    {
        case++;
        //Codurile tale..
    }
    for(new p;p<= case;p++)
    {
        if(HouseInfo[p][hOwned] == 0)
        {
            unownedhouses[p] = CreatePickup(1273,23,HouseInfo[p][hEntraceX],HouseInfo[p][hEntraceY],HouseInfo[p][hEntraceZ])  // Intrarea in casă
        }
        else
        {
            ownedhouses[p] = CreatePickup(1272,23,HouseInfo[p][hEntraceX],HouseInfo[p][hEntraceY],HouseInfo[p][hEntraceZ])  // Intrarea in casă
        }
    }
    return 1;
}

//La comanda cu care vindem casa la stat 
(In cazul meu : )
CMD:sellhousetostate(playerid,params[])
{
    new house = PlayerInfo[playerid][pHouseKey];
    DestroyPickup(house);
    CreatePickup(1273,23,HouseInfo[house][hEntranceX],HouseInfo[house][hEntranceY],HouseInfo[house][hEntranceZ]) // Nedetinuta
    
    //Codurile tale 
    
    
    return 1;
}

//La comanda cu care vindem casa la stat  ( Ca Administrator ) 
(In cazul meu : )
CMD:asellhousetostate(playerid,params[])
{

    new house;
    if(sscanf(params,"d",house)) return SendClientMessage(playerid,0xFFFFFFFF,"/asellhousetostate <id-ul casei>");
    if(house > case) /* (Variabila care am creat-o pentru LoadHouses)*/ return SendClientMessage(playerid,0xFF00AA,"Aceasta casa nu exista");
    // alte coduri
    
    DestroyPickup(house);
    CreatePickup(1273,23,HouseInfo[house][hEntranceX],HouseInfo[house][hEntranceY],HouseInfo[house][hEntranceZ]) // Nedetinuta
    return 1;
}
//La comanda cu care cumparam o casa de la stat
(In cazul meu : )
CMD:buyhouse(playerid,params[])
{
    for(new h;h <= case;h++)
    {
        if(IsPlayerInRangeOfPoint(playerid,3.0,HouseInfo[h][hEntranceX],HouseInfo[h][hEntranceY],HouseInfo[h][hEntranceZ]))
        {
            // Codurile tale...
            DestroyPickup(h);
            CreatePickup(1273,23,HouseInfo[h][hEntranceX],HouseInfo[h][hEntranceY],HouseInfo[h][hEntranceZ]) // Detinuta
        }
    }
    return 1;
}

Sper că ați înțeles .. ( Sunt foarte răcit si nu prea am putut explica .. )

P.S. Dacă nu ati inteles ceva lăsați un reply și vă voi ajuta



 


 
 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.