[AJUDA] Com Spawn.
#1

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:
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 .
Eu ja fiz de tudo nessa %$#! pra tentar fazer funcionar normal e nгo consigo.
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(playeridclassid)
{
    if(
GetPVarInt(playerid"Logado") == 0)
    {
        
SetPlayerPos(playerid2173.4932,-1108.9648,25.3100);//Seta a visao da camera!
        
SetPlayerCameraPos(playerid2171.3335,-1107.0033,25.4181);// Seta a posiзгo!
        
SetPlayerCameraLookAt(playerid2146.9326,-1077.8234,41.0193);// Seta o Angulo!
        
if(fexist(Arquivo(playerid)))
        {
            
ShowPlayerDialog(playeridDLoginDIALOG_STYLE_INPUT""BRANCO2"Login"""BRANCO2"Digite sua senha abaixo para logar.""Logar""");
        }
        else
        {
            
ShowPlayerDialog(playeridDRegistroDIALOG_STYLE_INPUT""BRANCO2"Registro"""BRANCO2"Digite sua senha abaixo para se registrar""Registrar""");
        }
    }else 
SetSpawnInfo(playerid1pInfo[playerid][pSkin], 1716.5039, -1692.512813.5177183.2262, -1, -1, -1, -1, -1, -1), SpawnPlayer(playerid), OnPlayerSpawn(playerid);
    return 
false;

PHP код:
public OnPlayerSpawn(playerid)
{
    
TextDrawHideForPlayer(playeridtopblack);
    
TextDrawHideForPlayer(playeridbottomblack);
    
TextDrawHideForPlayer(playeridNomeLogoText);
    
SpawnBruno(playerid);
    return 
1;

PHP код:
SpawnBruno(playerid)
{
    
pInfo[playerid][pHospital] = 0;
    if(
mensagemlogin[playerid] == 0)
    {
        if(
pInfo[playerid][pOrg] == 2)
        {
            
SetPlayerColor(playerid0x00D900C8);
            
SendClientMessage(playeridCOR_VERDE" Vocк escolheu a Org Groove ");
            
SetPlayerSkin(playeridINI_ReadInt("SkinAtual"));
            
pInfo[playerid][pSkin] = 115;
            
SetPlayerSkin(playerid115);
            
SetPlayerPos(playerid2495.5049,-1689.8768,14.7656);
        }
        else if(
pInfo[playerid][pOrg] == 1)
        {
            
SetPlayerColor(playerid0x00A5FFFF);
            
SendClientMessage(playeridCOR_AZUL" Vocк escolheu a Org PM ");
            
SetPlayerSkin(playeridINI_ReadInt("SkinAtual"));
            
pInfo[playerid][pSkin] = 265;
            
SetPlayerSkin(playerid265);
            
SetPlayerPos(playerid1529.9481,-1662.2065,6.2188);
        }
        else if(
pInfo[playerid][pOrg] == 0)
        {
            
SetPlayerColor(playerid,0xFAFAFAFF);
            
SendClientMessage(playeridCOR_AMARELO" Vocк escolheu a org CIVIL ");
            
SetPlayerSkin(playeridINI_ReadInt("SkinAtual"));
            
pInfo[playerid][pSkin] = 23;
            
SetPlayerSkin(playerid23);
            
SetPlayerPos(playerid1716.5039, -1692.512813.5177);
        }
        if(
pInfo[playerid][pAdmin] >= 1)
        {
            
format(Stringsizeof(String), "Vocк logou com nнvel %d de administrador"pInfo[playerid][pAdmin]);
            
SendClientMessage(playeridCOR_AZULCLAROString);
        }
        
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(playeriddialogidresponselistiteminputtext[]) {
//--- 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(playeridDRegistroDIALOG_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) < || strlen(inputtext) > 20)//Se a senha tiver menos do que 5 dнgitos irб returnar essa mensagem, junto com o dialog box
                    
return ShowPlayerDialog(playeridDRegistroDIALOG_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(playeridDLoginDIALOG_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(playeridDLoginDIALOG_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(inputtextstring[playerid], false))//Caso o jogador entre com a senha errada
                        
return ShowPlayerDialog(playeridDLoginDIALOG_STYLE_INPUT""VERMELHO"Senha errada :("""BRANCO2"Digite sua senha abaixo para logar.""Logar""");
                    
SetPlayerScore(playeridINI_ReadInt("Nivel"));//Irб setar o Nivel do player.
                    
ResetPlayerMoney(playerid);//Ira resetar a grana do player, mas nгo afeta no dinheiro.
                    
GivePlayerMoney(playeridINI_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(playeridINI_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(playeridCOR_VERMELHO" Logado com sucesso ");
                    if(
pInfo[playerid][pTutorial] == 0)
                    {
                        
SetPlayerPos(playerid2173.4932,-1108.9648,25.3100);//Seta a visao da camera!
                        
SetPlayerCameraPos(playerid2171.3335,-1107.0033,25.4181);// Seta a posiзгo!
                        
SetPlayerCameraLookAt(playerid2146.9326,-1077.8234,41.0193);// Seta o Angulo!
                        
format(Stringsizeof(String), "Olб "VERDE"%s.\n{FFFFFF} Precisamos saber se vocк й {005FFF}Homem ou {FFBEFF}Mulher\n{FFFFFF}Informe seu sexo abaixo!"gNome(playerid));
                         
ShowPlayerDialog(playeridEscolhendoSexoDIALOG_STYLE_MSGBOX"{FFCC00}Escolha seu Sexo!"String"Masculino""Feminino");
                    }
                     
SetSpawnInfo(playerid1pInfo[playerid][pSkin], 1716.5039, -1692.512813.5177183.2262, -1, -1, -1, -1, -1, -1), SpawnPlayer(playerid), OnPlayerSpawn(playerid);
                }
            }
        } 
Reply
#2

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
Reply
#3

Nгo foi .
Eu spawno e nasзo no respawn dos civis (org 0).
Reply
#4

PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
    
SpawnBruno(playerid);
    return 
1;

Tenta ai :B
Reply
#5

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:
Reply
#6

Tenta entгo.

pawn Код:
public SetPlayerSpawn(playerid)
{
    SpawnBruno(playerid);
    return 1;
}
Reply
#7

Tem certeza que й public SetPlayerSpawn?
Porque ela nгo existe.
Reply
#8

Cria ela entгo :B
Reply
#9

A que existe й a OnPlayerSpawn.
E dentro dela ta exatamente isso rs.

PHP код:
public OnPlayerSpawn(playerid)
{
    
TextDrawHideForPlayer(playeridtopblack);
    
TextDrawHideForPlayer(playeridbottomblack);
    
TextDrawHideForPlayer(playeridNomeLogoText);
    
SpawnBruno(playerid);
    return 
1;

Й a mesma coisa '-'.
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)