[AJUDA]sobre Stock -
Lucas_Alemao - 29.01.2012
ae alguem pode me passar um tutorial de como criar stock?
eu sei que stock й tipo um resumo de uma funзгo e tals, mas eu queria saber como eu crio stock e uso ela em um if
olha sу oque eu to querendo fazer:
pawn Код:
stock IsPlayerInRangeOfObject(playerid, objectid)
{
new
Float: X,
Float: Y,
Float: Z;
GetObjectPos(objectid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 20, X, Y, Z)) return 1;
}
essa stock esta correta? eu criei ela mais с tenho certeza se ta certo
eu quero fazer pra verificar se o player ta no raio da posiзгo do objeto, como eu faзo isso?
Re: [AJUDA]sobre Stock -
DarkScripter - 29.01.2012
й fбcil, й sу utilizar:
pawn Код:
if(IsPlayerInRangeOfObject(playerid, id_do_objeto))
Exemplo:
pawn Код:
new meu_objeto;
//OnFilterScriptInit
meu_objeto = CreateObject(...);
// OnPlayerUpdate // EXEMPLO
if(IsPlayerInRangeOfObject(playerid, meu_objeto))
{
print("VOCК ESTБ EM MEU OBJETO");
}
Espero ter ajudado.
se ajudei, olhe minha assinatura ^^
Re: [AJUDA]sobre Stock -
SuperChock - 29.01.2012
Cara...
stock nгo tem nada a ver com "resumo" de funзгo ou coisa parecida. Da onde tirou isso? rs Estгo te ensinando umas coisas aн... que por favor.
Enfim, resuminho do tipo de funзхs pra vocкs que ainda nгo sabem:
Essa й uma funзгo "normal". Nгo й identificada nem como pъblica e nem como "stock".
Quando serб compilada? Desde o momento em que vocк escrevк-la em seu script. Mesmo que vocк a chame ou nгo.
Pode ser compartilhada com outros scripts (usando CallRemoteFunction)? Nгo.
pawn Код:
stock PlayerAccount(playerid)
Essa й uma funзгo "stock". Ela й uma funзгo como qualquer outra.
Quando serб compilada? Somente quando ela estiver sendo chamada em algum lugar do mesmo script. Caso ela contenha infinitos erros em seu cуdigo mas nгo seja chamada, o compilador irб ignorб-la como se ela nгo estivesse lб ou estivesse comentada.
Pode ser compartilhada com outros scripts (usando CallRemoteFunction)? Nгo.
pawn Код:
public PlayerAccount(playerid)
Essa й uma funзгo pъblica. Ela й uma funзгo como qualquer outra, mas difere-se no fato de que pode ser chamada externamente por outro script, como um filtro (fitlerscript) por exemplo, atravйs da funзгo
CallRemoteFunction.
Quando serб compilada? Desde o momento em que vocк escrevк-la em seu script. Mesmo que vocк a chame ou nгo.
* Funзхes pъblicas precisam do seu
forward para definir que podem ser acessadas atravйs de outro script
e tambйm por alguma outra frescura do compilador que atй hoje nгo descobri, rs.
Pode ser compartilhada com outros scripts (usando CallRemoteFunction)? Sim.
Re: [AJUDA]sobre Stock -
Lucas_Alemao - 29.01.2012
Quote:
Originally Posted by DarkScripter
й fбcil, й sу utilizar:
pawn Код:
if(IsPlayerInRangeOfObject(playerid, id_do_objeto))
Exemplo:
pawn Код:
new meu_objeto;
//OnFilterScriptInit meu_objeto = CreateObject(...);
// OnPlayerUpdate // EXEMPLO if(IsPlayerInRangeOfObject(playerid, meu_objeto)) { print("VOCК ESTБ EM MEU OBJETO"); }
Espero ter ajudado.
se ajudei, olhe minha assinatura ^^
|
entгo essa stock que eu criei esta correta?? quando eu compilo da warning que a funзгo nгo retorna nenhum valor, que valor eu devo colocar exatamente?
Re: [AJUDA]sobre Stock -
SuperChock - 29.01.2012
pawn Код:
stock IsPlayerInRangeOfObject(playerid, objectid)
{
new Float: X,
Float: Y,
Float: Z;
GetObjectPos(objectid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 20.0, X, Y, Z)) return 1;
return 0;
}
Assim.
Re: [AJUDA]sobre Stock -
Cristhian - 29.01.2012
pawn Код:
stock IsPlayerInRangeOfObject(playerid, objectid)
{
new
Float: X,
Float: Y,
Float: Z;
GetObjectPos(objectid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 20, X, Y, Z)) return 1;
else return 0;
}
Re: [AJUDA]sobre Stock -
Lucas_Alemao - 29.01.2012
nгo deu certo nгo....
olha a stock:
pawn Код:
stock IsPlayerInRangeOfObject(playerid, objectid)
{
new
Float: X,
Float: Y,
Float: Z;
GetObjectPos(objectid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 20, X, Y, Z)) return 1;
return 0;
}
e o comando
pawn Код:
CMD:cortar(playerid, params[])
{
#pragma unused params
if(IsPlayerInRangeOfObject(playerid,Arvore[0]))
{
SendClientMessage(playerid, AMARELO, "cortando a madeira, aguarde");
}
else if(!IsPlayerInRangeOfObject(playerid, Arvore[0]))
{
SendClientMessage(playerid, AMARELO, "vocк nгo esta perto de nenhuma arvore!");
}
return 1;
}
acontece que ele sempre manda a mensagem "vocк nгo esta perto de nenhuma arvore", mesmo que eu esteja dentro da arvore.... eu atй criei um teleporte pra setar a posiзгo do player exatamente pra posiзгo do objeto, mas msm assim nгo da
Re: [AJUDA]sobre Stock -
Ricop522 - 29.01.2012
pawn Код:
stock IsPlayerInRangeOfObject(float:radi, playerid, objectid)
{
new Float: Pos[3],
GetObjectPos(objectid, Pos[0], Pos[1], Pos[2]);
if(IsPlayerInRangeOfPoint(playerid, radi, X, Y, Z)) return 1;
return 0;
}
CMD:cortar(playerid, params[])
{
#pragma unused params
if(IsPlayerInRangeOfObject(50.0, playerid, Arvore[0]))
{
SendClientMessage(playerid, AMARELO, "cortando a madeira, aguarde");
}
else
{
SendClientMessage(playerid, AMARELO, "vocк nгo esta perto de nenhuma arvore!");
}
return 1;
}
Tenta ai, se nгo der, manda o Arvore[0] = ..
Re: [AJUDA]sobre Stock -
Lucas_Alemao - 29.01.2012
deu uns erros e warning tag mismath mas eu arrumei e mesmo assim nгo deu certo
o arvore й um objeto...
pawn Код:
Arvore[0] = CreateDynamicObject(690,2953.30004883,-3999.50000000,7.59999990,0.00000000,0.00000000,0.00000000);
Re: [AJUDA]sobre Stock -
Lуs - 29.01.2012
Quote:
Originally Posted by Lucas_Alemao
deu uns erros e warning tag mismath mas eu arrumei e mesmo assim nгo deu certo
o arvore й um objeto...
pawn Код:
Arvore[0] = CreateDynamicObject(690,2953.30004883,-3999.50000000,7.59999990,0.00000000,0.00000000,0.00000000);
|
Tem parвmetros mais do que necessбrio ae.