[Ajuda] Mapa Icon Criar Casa
#1

Ae gente to editando uma gm aki queria uma ajudinha suas aki tentei so que nao sei mecher muito com icon gostaria de por assim
quando o adm digita /criarcasa seta no mapa o icon da casa verde
quando o player comprar a casa /comprarcasa o icone ficase vermelho
quando o Player vende a casa volta pro verde
e quando o adm deletase a casa ficava sem icone se alguem poder me ajudar cmds abaixo .

/criarcasa

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];
    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;
    }
/comprarcasa

pawn Код:
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 propriedade.");
    }
    }
    }
    return 1;
    }
/vendercasa

pawn Код:
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;
    }
/deletarcasa

pawn Код:
if(strcmp(cmd, "/deletarcasa", true) == 0) {
    new preco;
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)){
    SendClientMessage(playerid, Vermelho, "/deletarcasa [casaID]");
    return 1;
    }
    preco = strval(tmp);
    format(string, sizeof(string), "/Casas/casa%d.ini", preco);
    if(dini_Exists(string)){
   // new Float:X, Float:Y, Float:Z;
    //GetPlayerPos(playerid, X, Y, Z);
    if(pAdmin[playerid] >= 5){
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    DestroyPickup(dini_Int(string, "Id"));
    dini_IntSet(string, "TDono", 3);
    dini_Set(string, "Dono", "Nenhum");
    dini_IntSet(string, "Id", 999);
    return 1;
    } else {
    SendClientMessage(playerid, Vermelho, "(ERRO)Vocк nгo tem permissгo.");
    }
    }
    return 1;
    }
Reply
#2

veja http://forum.sa-mp.com/showthread.ph...ht=comprarcasa
Reply
#3

ja tentei nao conseguir .
Reply
#4

upp alquem ajuda?
Reply
#5

eu fiz do geitin que tu que.. mais ta com problemas no /deletarcasa quando deleta nгo sai o map icon so sai quando renicia o sv :[ em DOF2
Reply
#6

zona sky se poder me pasa os code ae pode ser em dof mais se tiver em dini pode mandar tabem .!
Reply
#7

vc vai precisar desta minha include https://sampforum.blast.hk/showthread.php?tid=387304&langid=4
que por acaso, desenvolvi pensando em sistema e casas, com mais de 500 casas pelo jogo.
Reply
#8

BlackFire Me ajuda fazer esse sitema ae se poder.
Reply
#9

vou lhe dar um exemplo com a minha include;

para setar um ícone verde no mapa é:
pawn Код:
#include <rMapIcons>//include streamer de mapicons

new variavelmapicon
variavelmapicon = rSetPlayerMapIcon(playerid, Float: x, Float:y, Float:z, 31, 0, 20);//retorna o ID para remove-la depois e salva na variável
para adicionar um ícone vermelho depois
pawn Код:
rRemovePlayerMapIcon(playerid, variavelmapicon);//remove o mapicon verde criado anteriormente
variavelmapicon = rSetPlayerMapIcon(playerid, Float: x, Float:y, Float:z, 32, 0, 20);//agora criamos novamente, so que na cor vermelha
e em OnPlayerUpdate(playerid) coloque a função para atualizar
pawn Код:
rMapIconsUpdate(playerid);
Reply
#10

ta foda vei nao aff alquem ajuda aee .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)