[AJUDA] Com Spawn. -
Bruno Pereira - 13.08.2011
Bom galera, to a muito tempo tentando arrumar essa %&@# filha da @#&% que ta me deixando doido.
Tipo, to fazendo um GM do 0, ai sabem que tem aquele bug do Sa:mp na hora do spawn neh, ai tem que usar o
SetSpawnInfo, sei la que bug й esse, o MiTToS que me falo, eu sу sei que meu GM ta tenso.
O problema й:
Tipo, eu fiz 3 orgs de exemplo, ai na hora que o cara spawna verifica se ele й da Org 2, se for da 2 ele spawna em 1 lugar, se for da 1 spawna em outro, se for da org 0 ele spawna no respawn civil.
Mas o problema й que:
1є Quando eu logo ele spawna certinho no lugar de cada Org, mas depois se eu morrer ele sу comeзa a spawna no respawn civil


.
2є Eu ja fiz de tudo nessa %$#! pra tentar fazer funcionar normal e nгo consigo.
3є Fui testar outra forma agora, criei uma varбvel de "hospital" pra testar aqui, ai toda vez que o cara morre checa se ele "esta" no hospital, se ele nгo estiver no hospital ai ele sera setado pra sua HQ, mas ele sу nasce no RESPAWN CIVIL AAAAAAAAAAAAAAAAAAAAAA!
Aqui todas minhas formas de spawn:
PHP код:
public OnPlayerRequestClass(playerid, classid)
{
if(GetPVarInt(playerid, "Logado") == 0)
{
SetPlayerPos(playerid, 2173.4932,-1108.9648,25.3100);//Seta a visao da camera!
SetPlayerCameraPos(playerid, 2171.3335,-1107.0033,25.4181);// Seta a posiзгo!
SetPlayerCameraLookAt(playerid, 2146.9326,-1077.8234,41.0193);// Seta o Angulo!
if(fexist(Arquivo(playerid)))
{
ShowPlayerDialog(playerid, DLogin, DIALOG_STYLE_INPUT, ""BRANCO2"Login", ""BRANCO2"Digite sua senha abaixo para logar.", "Logar", "");
}
else
{
ShowPlayerDialog(playerid, DRegistro, DIALOG_STYLE_INPUT, ""BRANCO2"Registro", ""BRANCO2"Digite sua senha abaixo para se registrar", "Registrar", "");
}
}else SetSpawnInfo(playerid, 1, pInfo[playerid][pSkin], 1716.5039, -1692.5128, 13.5177, 183.2262, -1, -1, -1, -1, -1, -1), SpawnPlayer(playerid), OnPlayerSpawn(playerid);
return false;
}
PHP код:
public OnPlayerSpawn(playerid)
{
TextDrawHideForPlayer(playerid, topblack);
TextDrawHideForPlayer(playerid, bottomblack);
TextDrawHideForPlayer(playerid, NomeLogoText);
SpawnBruno(playerid);
return 1;
}
PHP код:
SpawnBruno(playerid)
{
pInfo[playerid][pHospital] = 0;
if(mensagemlogin[playerid] == 0)
{
if(pInfo[playerid][pOrg] == 2)
{
SetPlayerColor(playerid, 0x00D900C8);
SendClientMessage(playerid, COR_VERDE, " Vocк escolheu a Org Groove ");
SetPlayerSkin(playerid, INI_ReadInt("SkinAtual"));
pInfo[playerid][pSkin] = 115;
SetPlayerSkin(playerid, 115);
SetPlayerPos(playerid, 2495.5049,-1689.8768,14.7656);
}
else if(pInfo[playerid][pOrg] == 1)
{
SetPlayerColor(playerid, 0x00A5FFFF);
SendClientMessage(playerid, COR_AZUL, " Vocк escolheu a Org PM ");
SetPlayerSkin(playerid, INI_ReadInt("SkinAtual"));
pInfo[playerid][pSkin] = 265;
SetPlayerSkin(playerid, 265);
SetPlayerPos(playerid, 1529.9481,-1662.2065,6.2188);
}
else if(pInfo[playerid][pOrg] == 0)
{
SetPlayerColor(playerid,0xFAFAFAFF);
SendClientMessage(playerid, COR_AMARELO, " Vocк escolheu a org CIVIL ");
SetPlayerSkin(playerid, INI_ReadInt("SkinAtual"));
pInfo[playerid][pSkin] = 23;
SetPlayerSkin(playerid, 23);
SetPlayerPos(playerid, 1716.5039, -1692.5128, 13.5177);
}
if(pInfo[playerid][pAdmin] >= 1)
{
format(String, sizeof(String), "Vocк logou com nнvel %d de administrador", pInfo[playerid][pAdmin]);
SendClientMessage(playerid, COR_AZULCLARO, String);
}
mensagemlogin[playerid] = 1;
}
return 1;
}
[php]public OnPlayerDeath(playerid, killerid, reason)
{
if(pInfo[playerid][pHospital] == 0)
{
SetSpawnInfo(playerid, 1, pInfo[playerid][pSkin], 1716.5039, -1692.5128, 13.5177, 183.2262, 0, 0, 0, 0, 0, 0), SpawnBruno(playerid);
}
return 1;
}
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
//--- Inicio da public
switch(dialogid)
{
case DRegistro:
{
if(!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext))//Se a senha estiver em branco irб returnar essa mensagem, junto com o dialog box
return ShowPlayerDialog(playerid, DRegistro, DIALOG_STYLE_INPUT, ""BRANCO2"Registro", ""VERMELHO"Sua senha estб no formato incorreto!\n"BRANCO2"Digite sua senha abaixo.\n\n\n"AMARELO"Vocк nгo digitou nada.", "Registrar", "");
if(strlen(inputtext) < 5 || strlen(inputtext) > 20)//Se a senha tiver menos do que 5 dнgitos irб returnar essa mensagem, junto com o dialog box
return ShowPlayerDialog(playerid, DRegistro, DIALOG_STYLE_INPUT, ""BRANCO2"Registro", ""VERMELHO"Sua senha estб no formato incorreto!\n"BRANCO2"Digite sua senha abaixo.\n\n\n"AMARELO"Sua senha deve conter no mнnimo 5 e no mбximo 20 dнgitos.", "Registrar", "");
if(INI_Open(Arquivo(playerid)))
{
INI_WriteString("Senha",inputtext);//Aqui estarгo sendo salvos os dados da conta do jogador, tais como a senha, admin, Nivel e etc..
INI_WriteInt("Admin", 0);
INI_WriteInt("Nivel", NIVELINICIO);
INI_WriteInt("Dinheiro", DINHEIROINICIO);
INI_WriteInt("Org", 0);
INI_WriteInt("SkinAtual", 23);
INI_WriteInt("Banido", 0);
INI_WriteInt("Tutorial", 0);
INI_WriteInt("Sexo", 0);
INI_WriteInt("Pais", 0);
INI_Save();//Toda vez que abrir algum arquivo й importante salvar
INI_Close();//E logo em seguida fecha-lo.
ShowPlayerDialog(playerid, DLogin, DIALOG_STYLE_INPUT, ""BRANCO2"Login", ""BRANCO2"Digite sua senha abaixo para logar.", "Logar", "");
}
}
}
case DLogin:
{
if(!response)
return Kick(playerid);
if(response)
{
if(!strlen(inputtext))
return ShowPlayerDialog(playerid, DLogin, DIALOG_STYLE_INPUT, ""BRANCO2"Login", ""BRANCO2"Digite sua senha abaixo para logar.", "Logar", "");
if(INI_Open(Arquivo(playerid)))
{
INI_ReadString(string[playerid], "Senha", 20);
if(strcmp(inputtext, string[playerid], false))//Caso o jogador entre com a senha errada
return ShowPlayerDialog(playerid, DLogin, DIALOG_STYLE_INPUT, ""VERMELHO"Senha errada :(", ""BRANCO2"Digite sua senha abaixo para logar.", "Logar", "");
SetPlayerScore(playerid, INI_ReadInt("Nivel"));//Irб setar o Nivel do player.
ResetPlayerMoney(playerid);//Ira resetar a grana do player, mas nгo afeta no dinheiro.
GivePlayerMoney(playerid, INI_ReadInt("Dinheiro"));//Irб dar o dinheiro do jogador
pInfo[playerid][pAdmin] = INI_ReadInt("Admin");//Irб dar o nнvel do admin
pInfo[playerid][pOrg] = INI_ReadInt("Org"); // Irб dar a Org que o player pertence!
SetPlayerSkin(playerid, INI_ReadInt("SkinAtual")); // Irб dar a Skin que o player pertence!
pInfo[playerid][pTutorial] = INI_ReadInt("Tutorial");// Ira ver se o cara ta banido!
pInfo[playerid][pSexo] = INI_ReadInt("Sexo");// Ira ver se o cara ta banido!
pInfo[playerid][pPais] = INI_ReadInt("Pais");// Ira ver se o cara ta banido!
pInfo[playerid][pBanido] = INI_ReadInt("Banido");// Ira ver se o cara ta banido!
INI_Close();
SetPVarInt(playerid, "Logado", 1);
SendClientMessage(playerid, COR_VERMELHO, " Logado com sucesso ");
if(pInfo[playerid][pTutorial] == 0)
{
SetPlayerPos(playerid, 2173.4932,-1108.9648,25.3100);//Seta a visao da camera!
SetPlayerCameraPos(playerid, 2171.3335,-1107.0033,25.4181);// Seta a posiзгo!
SetPlayerCameraLookAt(playerid, 2146.9326,-1077.8234,41.0193);// Seta o Angulo!
format(String, sizeof(String), "Olб "VERDE"%s.\n{FFFFFF} Precisamos saber se vocк й {005FFF}Homem ou {FFBEFF}Mulher\n{FFFFFF}Informe seu sexo abaixo!", gNome(playerid));
ShowPlayerDialog(playerid, EscolhendoSexo, DIALOG_STYLE_MSGBOX, "{FFCC00}Escolha seu Sexo!", String, "Masculino", "Feminino");
}
SetSpawnInfo(playerid, 1, pInfo[playerid][pSkin], 1716.5039, -1692.5128, 13.5177, 183.2262, -1, -1, -1, -1, -1, -1), SpawnPlayer(playerid), OnPlayerSpawn(playerid);
}
}
}
Re: [AJUDA] Com Spawn. -
ViniBorn - 13.08.2011
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
if(GetPVarInt(playerid, "Logado") == 0)
{
SetPlayerPos(playerid, 2173.4932,-1108.9648,25.3100);//Seta a visao da camera!
SetPlayerCameraPos(playerid, 2171.3335,-1107.0033,25.4181);// Seta a posiзгo!
SetPlayerCameraLookAt(playerid, 2146.9326,-1077.8234,41.0193);// Seta o Angulo!
if(fexist(Arquivo(playerid)))
{
ShowPlayerDialog(playerid, DLogin, DIALOG_STYLE_INPUT, ""BRANCO2"Login", ""BRANCO2"Digite sua senha abaixo para logar.", "Logar", "");
}
else
{
ShowPlayerDialog(playerid, DRegistro, DIALOG_STYLE_INPUT, ""BRANCO2"Registro", ""BRANCO2"Digite sua senha abaixo para se registrar", "Registrar", "");
}
}
else
SpawnPlayer(playerid);
return false;
}
Tira as coisas do OnPlayerDeath
Re: [AJUDA] Com Spawn. -
Bruno Pereira - 13.08.2011
Nгo foi

