[Ajuda] map icon nгo funciona
#1

Quero um Sistema onde quando o servidor ligue as casas б venda fiquem com mapicon id 31 e quando tem dono id 32, porem na hora que alguem comprar/vender a casa o icone que estava anteriormente seria destruido.

Код:
new meu_icone =  31; // IconeID 31
// Exibe o nosso нcone e pelo id "meu_icon"
Код:
SetPlayerMapIcon(playerid, meu_icone, Float:x, Float:y, Float:z, markertype, color, style);
MAKERTYPE : ID 32

// Destruindo o нcone
Код:
RemovePlayerMapIcon( playerid, meu_icone);
// Criando outro no mesmo id ( IconeID 31)
Код:
SetPlayerMapIcon(playerid, meu_icone, Float:x, Float:y, Float:z, 32, 0, 0);
Sistema de Casas:
Код:
CreateHouse(1, -684.6587, 939.5399, 13.6328, 83.0864, 1324.3145, 1083.8594, 9, 200000, 200000, 1, 101);
Код:
CreateHouse(casaid, Float:Pickupx, Float:Pickupy, Float:Pickupz
Portanto

OnPlayerConnect :

Код:
SetPlayerMapIcon(playerid, meu_icone, Float:-684.6587, Float:939.5399, Float:13.6328, 32, 0, 0);

nгo estб funcionando.. alguem ajuda ?!
Reply
#2

Foi oque eu te falei via Skype..

pawn Код:
// Nossa variбvel para armazenar o id
new id = 1; // Vamos trabalhar com o id 1 por exemplo



public OnPlayerCommandText(playerid, cmdtext[]){


    static Float: X, Float: Y, Float: Z;
   
    if(!strcmp(cmdtext, "/criar", true)){
   
       
        // Pegar as posiзхes X,Y e Z do player
        GetPlayerPos(playerid, X,Y,Z);
       
       
        // Criar o MapIcon Parвmetros: "playerid, iconid, Float: x, Float: y, Float: z, iconstyle, iconcolor, mode".
        // leia mais: https://sampwiki.blast.hk/wiki/SetPlayerMapIcon
       
        SetPlayerMapIcon(playerid, id, X,Y,Z, 31, 0, MAPICON_LOCAL);
        return true;
    }
   
   
    if(!strcmp(cmdtext, "/trocar", true)){


        // Removendo o nosso MapIcon pelo iconid "id" no caso 1.
        RemovePlayerMapIcon(playerid, id);
   
   
        // Pegamos novamente a posiзгo do jogador
        GetPlayerPos(playerid, X,Y,Z);

        // Criamos novamente
        SetPlayerMapIcon(playerid, id, X,Y,Z, 32, 0, MAPICON_LOCAL);
        return true;
    }
    return false;
}
Reply
#3

Nгo testei, mas dб pra fazer de vбrios jeitos

pawn Код:
#if !defined MAX_HOUSES

#define MAX_HOUSES 500

#endif


public  OnPlayerConnect(playerid) {

    SetTimer("AtualizarMapa", 1000, true, "i", playerid);
}


public AtualizarMapa(i);

public AtualizarMapa(i) {

    for(new c ; c != MAX_HOUSES ; c++) {

        if( CasaInfo[c][Venda]) {
             SetPlayerMapIcon( i, c, CasaInfo[c][PickupX], CasaInfo[c][PickupY],CasaInfo[c][PickupZ], 32, 0, MAPICON_GLOBAL       );
        }
        else
        {
            RemovePlayerMapIcon( i, c );
        }
    }

    return true;

}
Reply
#4

Quote:
Originally Posted by zSuYaNw
Посмотреть сообщение
Foi oque eu te falei via Skype..

pawn Код:
// Nossa variбvel para armazenar o id
new id = 1; // Vamos trabalhar com o id 1 por exemplo



public OnPlayerCommandText(playerid, cmdtext[]){


    static Float: X, Float: Y, Float: Z;
   
    if(!strcmp(cmdtext, "/criar", true)){
   
       
        // Pegar as posiзхes X,Y e Z do player
        GetPlayerPos(playerid, X,Y,Z);
       
       
        // Criar o MapIcon Parвmetros: "playerid, iconid, Float: x, Float: y, Float: z, iconstyle, iconcolor, mode".
        // leia mais: https://sampwiki.blast.hk/wiki/SetPlayerMapIcon
       
        SetPlayerMapIcon(playerid, id, X,Y,Z, 31, 0, MAPICON_LOCAL);
        return true;
    }
   
   
    if(!strcmp(cmdtext, "/trocar", true)){


        // Removendo o nosso MapIcon pelo iconid "id" no caso 1.
        RemovePlayerMapIcon(playerid, id);
   
   
        // Pegamos novamente a posiзгo do jogador
        GetPlayerPos(playerid, X,Y,Z);

        // Criamos novamente
        SetPlayerMapIcon(playerid, id, X,Y,Z, 32, 0, MAPICON_LOCAL);
        return true;
    }
    return false;
}
Poderia Me Enviar Seu Skype ? Para Você Me Ajudar ?
Reply
#5

Quote:
Originally Posted by ipsBruno
Посмотреть сообщение
Nгo testei, mas dб pra fazer de vбrios jeitos

pawn Код:
#if !defined MAX_HOUSES

#define MAX_HOUSES 500

#endif


public  OnPlayerConnect(playerid) {

    SetTimer("AtualizarMapa", 1000, true, "i", playerid);
}


public AtualizarMapa(i);

public AtualizarMapa(i) {

    for(new c ; c != MAX_HOUSES ; c++) {

        if( CasaInfo[c][Venda]) {
             SetPlayerMapIcon( i, c, CasaInfo[c][PickupX], CasaInfo[c][PickupY],CasaInfo[c][PickupZ], 32, 0, MAPICON_GLOBAL       );
        }
        else
        {
            RemovePlayerMapIcon( i, c );
        }
    }

    return true;

}
Funcionou porйm.. todas as casas tao com o mapicon de id 32 e meu gamemode apontou os seguintes avisos:

number of arguments does not match definition > SetTimer("AtualizarMapa", 1000, true, "i", playerid);
old style prototypes used with optional semicolumns > public AtualizarMapa(i);
Reply
#6

Код:
forward AtualizarMapa(i);
public AtualizarMapa(i) 
{  
 for(new c ; c != MAX_CASAS ; c++) {
      if(CasaInfo[c][Venda] == 1)
        for(new b; b <= MAX_PLAYERS; b++)
              SetPlayerMapIcon(b, 83, CasaInfo[c][PickupX], CasaInfo[c][PickupY],CasaInfo[c][PickupZ], 31/*CASA VERDE*/, 0, 1);
   else
       for(new a; a <= MAX_PLAYERS; a++)
              SetPlayerMapIcon(a, 84, CasaInfo[c][PickupX], CasaInfo[c][PickupY],CasaInfo[c][PickupZ], 32/*CASA VERMELHA*/, 0, 1);
   }
 }
NADA AINDA, ALGUEM AJUDA ?!
Reply
#7

desse modo;

pawn Код:
#if !defined MAX_HOUSES

#define MAX_HOUSES 500

#endif


public  OnPlayerConnect(playerid) {

    SetTimerEx("AtualizarMapa", 1000, true, "i", playerid);
   
     
}


forward AtualizarMapa(i);
public AtualizarMapa(i) {

    for(new c ; c != MAX_HOUSES ; c++) {

        if( CasaInfo[c][Venda]) {
             SetPlayerMapIcon( i, c, CasaInfo[c][PickupX], CasaInfo[c][PickupY],CasaInfo[c][PickupZ], 32, 0, MAPICON_GLOBAL       );
        }
        else
        {
            RemovePlayerMapIcon( i, c );
        }
    }

    return true;

}
os erros do code do bruno ficam reparados penso

# nao testei...
Reply
#8

Quote:
Originally Posted by PT
Посмотреть сообщение
desse modo;

pawn Код:
#if !defined MAX_HOUSES

#define MAX_HOUSES 500

#endif


public  OnPlayerConnect(playerid) {

    SetTimerEx("AtualizarMapa", 1000, true, "i", playerid);
   
     
}


forward AtualizarMapa(i);
public AtualizarMapa(i) {

    for(new c ; c != MAX_HOUSES ; c++) {

        if( CasaInfo[c][Venda]) {
             SetPlayerMapIcon( i, c, CasaInfo[c][PickupX], CasaInfo[c][PickupY],CasaInfo[c][PickupZ], 32, 0, MAPICON_GLOBAL       );
        }
        else
        {
            RemovePlayerMapIcon( i, c );
        }
    }

    return true;

}
os erros do code do bruno ficam reparados penso

# nao testei...
e o mapicon id 31 ? no caso era para as casas sem dono ficar com mapicon de id 31 e as com dono de id 32 de forma que quando alguem comprasse o mapicon 31 seria destruido e posto o 32 e vice versa..
Reply
#9

Estud meu cуdigo acima, vocк pediu uma ajuda, nгo um pedido.
Reply
#10

Quote:
Originally Posted by PT
Посмотреть сообщение
desse modo;

pawn Код:
#if !defined MAX_HOUSES

#define MAX_HOUSES 500

#endif


public  OnPlayerConnect(playerid) {

    SetTimerEx("AtualizarMapa", 1000, true, "i", playerid);
   
     
}


forward AtualizarMapa(i);
public AtualizarMapa(i) {

    for(new c ; c != MAX_HOUSES ; c++) {

        if( CasaInfo[c][Venda]) {
             SetPlayerMapIcon( i, c, CasaInfo[c][PickupX], CasaInfo[c][PickupY],CasaInfo[c][PickupZ], 32, 0, MAPICON_GLOBAL       );
        }
        else
        {
            RemovePlayerMapIcon( i, c );
        }
    }

    return true;

}
os erros do code do bruno ficam reparados penso

# nao testei...
ainda nгo..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)