Ae, ola a tudos, acho que quase nenhum tem conhecimento de minha pessoa, somente o viado do getulio, meu amor chakal é meu amigo giovani kkk.
Estou com a neccessidade de fazer um respawn custom pra um evento que fiz (evento pvp), mas, nao sei qual funçao é a encarregada de gerar o respawn do char, pelo que olhei nas decompilaçoes do gs s2, a funçao que faz isso é gObjSetState(), entao, o que eu fiz foi o siguente:
Código PHP:
void gObjSetStateEx() //hook na jmp
{
gObjSetState(); //chamada na funçao original, apos a funçao fazer tudo (o respawn do char incluido), eu prosigo a mover o char pra onde eu quero.
if(EPVP->Activo == 1 && EPVP->Estado == Estado_Iniciado)
{
for(int n=OBJECT_MIN;n<OBJECT_MAX;n++)
{
OBJECTSTRUCT *gObj = (OBJECTSTRUCT*)OBJECT_POINTER(n);
LPKIND lpKind = &kObj[n];
if( gObj->Connected > 2 && lpKind->ePVP_Muerto == 1 && lpKind->ePVP_Jugando > 0)
{
if(lpKind->ePVP_Muertes < EPVP->MaxRespawn)
{
gObjTeleport(gObj->aIndex,17,lpKind->ePVP_X,lpKind->ePVP_Y);
lpKind->ePVP_Muerto = 0;
}
else
{
gObjTeleport(gObj->aIndex,0,115+Funcion->Random(10),115+Funcion->Random(10));
}
}
}
}
}
Ate ai tudo certo, kk, o que acontece é que o char é respawneado na zona que eu quero, mas, ao segundo é teleportado novamente pra o lugar default do respawn do mapa, é como se tivesse algum tipo do "safetime" pra mover o char ou fazer alguma açao.
Desculpas pelo pt-br fraça, nao falo ele, somente com meus amigos citados acima ^^
No caso precissem de alguma outra data, so perguntar que eu vou deixar ela.
Desde ja muito obrigado!