.
Eu spawno e nasзo no respawn dos civis (org 0).
Re: [AJUDA] Com Spawn. -
Macintosh - 13.08.2011
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
SpawnBruno(playerid);
return 1;
}
Tenta ai :B
Re: [AJUDA] Com Spawn. -
Bruno Pereira - 13.08.2011
Nгo foi

aff, olha oque sempre acontece:
Ele sу spawna certo depois que ele loga, ai se ele morrer ele ja comeзa a spawnar no respawn civil FUCK!
SS's:
http://i.imgur.com/wTqjl.png
http://i.imgur.com/tgTlq.png
FUCK D:
Re: [AJUDA] Com Spawn. -
Macintosh - 13.08.2011
Tenta entгo.
pawn Код:
public SetPlayerSpawn(playerid)
{
SpawnBruno(playerid);
return 1;
}
Re: [AJUDA] Com Spawn. -
Bruno Pereira - 13.08.2011
Tem certeza que й
public SetPlayerSpawn?
Porque ela nгo existe.
Re: [AJUDA] Com Spawn. -
Macintosh - 13.08.2011
Cria ela entгo :B
Re: [AJUDA] Com Spawn. -
Bruno Pereira - 13.08.2011
A que existe й a OnPlayerSpawn.
E dentro dela ta exatamente isso rs.
PHP код:
public OnPlayerSpawn(playerid)
{
TextDrawHideForPlayer(playerid, topblack);
TextDrawHideForPlayer(playerid, bottomblack);
TextDrawHideForPlayer(playerid, NomeLogoText);
SpawnBruno(playerid);
return 1;
}
Й a mesma coisa '-'.
Re: [AJUDA] Com Spawn. -
ViniBorn - 13.08.2011
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(pInfo[playerid][pHospital] == 0)
{
SetSpawnInfo(playerid, 1, pInfo[playerid][pSkin], 1716.5039, -1692.5128, 13.5177, 183.2262, 0, 0, 0, 0, 0, 0), SpawnBruno(playerid);
}
return 1;
}
Isso aqui tб setando o SpawnInfo do jogador cada vez que ele morre, e as coordenadas sгo exatamente as do spawn civil.
Tira esse SetSpawnInfo do OnPlayerDeath. Nгo precisa.