[Pedido] Icones de Casas
#1

Bom quero um ' Add ' que quando uso /criarcasa , aparece um icone VERDE no mapa , Quando alguem COMPRA a casa com /comprarcasa , fique o icone AZUL , quando esse determinado player VENDER sua casa com /vendercasa , o icone volta a ficar VERDE ! Se alguem puder me ajudar nessa !!!
~~~~~~~~~~~~~~ COMANDOS ~~~~~~~~~~~~~~~
/CRIARCASA :
Код:
if(strcmp(cmd, "/criarcasa", true) == 0) {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    if(pAdmin[playerid] == 5 || IsPlayerAdmin(playerid)){
    new tmp[256];
    new preco, int;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)){
    SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
    return 1;
    }
    preco = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)){
    SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
    return 1;
    }
    int = strval(tmp);
    format(string, sizeof(string), "/Casas/casa%d.ini", proximacasa);
    if(!dini_Exists(string)){
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_Create(string);
    dini_FloatSet(string, "PosX", X);
    dini_FloatSet(string, "PosY", Y);
    dini_FloatSet(string, "PosZ", Z);
    dini_IntSet(string, "Int", int);
    //dini_FloatSet(string, "IntX", X);
    //dini_FloatSet(string, "IntY", Y);
    //dini_FloatSet(string, "IntZ", Z);
    dini_IntSet(string, "Mundo", proximacasa);
    dini_IntSet(string, "TDono", 0);
    dini_Set(string, "Dono", "Ninguem");
    dini_IntSet(string, "Preco", preco);
    dini_IntSet(string, "Trancada", 0);
    dini_IntSet(string, "TMorador", 0);
    dini_Set(string, "Morador", "Ninguem");
    new pickupid;
    pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
    dini_IntSet(string, "Id", pickupid);
    proximacasa++;
    }
    }
    return 1;
    }
/VENDERCASA :
Код:
    if(strcmp(cmdtext, "/vendercasa", true) == 0) {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(file, sizeof(file), PASTA_CONTAS, pname);
    for(new c = 0; c < MAX_CASAS; c++)
    {
    format(string, sizeof(string), "/Casas/casa%d.ini", c);
    if(dini_Exists(string)){
   // new Float:X, Float:Y, Float:Z;
    //GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
    if(dini_Int(string, "TDono") == 1){
    if(strcmp(dini_Get(string, "Dono"), pname, true) == 0 || pAdmin[playerid] == 5 || IsPlayerAdmin(playerid)){
    if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
    dini_FloatSet(file,"CasaX",Float:1410.5046);
    dini_FloatSet(file,"CasaY",Float:-1789.7197);
    dini_FloatSet(file,"CasaZ",Float:13.8285);
    }
    dini_IntSet(string, "TDono", 0);
    dini_Set(string, "Dono", "Ninguem");
    GivePlayerGrana(playerid, dini_Int(string, "Preco"));
    new pickupid;
    DestroyPickup(dini_Int(string, "Id"));
    pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
    dini_IntSet(string, "Id", pickupid);
    } else {
    SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo й sua.");
    }
    } else {
    SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa jб estб a venda !");
    }
    } else {
   // SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade.");
    }
    }
    }
    return 1;
    }
/COMPRARCASA :
Код:
if(strcmp(cmdtext, "/comprarcasa", true) == 0) {
    for(new c = 0; c < MAX_CASAS; c++)
    {
    format(string, sizeof(string), "/Casas/casa%d.ini", c);
    if(dini_Exists(string)){
   // new Float:X, Float:Y, Float:Z;
    //GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
    if(dini_Int(string, "TDono") == 0){
    if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
    if(GetCasas(playerid) < 1){
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    dini_IntSet(string, "TDono", 1);
    dini_Set(string, "Dono", pname);
    GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
    new pickupid;
    DestroyPickup(dini_Int(string, "Id"));
    pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
    dini_IntSet(string, "Id", pickupid);
    OnPlayerCommandText(playerid, "/nascercasa");
    } else {
    SendClientMessage(playerid, Vermelho, "(ERRO) Vocк sу pode ter uma casa!");
    }
	} else {
    SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro!");
    }
    } else {
    SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo estб a venda!");
    }
    } else {
    //SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma casa .");
    }
    }
    }
    return 1;
    }
