[AJUDA]Canselas abrem mas nao feixam em 6 segundos
#1

Boas, tipo eu vou ao local... a cansela estб fechada serto? eu uso o comando /comprarbilhete e a cansela abre mas cria a cansela aberta e a casela fica fechada, ou seja fica uma cansela aberta e outra fechada, e depois a aberta tambem nao feicha :S o que ta mal aqui ?

PHP код:
//TOPO GAMEMODE
new canselafechada;
new 
canselaaberta;
forward tempocansela(playerid);
//ONGAMEMODEINIT
canselafechada CreateDynamicObject(968,1216.78515625,306.50247192,19.94689178,0.00000000,90.00000000,245.25000000); //Fechado
//OnPlayerCommandText
if(!strcmp(cmdtext"/comprarbilhete"true)) // By Ellis
{
{
        if (
PlayerToPoint(15playerid,1212.7277,303.9298,19.5469)) //local onde pode usar o comando
        
{
            
DestroyObjectcanselafechada );
            
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
            
GivePlayerMoney(playerid, -500);
            
SetTimer("tempocansela"60000);
              
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Entras-te no parque de estacionamento do {008000}LaMovida {FFFFFF}e pagas-te {BF0000}500Ђ{FFFFFF}.");
            }
    }
    return 
1;
}
if(!
strcmp(cmdtext"/usarbilhete"true)) // By Ellis
{
{
        if (
PlayerToPoint(15playerid,1218.0685,301.7553,19.6039)) //local onde pode usar o comando
        
{
            
DestroyObjectcanselafechada );
            
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
              
SetTimer("tempocansela"60000);
              
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Saiste do parque de estacionamento do {008000}LaMovida{FFFFFF}.");
            }
    }
    return 
1;
}
//FIM DO GAMEMODE
public tempocansela()
{
      
DestroyObjectcanselaaberta );
      
canselafechada CreateDynamicObject(968,1216.78515625,306.50247192,19.94689178,0.00000000,90.00000000,245.25000000); // Cordenadas portao fechado
      
return 1;

Reply
#2

DestroyObject deletaria o CreateObject ?
mais funciona com CreateDynamicObject ?
Entao nunca ira funcionar com streamer troque esse CreateDynamicObject po CreateObject
Reply
#3

PHP код:
new canselafechada;
new 
canselaaberta;
forward tempocansela(playerid);
public 
OnGameModeInit()
{
    
canselafechada CreateDynamicObject(968,1216.78515625,306.50247192,19.94689178,0.00000000,90.00000000,245.25000000);
    return 
1;
}
public 
OnGameModeExit()
{
    
DestroyDynamicObject(canselafechada);
    
DestroyDynamicObject(canselaaberta);
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(!
strcmp(cmdtext"/comprarbilhete"true)) // By Ellis
    
{
        if (
IsPlayerInRangeOfPoint(playerid15.01212.7277303.929819.5469))
        {
            
DestroyDynamicObjectcanselafechada );
            
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);    
            
GivePlayerMoney(playerid, -500);
            
SetTimer("tempocansela"60000);
            
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Entras-te no parque de estacionamento do {008000}LaMovida {FFFFFF}e pagas-te {BF0000}500Ђ{FFFFFF}.");
        }
        return 
1;
    }
    if(!
strcmp(cmdtext"/usarbilhete"true)) // By Ellis
    
{
        if (
IsPlayerInRangeOfPoint(playerid15.01218.0685301.755319.6039))
            {
            
DestroyDynamicObjectcanselafechada );
            
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
            
SetTimer("tempocansela"60000);
            
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Saiste do parque de estacionamento do {008000}LaMovida{FFFFFF}.");
        }
        return 
1;
    }
    return 
0;
}
public 
tempocansela()
{
      
DestroyObjectcanselaaberta );
      
canselafechada CreateDynamicObject(968,1216.78515625,306.50247192,19.94689178,0.00000000,90.00000000,245.25000000);
      return 
1;

Reply
#4

nгo deu shadow5, dis que o pawn deixa de funcionar :S
Reply
#5

pawn Код:
//TOPO GAMEMODE
new canselafechada;
new canselaaberta;

forward tempocansela(playerid);

//ONGAMEMODEINIT
canselafechada = CreateObject(968,1216.78515625,306.50247192,19.94689178,0.00000000,90.00000000,245.25000000); //Fechado

//OnPlayerCommandText
if(!strcmp(cmdtext, "/comprarbilhete", true)) // By Ellis
{
{
        if (PlayerToPoint(15, playerid,1212.7277,303.9298,19.5469)) //local onde pode usar o comando
        {
            DestroyObject( canselafechada );
            canselaaberta = CreateObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
            GivePlayerMoney(playerid, -500);
            SetTimer("tempocansela", 6000, 0);
              SendClientMessage(playerid, COLOR_GREEN,"{FFFFFF}Entras-te no parque de estacionamento do {008000}LaMovida {FFFFFF}e pagas-te {BF0000}500€{FFFFFF}.");
            }
    }
    return 1;
}

if(!strcmp(cmdtext, "/usarbilhete", true)) // By Ellis
{
{
        if (PlayerToPoint(15, playerid,1218.0685,301.7553,19.6039)) //local onde pode usar o comando
        {
            DestroyObject(canselafechada);
            canselaaberta = CreateObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
              SetTimer("tempocansela", 6000, 0);
              SendClientMessage(playerid, COLOR_GREEN,"{FFFFFF}Saiste do parque de estacionamento do {008000}LaMovida{FFFFFF}.");
            }
    }
    return 1;
}

//FIM DO GAMEMODE
public tempocansela()
{
      DestroyObject(canselaaberta);
      canselafechada = CreateObject(968,1216.78515625,306.50247192,19.94689178,0.00000000,90.00000000,245.25000000); // Cordenadas portao fechado
      return 1;
}
Reply
#6

http://forum.sa-mp.com/showthread.ph...45#post1264345
Reply
#7

Deu certo mas agora tive a fazer aqui umas alteraзoes e dame 26erros, ou seja falta alguma coias ou ta algo mal :S neste comando alguem me ajuda ?? vejam o comando

PHP код:
    if(!strcmp(cmdtext"/comprarbilhete"true) == 0// By Ellis
    
{
        if (
IsPlayerInRangeOfPoint(playerid2.01212.7277303.929819.5469))
        {
            
SendClientMessage(playeridCOLOR_RED"Vocк jб tem um bilhete");
            
DestroyDynamicObjectcanselafechada );
            
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
            
GivePlayerMoney(playerid, -500);
            
SetTimer("tempocansela"40000);
            
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Entras-te no parque de estacionamento do {008000}LaMovida {FFFFFF}e pagas-te {BF0000}500€{FFFFFF}.");
            
Ticket 1;
            
GameTextForPlayer(playerid"~r~Dinheiro insuficiente, ficas a dever 500 euros ao estado."50001);
        }
        return 
0;
    }
    if(!
strcmp(cmdtext"/usarbilhete"true) == 0// By Ellis
    
{
        if (
IsPlayerInRangeOfPoint(playerid2.01218.0685301.755319.6039))
        {
            if (
Ticket == 1)
            {
            
SendClientMessage(playeridCOLOR_RED"Vocк jб tem um bilhete");
            
DestroyDynamicObjectcanselafechada );
            
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
            
SetTimer("tempocansela"40000);
            
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Saiste do parque de estacionamento do {008000}LaMovida{FFFFFF}.");
            
Ticket 0;
          return 
1;
        }
        else
        {
                   
SendClientMessage(playeridCOLOR_WHITE"Vocк nгo tem um bilhete");
                return 
1;
                }
          }
    }
    return 
0;

Reply
#8

Primeiro, idente seus codigos.

