13.08.2011, 16:42
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 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;
}
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;
}
{
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);
}
}
}