Porfavor me ajudem !! +REP
Reply
#2

SetPlayerMapIcon - Wiki SA-MP
Reply
#3

Onde coloco isso ?
Reply
#4

Via Wiki-Samp >>> https://sampwiki.blast.hk/wiki/SetPlayerMapIcon

Код:
public OnPlayerConnect( playerid )
{
    // This example demonstrates how to create a dollar-icon on top of a 24/7 located
    // in Las Venturas. This way new players know where to go with their money!
    SetPlayerMapIcon( playerid, 12, 2204.9468, 1986.2877, 16.7380, 52, 0, MAPICON_LOCAL );
}
Reply
#5

Melhor usar CreateDynamicMapIcon
Reply
#6

Eu sempre quis fazer isso, nunca deu certo :/
Reply
#7

Pйlo jeito do SetPlayerMapIcon , vou ter que colocar icones via PAWNO ? Nгo tem um jeito ' automatico ' pelos comandos ??
Reply
#8

Quote:
Originally Posted by IGp
Посмотреть сообщение
Pйlo jeito do SetPlayerMapIcon , vou ter que colocar icones via PAWNO ? Nгo tem um jeito ' automatico ' pelos comandos ??
nгo amigo vocк cria uma variavel para armazenar o map icon no arquivo da casa mano alguns gms de net vem com este tipo de sistema para estudo

e no comando vc pode fazer variaзхes neste arquivo

um exemplo

pawn Код:
if(strcmp(cmd, "/criarcasa", true) == 0) {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    if(pAdmin[playerid] == 5 || IsPlayerAdmin(playerid)){
        new tmp[256], sk_;
        new preco, int;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){
            SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
            return 1;
        }
        preco = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){
            SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
            return 1;
        }
        int = strval(tmp);
        format(string, sizeof(string), "/Casas/casa%d.ini", proximacasa);
        if(!dini_Exists(string)){
            new Float:X, Float:Y, Float:Z;
            GetPlayerPos(playerid, X, Y, Z);
            dini_Create(string);
            dini_FloatSet(string, "PosX", X);
            dini_FloatSet(string, "PosY", Y);
            dini_FloatSet(string, "PosZ", Z);
            dini_IntSet(string, "Int", int);
            //dini_FloatSet(string, "IntX", X);
            //dini_FloatSet(string, "IntY", Y);
            //dini_FloatSet(string, "IntZ", Z);
            dini_IntSet(string, "Mundo", proximacasa);
            dini_IntSet(string, "TDono", 0);
            dini_Set(string, "Dono", "Ninguem");
            dini_IntSet(string, "Preco", preco);
            dini_IntSet(string, "Trancada", 0);
            dini_IntSet(string, "TMorador", 0);
            dini_Set(string, "Morador", "Ninguem");

            //exemplo
            sk_ CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, 0, -1, -1, -1, 100.0);
            dini_IntSet(string, "Icon", sk_);

            pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
            dini_IntSet(string, "Id", pickupid);
            proximacasa++;
        }
    }
    return 1;
}

da para vc ter uma logica de como fazer seguindo estudando os pickups das casas

pawn Код:
pickupid = CreatePickup //exemplo
Reply
#9

Quote:
Originally Posted by Sky_.
Посмотреть сообщение
pawn Код:
//exemplo
            sk_ CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, 0, -1, -1, -1, 100.0);
Vocк esqueceu do sinal de =

pawn Код:
sk_ = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, 0, -1, -1, -1, 100.0);
Reply
#10

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
Vocк esqueceu do sinal de =

pawn Код:
sk_ = CreateDynamicMapIcon(dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), 31, 0, -1, -1, -1, 100.0);
lag no CELEBROW

mбs foi sу um exemplo vlw
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)