Depois analise-o e tente descobrir o erro. Blz ?

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(!
strcmp(cmdtext"/comprarbilhete"true) == 0// By Ellis
    
{
        if (
IsPlayerInRangeOfPoint(playerid2.01212.7277303.929819.5469))
        {
            
SendClientMessage(playeridCOLOR_RED"Vocк jб tem um bilhete");
            
DestroyDynamicObjectcanselafechada );
            
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
            
GivePlayerMoney(playerid, -500);
            
SetTimer("tempocansela"40000);
            
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Entras-te no parque de estacionamento do {008000}LaMovida {FFFFFF}e pagas-te {BF0000}500€{FFFFFF}.");
            
Ticket[playerid] = 1;
            
GameTextForPlayer(playerid"~r~Dinheiro insuficiente, ficas a dever 500 euros ao estado."50001);
        }
        return 
1;
    }
    if(!
strcmp(cmdtext"/usarbilhete"true) == 0// By Ellis
    
{
        if (
IsPlayerInRangeOfPoint(playerid2.01218.0685301.755319.6039))
        {
            if (
Ticket[playerid] == 1)
            {
                
SendClientMessage(playeridCOLOR_RED"Vocк jб tem um bilhete");
                
DestroyDynamicObjectcanselafechada );
                
canselaaberta CreateDynamicObject(968,1216.55664062,305.94561768,19.94689178,0.00000000,9.00000000,245.24780273);
                
SetTimer("tempocansela"40000);
                
SendClientMessage(playeridCOLOR_GREEN,"{FFFFFF}Saiste do parque de estacionamento do {008000}LaMovida{FFFFFF}.");
                
Ticket[playerid] = 0;
            }
            else
            {
                
SendClientMessage(playeridCOLOR_WHITE"Vocк nгo tem um bilhete");
                return 
1;
            }
        }
        return 
1;
    }
    return 
0;

OBS: Troque isto:

PHP код:
new Ticket
Por isto:

PHP код:
new Ticket[MAX_PLAYERS]; 
Reply
#9

Use meu sistema ( http://forum.sa-mp.com/showthread.ph...45#post1264345 )

pawn Код:
#include <cancela>

public OnGameModeInit()
{
    CriarCancela(0, 1216.55664062, 305.94561768, 19.94689178, 245.24780273);
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/comprarbilhete", true) == 0) // By Ellis
    {
        if (IsPlayerInRangeOfPoint(playerid, 2.0, 1212.7277, 303.9298, 19.5469))
        {
            SendClientMessage(playerid, COLOR_RED, "Vocк jб tem um bilhete");
            AbrirCancela(0, true);
            GivePlayerMoney(playerid, -500);
            SendClientMessage(playerid, COLOR_GREEN,"{FFFFFF}Entras-te no parque de estacionamento do {008000}LaMovida {FFFFFF}e pagas-te {BF0000}500Ђ{FFFFFF}.");
            Ticket[playerid] = 1;
            GameTextForPlayer(playerid, "~r~Dinheiro insuficiente, ficas a dever 500 euros ao estado.", 5000, 1);
        }
        return 1;
    }
    if(!strcmp(cmdtext, "/usarbilhete", true) == 0) // By Ellis
    {
        if (IsPlayerInRangeOfPoint(playerid, 2.0, 1218.0685, 301.7553, 19.6039))
        {
            if (Ticket[playerid] == 1)
            {
                SendClientMessage(playerid, COLOR_RED, "Vocк jб tem um bilhete");
                AbrirCancela(0, true);
                SendClientMessage(playerid, COLOR_GREEN,"{FFFFFF}Saiste do parque de estacionamento do {008000}LaMovida{FFFFFF}.");
                Ticket[playerid] = 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_WHITE, "Vocк nгo tem um bilhete");
                return 1;
            }
        }
        return 1;
    }
    return 0;
}
Uma perguntinha sу: Porque vocк esta criando o servidor em Euros??
Reply
#10

fuciunou obrigado
eu tou criando servidor em euros porque e a moeda aqui em portugal, pa ficar mais realista o jogo ^^
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)