Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для Deni$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.06.2016
    Сообщений
    9
    Репутация:
    1 ±

    Проблема со спавном в доме (мод на Mysql)

    Здравствуйте многоуважаемые форумчане!
    У меня возникла вот такая проблема,на сервере у меня есть дом,но когда я захожу на сервер то спавнюсь в бомжатне а не у себя дома.
    В начале я думал что дом слетел,но нет,дом занят мной значит он у меня как бы есть но и как бы его нет,так-как при заходе на серв я спавнюсь не в нем.
    Пожалуйста,помогите начинающему.

     OnPlayerSpawn
    PHP код:
    public OnPlayerSpawn(playerid)
    {
        if(
    IsBotServer[playerid])
        {
            switch(
    random(7))
            {
                case 
    0SetPlayerPos(playerid961.9239,-7.8796,1001.1484);
                case 
    1SetPlayerPos(playerid957.6115,-8.0866,1001.1484);
                case 
    2SetPlayerPos(playerid957.2470,-5.2198,1001.1484);
                case 
    3SetPlayerPos(playerid958.5219,-10.3474,1001.1484);
                case 
    4SetPlayerPos(playerid962.0108,-7.6954,1001.1484);
                case 
    5SetPlayerPos(playerid961.9239,-7.8796,1001.1484);
                case 
    6SetPlayerPos(playerid959.5529,-5.2575,1001.1484);
            }
            
            
    SetPlayerInterior(playerid2);
            
    SetPlayerVirtualWorld(playeridplayerid+1);
            return 
    1;
        }
        if(
    GetPVarInt(playerid,"request_use")) return 1;
        if(
    GetPVarInt(playerid,"pteam1")) DeletePVar(playerid,"pteam1");
        
    GetPlayerPos(playerid,PlayerPos[playerid][0],PlayerPos[playerid][1],PlayerPos[playerid][2]);
        
    PosTime[playerid] += floatround(GetPlayerPing(playerid)/100);
        
    GetPlayerPos(playerid,PVHFL[playerid][0],PVHFL[playerid][1],PVHFL[playerid][2]);
        
    AC_Healthtime[playerid] = 3+floatround(GetPlayerPing(playerid)/100);
        if(
    MinerDraw[playerid] != PlayerText:-1)
        {
            
    PlayerTextDrawHide(playerid,MinerDraw[playerid]);
        }
        if(
    ZoneMafiaStatus && ZoneMafiaWarslot != -1)
        {
            if(
    p_info[playerid][tMember] == ZoneMafiaNapad || p_info[playerid][tMember] == GangZoneMafiaFraction[ZoneMafiaWarslot])
            {
                if(!
    GetPVarInt(playerid,"mpokaz"))
                {
                    
    TextDrawShowForPlayer(playerid,Bizwar2[3]);
                    
    TextDrawShowForPlayer(playerid,Bizwar2[0]);
                    
    TextDrawShowForPlayer(playerid,Bizwar2[1]);
                    
    TextDrawShowForPlayer(playerid,Bizwar2[2]);
                    
    GangZoneFlashForPlayer(playerid,GangZoneMafiaPosID[ZoneMafiaWarslot],GetMafiaColor(ZoneMafiaNapad));
                    
    SetPVarInt(playerid,"mpokaz",true);
                }
            }
        }
        
    DeletePVar(playerid,"K_Times");
        
    SetPVarInt(playerid,"PreloadAllAnims",4);
        
    PlayerWeaponTime[playerid]=12+floatround(GetPlayerPing(playerid)/100);
        
    AC_NoDeath[playerid] = false;
        
    PlayerHP[playerid] = 100.0;
        
    UpdatePlayerShield(playerid0.0);
        
    UsingShield[playerid] = false;
        
    p_info[playerid][pShield] = 0.0;
        if(
    GetPVarInt(playerid,"editadvert"))
        {
                
    gAdvert[GetPVarInt(playerid,"editadvert")-1][adCheking]=false;
        }
        if(
    IsPlayerAuthorized(playerid) == PLAYER_OFFLINE)
        {
            
    SendErr(playerid"Вам нужно авторизироватся");
            return 
    0;
        }
        if(
    IsPlayerAuthorized(playerid) == PLAYER_ONLINE)
        {
            
    SetPVarInt(playerid,"check_teleport"4);
            if(
    p_info[playerid][tMember])
             {
                 
    SetPlayerSkin(playerid,(StartWork(playerid) && !GetPVarInt(playerid,"StartWork")) ? (p_info[playerid][pChar]) : (p_info[playerid][pModel]));
            }
            else if(
    p_info[playerid][tMember] <= 0)
            {
                
    SetPlayerSkin(playeridp_info[playerid][pChar]);
            }
            
    AC_SetPlayerHealth(playerid100.0);
            
    SetPlayerSpawn(playerid);
            
    DP_SetPlayerFightingStyle(playerid);
              for(new 
    index 0index MAX_PLAYER_ATTACHED_OBJECTSindex++)
            {
                if(
    IsPlayerAttachedObjectSlotUsed(playeridindex))
                {
                    
    RemovePlayerAttachedObject(playerid,index);
                }
                if(!
    GP_AO[playerid][index][g_modelid]) continue;
                
    SetPlayerAttachedObject(playerid,index,GP_AO[playerid][index][g_modelid],GP_AO[playerid][index][g_boneid],
                
    GP_AO[playerid][index][g_fOffsetX],GP_AO[playerid][index][g_fOffsetY],GP_AO[playerid][index][g_fOffsetZ],
                
    GP_AO[playerid][index][g_fRotX],GP_AO[playerid][index][g_fRotY],GP_AO[playerid][index][g_fRotZ],
                
    0.0,0.0,0.0);
            }
            
    //if(LoveGive[playerid] > 0) UpdateHeart(playerid);
        
    }
        
    AC_plsp[playerid]=true;
        return 
    1;

    Последний раз редактировалось Deni$; 25.06.2016 в 13:52.

  2. #2
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Покажи ещё
    PHP код:
    SetPlayerSpawn(playerid); 
    Возможно у тебя спавн на респу стоит до проверки на дом, должно быть наоборот
    Т.е. последовательность измени

    PHP код:
    if(Проверка_на_дом

        
    //спавн
        
    return 1
    }
    // Здесь спавн на респу 
    Skype: vitya.saveliev


  3. Пользователь сказал cпасибо:
    Deni$ (25.06.2016)
  4. #3
    Аватар для Deni$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.06.2016
    Сообщений
    9
    Репутация:
    1 ±
    PHP код:
    SetPlayerSpawn(playerid); 
    В моде он записан только в паблике OnPlayerSpawn и все.
    На счет проверки,вот так правильно будет?

    PHP код:
        if(p_info[playerid][pHouse])
        {
            new 
    houseid;
            new 
    Float:x,Float:y,Float:z;
            
    SetPlayerInterior(playerid,houseid);
            
    SetPlayerVirtualWorld(playeridhouseid);
            
    SetPlayerPos(playerid,x,y,z);
            return 
    true;
        } 

  5. #4
    Аватар для Deni$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.06.2016
    Сообщений
    9
    Репутация:
    1 ±
    Сделал по простому,и все получилось )
    PHP код:
        if(p_info[playerid][pHouse])
        {
            
    SetPlayerSpawn(playerid);
            return 
    true;
        } 
    Как же я сразу не заметил,что в паблике OnPlayerSpawn нет проверки на дом =)
    Спасибо за помощь + твой
    Тема ЗАКРЫТА!

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •