[DUV] Quando morre, escolher skin de novo '-' -
Xeretta - 11.11.2009
Olб povo, meu GM й de RPG, nгo й GF, nгo sei qual suas origens, sу sei que me deram ele, e eu editei.
Й o seguinte, no 0.3, nгo й com todos os players que acontece isso, quando morre, aparece aquela tela para escolher o skin, o player fica congelado aonde ele estб setado para nascer (em sua casa), e aparece lб pra clicar, (<< , >> ou SPAWN), alguйm sabe porque dб isso ? Ainda nгo mexi com as funзхes do 0.3, entгo nгo tenho noзгo do que pode ser '-' OnPlayerRequestClass ? OnPlayerSpawn ? OnPlayerDeath ? Help ._.
O certo era nascer no hospital, mas nгo nasce '-'
Re: [DUV] Quando morre, escolher skin de novo '-' -
Toribio - 11.11.2009
Tenta algo como isso no OnPlayerDeath:
pawn Code:
SetSpawnInfo(playerid, 0, GetPlayerSkin(playerid), x, y, z, a, 0, 0, 0, 0, 0, 0);
Onde "x", "y", "z" sгo as coordenadas do hospital, e "a" й o вngulo em que o jogador nasce, assim quando ele morrer, o prуximo spawn dele й suposto a ser esse.
Re: [DUV] Quando morre, escolher skin de novo '-' -
Xeretta - 11.11.2009
Tem isso aн, mas estгo assim
pawn Code:
if(GetClosestHospital(playerid) == 0){
SetSpawnInfo(playerid, 1, udb_getSkin(PlayerName(playerid)), -2651.6501, 634.4510, 14.4531, 180.0000, 0, 0, 0, 0, 0, 0);
}
if(GetClosestHospital(playerid) == 1){
SetSpawnInfo(playerid,1,udb_getSkin(PlayerName(playerid)),1173.5842,-1324.5615,15.1953,278.4624,0,0,0,0,0,0);
}
if(GetClosestHospital(playerid) == 2){
SetSpawnInfo(playerid,1,udb_getSkin(PlayerName(playerid)),2031.9415,-1404.3578,17.2614,165.8180,0,0,0,0,0,0);
}
if(GetClosestHospital(playerid) == 3){
SetSpawnInfo(playerid,1,udb_getSkin(PlayerName(playerid)),1582.5615,1768.7921,10.8203,93.7454,0,0,0,0,0,0);
}
Devo tirar esse if ?
Re: [DUV] Quando morre, escolher skin de novo '-' -
[VGS]Protioso - 11.11.2009
Manda o OnPlayerDeath inteiro, pode ter alguma coisa nele que impeзa que chegue nesta funзгo aн (talvez um return).
Re: [DUV] Quando morre, escolher skin de novo '-' -
Xeretta - 11.11.2009
Okay
Ele й todo bagunзado ._.
Look:
http://pastebin.com/m57e83d05
Re: [DUV] Quando morre, escolher skin de novo '-' -
Toribio - 11.11.2009
Agora passa o seu GetClosestHospital, acho que ai, saberemos o erro.
Re: [DUV] Quando morre, escolher skin de novo '-' -
Xeretta - 11.11.2009
pawn Code:
public GetClosestHospital(playerid)
{
if(!IsPlayerConnected(playerid)){
return -1;
}
new Float:prevdist = 100000.000;
new prevhosp;
for(new hospid = 0; hospid < 4; hospid++){
new Float:dist;
if(hospid == 0){
dist = GetPlayerDistanceToPoint(playerid,-2651.6501,634.1177);
}
else if(hospid == 1){
dist = GetPlayerDistanceToPoint(playerid,1173.5842,-1324.5615);
}
else if(hospid == 2){
dist = GetPlayerDistanceToPoint(playerid,2031.9415,-1404.3578);
}
else if(hospid == 3){
dist = GetPlayerDistanceToPoint(playerid,1582.5615,1768.7921);
}
if((dist < prevdist)){
prevdist = dist;
prevhosp = hospid;
}
}
return prevhosp;
}
Re: [DUV] Quando morre, escolher skin de novo '-' -
[VGS]Protioso - 11.11.2009
Manda o OnPlayerSpawn e OnPlayerRequestClass (este ъltimo mais importante)...
Re: [DUV] Quando morre, escolher skin de novo '-' -
Toribio - 11.11.2009
Se nгo haver nada no OnPlaerSpawn que esteja interferindo o SetSpawnInfo, entгo o problema sгo as coordenadas, caso nгo seja, tenta isso:
pawn Code:
new Float:hospital[4][2] =
{
{-2651.650, 634.1177},
{1173.5842, -1324.5615},
{2031.9415, -1404.3578},
{1582.5615, 1768.7921}
};
public GetClosestHospital(playerid)
{
if(!IsPlayerConnected(playerid))
{
return -1;
}
new Float:prevdist = 0x7F800000, prevhosp;
for(new hospid = 0; hospid < sizeof hospital; hospid++)
{
new Float:dist;
dist = GetPlayerDistanceToPoint(playerid, hospital[hospid][0], hospital[hospid][1]);
if(dist < prevdist)
{
prevdist = dist;
prevhosp = hospid;
}
}
return prevhosp;
}
Re: [DUV] Quando morre, escolher skin de novo '-' -
Xeretta - 11.11.2009
Ok, vou tentar, depois posto aqui o resultado, Thanks