[Ajuda] Funcao apenas para o ID 0
#1

Minha funзгo apenas funciona para o ID 0 ja tentei mudar o timer etc.. mais n adianta

PHP код:
#define FILTERSCRIPT
#include <a_samp>
#include <ZCMD>
#if defined FILTERSCRIPT
new BARCO[3];
new 
Float:oXFloat:oYFloat:oZ;
new 
Float:pXFloat:pYFloat:pZ;
public 
OnFilterScriptInit()
{
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
CMD:moverbarco(playerid)
{
    
BARCO[0] = CreateObject(107943123.862792859.0339410.78237,   0.000000.00000273.96307);
    
BARCO[1] = CreateObject(107953123.296142860.6750520.65570,   0.000000.00000273.53851);
    
BARCO[2] = CreateObject(107933118.733642933.1621139.58103,   0.000000.00000273.04440);
    
MoveObject(BARCO[0], 3123.862792859.03394-1000010.7823710);
    
MoveObject(BARCO[1], 3123.296142860.67505-1000020.6557010);
    
MoveObject(BARCO[2], 3118.733642933.16211-1000039.5810310);
    
SetTimer("UPDATE_SHIP_PPOS"1000true);
    return 
1;
}
forward UPDATE_SHIP_PPOS(playerid);
public 
UPDATE_SHIP_PPOS(playerid)
{
  for(new 
0MAX_PLAYERSi++)
  {
    
GetObjectPos(BARCO[0], oXoYoZ);
    
GetPlayerPos(playeridpXpYpZ);
    if(
IsPlayerInRangeOfPoint(playerid350 oXoYoZ) && pZ >= 35.0000)
    if(
IsPlayerInAnyVehicle(playerid))
      {
              
CreateExplosion(pXpYpZ+8750.0);
              
SendClientMessage(playerid, -1"Acertou !");
              return 
1;
      }
  }
  return 
1;
}
#endif 
Reply
#2

Tenta usar sscanf e colocar essas funзхes de CreateObject na callback: OnFilterScriptInit()
Reply
#3

Mude
SetTimer("UPDATE_SHIP_PPOS", 1000, true);


Para

SetTimerEx("UPDATE_SHIP_PPOS", 1000, true,"i", playerid);



Vocк tambйm pode tirar esse Loop , vocк nгo estб usando ele para nada
Se vocк quisesse usar , em vez de "playerid" vocк deveria escrever
"i"
Reply
#4

o problema de eu estar usando comando e para testar, e o fato do SetTimerEx eu jб usei mais nгo adiantou, oque mais poderia ser ?
Reply
#5

Entгo faзa o seguinte

[pawn]
}

forward UPDATE_SHIP_PPOS(playerid);
public UPDATE_SHIP_PPOS(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
GetObjectPos(BARCO[0], oX, oY, oZ);
GetPlayerPos(playerid, pX, pY, pZ);
if(IsPlayerInRangeOfPoint(playerid, 350 , oX, oY, oZ) && pZ >= 35.0000)
if(IsPlayerInAnyVehicle(playerid))
{
CreateExplosion(pX, pY, pZ+8, 7, 50.0);
SendClientMessage(playerid, -1, "Acertou !");
return 1;
}
}
return 1;
}
[\pawn]

Primeiramente , mude

forward UPDATE_SHIP_PPOS(playerid);
public UPDATE_SHIP_PPOS(playerid)

Tire esse playerid de dentro dos parкnteses

Agora , dentro desse "for i=0, i < MAX_PLAYERS...
Tudo abaixo dele que tiver "playerid" vocк muda para "i"
Reply
#6

....
Reply
#7

Funcionou obrigado, aprendi mais uma
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)