[Ajuda] Problema com Virtual World
#1

Tenho duas auto escolas, uma em ls e outra em sf, estou com problemas na saнda da auto escola de ls, ele entra no interior porйm na saнda ele vai parar na saнda da auto escola de san fierro ao invйs de voltar para ls, nгo sei o que fazer os Worlds estгo diferentes e nada muda ! alguйm me ajude por favor:

Auto escola de sf
Код:
else if (PlayerToPoint(2.0, playerid,-2026.5885,-101.5360,35.1641))
        	{
	    	//entrada auto escola sf


	     		SetPlayerPos(playerid, -2029.798339,-106.675910,1035.171875);
	    		SetPlayerVirtualWorld(playerid, 2);
	    		SetPlayerInterior(playerid, 3);
	    		SetPlayerFacingAngle(playerid, 0);
	    	}


                else if (PlayerToPoint(2.0, playerid,-2029.798339,-106.675910,1035.171875))
        	{
	    	//saida auto escola sf


	     		SetPlayerPos(playerid, -2026.5885,-101.5360,35.1641);
	    		SetPlayerVirtualWorld(playerid, 0);
	    		SetPlayerInterior(playerid, 0);
	    		SetPlayerFacingAngle(playerid, 0);
	    	}
Auto escola de ls
Код:
else if (PlayerToPoint(2.0, playerid,1976.3356,-2036.6439,13.5469))
        	{
	    	//entrada auto escola ls


	     		SetPlayerPos(playerid, -2029.798339,-106.675910,1035.171875);
	    		SetPlayerVirtualWorld(playerid, 3);
	    		SetPlayerInterior(playerid, 3);
	    		SetPlayerFacingAngle(playerid, 0);
	    	}


                else if (PlayerToPoint(2.0, playerid,-2029.798339,-106.675910,1035.171875))
        	{
	    	//saida auto escola ls


	     		SetPlayerPos(playerid, 1976.3356,-2036.6439,13.5469);
	    		SetPlayerVirtualWorld(playerid, 0);
	    		SetPlayerInterior(playerid, 0);
	    		SetPlayerFacingAngle(playerid, 0);
	    	}
Reply
#2

PHP код:
new AutoLS[MAX_PLAYER_NAME];//TOPO
new AutoSF[MAX_PLAYER_NAME];//TOPO 
Entrada nas auto escolas
PHP код:
else if (PlayerToPoint(2.0playerid,-2026.5885,-101.5360,35.1641))
    {
    
//entrada auto escola sf
    
AutoSF[playerid]=1;//definimos que ele estб na auto escola de SF
    
SetPlayerPos(playerid, -2029.798339,-106.675910,1035.171875);
    
SetPlayerVirtualWorld(playerid2);
    
SetPlayerInterior(playerid3);
    
SetPlayerFacingAngle(playerid0);
    }
else if (
PlayerToPoint(2.0playerid,1976.3356,-2036.6439,13.5469))
    {
    
//entrada auto escola ls
    
AutoLS[playerid]=1;//definimos que ele estб na auto escola de LS
    
SetPlayerPos(playerid, -2029.798339,-106.675910,1035.171875);
    
SetPlayerVirtualWorld(playerid3);
    
SetPlayerInterior(playerid3);
    
SetPlayerFacingAngle(playerid0);
    } 
Saнda das auto escolas

PHP код:
else if (PlayerToPoint(2.0playerid,-2029.798339,-106.675910,1035.171875))
    {
        
//saida auto escola sf
        
if(AutoSF[playerid]==1)
        {
            
SetPlayerPos(playerid, -2026.5885,-101.5360,35.1641);
            
SetPlayerVirtualWorld(playerid0);
            
SetPlayerInterior(playerid0);
            
SetPlayerFacingAngle(playerid0);
            
AutoSF[playerid]=0;
        }
    }
    else if (
PlayerToPoint(2.0playerid,-2029.798339,-106.675910,1035.171875))
    {
        
//saida auto escola ls
        
if(AutoLS[playerid]==1)
        {
            
SetPlayerPos(playerid1976.3356,-2036.6439,13.5469);
            
SetPlayerVirtualWorld(playerid0);
            
SetPlayerInterior(playerid0);
            
SetPlayerFacingAngle(playerid0);
            
AutoLS[playerid]=0;
        }
    } 
Entenda ou morra

AutoSF[playerid]=1; Se o Player entrar na auto escola de SF Adicionamos o 1 na variбvel.
if(AutoSF[playerid]==1) Verifica se ele estб com o 1 na variбvel de saнda da auto escola de SF.

A mesma coisa em AutoLS.
Reply
#3

Quote:
Originally Posted by DarkBr
Посмотреть сообщение
PHP код:
new AutoLS[MAX_PLAYER_NAME];//TOPO
new AutoSF[MAX_PLAYER_NAME];//TOPO 
Entrada nas auto escolas
PHP код:
else if (PlayerToPoint(2.0playerid,-2026.5885,-101.5360,35.1641))
    {
    
//entrada auto escola sf
    
AutoSF[playerid]=1;//definimos que ele estб na auto escola de SF
    
SetPlayerPos(playerid, -2029.798339,-106.675910,1035.171875);
    
SetPlayerVirtualWorld(playerid2);
    
SetPlayerInterior(playerid3);
    
SetPlayerFacingAngle(playerid0);
    }
else if (
PlayerToPoint(2.0playerid,1976.3356,-2036.6439,13.5469))
    {
    
//entrada auto escola ls
    
AutoLS[playerid]=1;//definimos que ele estб na auto escola de LS
    
SetPlayerPos(playerid, -2029.798339,-106.675910,1035.171875);
    
SetPlayerVirtualWorld(playerid3);
    
SetPlayerInterior(playerid3);
    
SetPlayerFacingAngle(playerid0);
    } 
Saнda das auto escolas

PHP код:
else if (PlayerToPoint(2.0playerid,-2029.798339,-106.675910,1035.171875))
    {
        
//saida auto escola sf
        
if(AutoSF[playerid]==1)
        {
            
SetPlayerPos(playerid, -2026.5885,-101.5360,35.1641);
            
SetPlayerVirtualWorld(playerid0);
            
SetPlayerInterior(playerid0);
            
SetPlayerFacingAngle(playerid0);
            
AutoSF[playerid]=0;
        }
    }
    else if (
PlayerToPoint(2.0playerid,-2029.798339,-106.675910,1035.171875))
    {
        
//saida auto escola ls
        
if(AutoLS[playerid]==1)
        {
            
SetPlayerPos(playerid1976.3356,-2036.6439,13.5469);
            
SetPlayerVirtualWorld(playerid0);
            
SetPlayerInterior(playerid0);
            
SetPlayerFacingAngle(playerid0);
            
AutoLS[playerid]=0;
        }
    } 
Entenda ou morra

AutoSF[playerid]=1; Se o Player entrar na auto escola de SF Adicionamos o 1 na variбvel.
if(AutoSF[playerid]==1) Verifica se ele estб com o 1 na variбvel de saнda da auto escola de SF.

A mesma coisa em AutoLS.
Nгo resultou, ao entrar nгo й mais possнvel sair da auto escola de ls, nгo da pra sair
Reply
#4

Manda o Cуdigo completo da PickUpPick
Reply
#5

Quote:
Originally Posted by DarkBr
Посмотреть сообщение
Manda o Cуdigo completo da PickUpPick
Estгo inclusos em um comando :_.

Код:
public OnPlayerPickUpPickup(playerid, pickupid)
{
    new string[MAX_STRING];
    if(pickupid == pickparachute)
    {
        GivePlayerWeapon(playerid, 46, 1);
        return 1;
    }
    if(pickupid == pickup_GAmonia[playerid])
    {
        PlayerInfo[playerid][pGam]++;
        PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
        DestroyPickup(pickup_GAmonia[playerid]);
        SendClientMessage(playerid, COLOR_GRAD4, "Garrafa de Amonia Coletada!");
		pickup_GAmonia[playerid] = 0;
		pickup_Amonia[playerid] = 0;
		pickup_Coca[playerid] = 0;
		pickup_Calcio[playerid] = 0;
		pickup_Manual[playerid] = 0;
		pickup_Oxido[playerid] = 0;
		return 1;
    }
    if(pickupid == pickup_Amonia[playerid])
    {
        PlayerInfo[playerid][pVam]++;
        PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
        DestroyPickup(pickup_Amonia[playerid]);
        SendClientMessage(playerid, COLOR_GRAD4, "Amonia Coletada!");
		pickup_GAmonia[playerid] = 0;
		pickup_Amonia[playerid] = 0;
		pickup_Coca[playerid] = 0;
		pickup_Calcio[playerid] = 0;
		pickup_Manual[playerid] = 0;
		pickup_Oxido[playerid] = 0;
		return 1;
    }
    if(pickupid == pickup_Coca[playerid])
    {
        PlayerInfo[playerid][pPFc]++;
        PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
        DestroyPickup(pickup_Coca[playerid]);
        SendClientMessage(playerid, COLOR_GRAD4, "Folhas de Coca Coletadas!");
		pickup_GAmonia[playerid] = 0;
		pickup_Amonia[playerid] = 0;
		pickup_Coca[playerid] = 0;
		pickup_Calcio[playerid] = 0;
		pickup_Manual[playerid] = 0;
		pickup_Oxido[playerid] = 0;
		return 1;
    }
    if(pickupid == pickup_Manual[playerid])
    {
        PlayerInfo[playerid][pMcr]++;
        PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
        DestroyPickup(pickup_Manual[playerid]);
        SendClientMessage(playerid, COLOR_GRAD4, "Manual Coletado!");
  		pickup_GAmonia[playerid] = 0;
		pickup_Amonia[playerid] = 0;
		pickup_Coca[playerid] = 0;
		pickup_Calcio[playerid] = 0;
		pickup_Manual[playerid] = 0;
		pickup_Oxido[playerid] = 0;
		return 1;
    }
    if(pickupid == pickup_Oxido[playerid])
    {
        PlayerInfo[playerid][pVsc]++;
        PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
        DestroyPickup(pickup_Oxido[playerid]);
        SendClientMessage(playerid, COLOR_GRAD4, "Soda Caustica Coletada!");
		pickup_GAmonia[playerid] = 0;
		pickup_Amonia[playerid] = 0;
		pickup_Coca[playerid] = 0;
		pickup_Calcio[playerid] = 0;
		pickup_Manual[playerid] = 0;
		pickup_Oxido[playerid] = 0;
		return 1;
    }
    if(pickupid == pickup_Calcio[playerid])
    {
        PlayerInfo[playerid][pCoc]++;
        PlayerPlaySound(playerid, 1139, 0.0, 0.0, 0.0);
        DestroyPickup(pickup_Calcio[playerid]);
        SendClientMessage(playerid, COLOR_GRAD4, "Capsula de Уxido de Calcio Coletada!");
		pickup_GAmonia[playerid] = 0;
		pickup_Amonia[playerid] = 0;
		pickup_Coca[playerid] = 0;
		pickup_Calcio[playerid] = 0;
		pickup_Manual[playerid] = 0;
		pickup_Oxido[playerid] = 0;
		return 1;
    }
	if(PlayerInfo[playerid][pEmprego] == 21)
	{
		if(CP[playerid] == 99 && GetPVarInt(playerid, "AGR_Pegou"))
		{
	 		if(pickupid == PickupAGR[0])
		    {
	            TotalAGR[0] ++;
	            format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[0],Max_AGR);
	            if(TotalAGR[0] >= Max_AGR){
	                PagarAGR();
	                TotalAGR[0]=0;
	                format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[0],Max_AGR);
				}
				Update3DTextLabelText(TextsAGR[0], COLOR_YELLOW, string);
				CP[playerid] = 0;
				RemovePlayerAttachedObject(playerid, Slot_Planta);
				GameTextForPlayer(playerid, "_~n~_~n~_~n~_~n~~w~Semente guardada~n~~g~+R$500", 5000, 5);
				GiveDinheiro(playerid, 500);
				SetPVarInt(playerid, "AGR_Pegou", 0);
				DisablePlayerCheckpoint(playerid);
			}
		   	if(pickupid == PickupAGR[1])
		    {
	            TotalAGR[1] ++;
	            format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[1],Max_AGR);
      	        if(TotalAGR[1] >= Max_AGR){
	                PagarAGR();
	                TotalAGR[1]=0;
	                format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[1],Max_AGR);
				}
				Update3DTextLabelText(TextsAGR[1], COLOR_YELLOW, string);
				CP[playerid] = 0;
				RemovePlayerAttachedObject(playerid, Slot_Planta);
				GameTextForPlayer(playerid, "_~n~_~n~_~n~_~n~~w~Semente guardada~n~~g~+R$500", 5000, 5);
				GiveDinheiro(playerid, 500);
				SetPVarInt(playerid, "AGR_Pegou", 0);
				DisablePlayerCheckpoint(playerid);
			}
		    if(pickupid == PickupAGR[2])
		    {
	            TotalAGR[2] ++;
	            format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[2],Max_AGR);
      	        if(TotalAGR[2] >= Max_AGR){
	                PagarAGR();
	                TotalAGR[2]=0;
	                format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[2],Max_AGR);
				}
				Update3DTextLabelText(TextsAGR[2], COLOR_YELLOW, string);
				CP[playerid] = 0;
				RemovePlayerAttachedObject(playerid, Slot_Planta);
				GameTextForPlayer(playerid, "_~n~_~n~_~n~_~n~~w~Semente guardada~n~~g~+R$500", 5000, 5);
				GiveDinheiro(playerid, 500);
				SetPVarInt(playerid, "AGR_Pegou", 0);
			}
	  		if(pickupid == PickupAGR[3])
		    {
	            TotalAGR[3] ++;
	            format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[3],Max_AGR);
      	        if(TotalAGR[3] >= Max_AGR){
	                PagarAGR();
	                TotalAGR[3]=0;
	                format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[3],Max_AGR);
				}
				Update3DTextLabelText(TextsAGR[3], COLOR_YELLOW, string);
				CP[playerid] = 0;
				RemovePlayerAttachedObject(playerid, Slot_Planta);
				GameTextForPlayer(playerid, "_~n~_~n~_~n~_~n~~w~Semente guardada~n~~g~+R$500", 5000, 5);
				GiveDinheiro(playerid, 500);
				SetPVarInt(playerid, "AGR_Pegou", 0);
			}
	  		if(pickupid == PickupAGR[4])
		    {
	            TotalAGR[4] ++;
	            format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[4],Max_AGR);
      	        if(TotalAGR[4] >= Max_AGR){
	                PagarAGR();
	                TotalAGR[4]=0;
	                format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[4],Max_AGR);
				}
				Update3DTextLabelText(TextsAGR[4], COLOR_YELLOW, string);
				CP[playerid] = 0;
				RemovePlayerAttachedObject(playerid, Slot_Planta);
				GameTextForPlayer(playerid, "_~n~_~n~_~n~_~n~~w~Semente guardada~n~~g~+R$500", 5000, 5);
				GiveDinheiro(playerid, 500);
				SetPVarInt(playerid, "AGR_Pegou", 0);
			}
		   	if(pickupid == PickupAGR[5])
		    {
	            TotalAGR[5] ++;
	            format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[5],Max_AGR);
      	        if(TotalAGR[5] >= Max_AGR){
	                PagarAGR();
	                TotalAGR[5]=0;
	                format(string, sizeof string, "[SEMENTES COLHIDAS]\n(%d/%d)",TotalAGR[5],Max_AGR);
				}
				Update3DTextLabelText(TextsAGR[5], COLOR_YELLOW, string);
				CP[playerid] = 0;
				RemovePlayerAttachedObject(playerid, Slot_Planta);
				GameTextForPlayer(playerid, "_~n~_~n~_~n~_~n~~w~Semente guardada~n~~g~+R$500", 5000, 5);
				GiveDinheiro(playerid, 500);
				SetPVarInt(playerid, "AGR_Pegou", 0);
			}
		}
	}
	if(pickupid == PickInterior)
	{
		GameTextForPlayer(playerid, "~b~digite~n~~g~/batercartao~n~~w~OU /equipar", 3000, 3);
	}
	if(pickupid == LFicha)
	{
		GameTextForPlayer(playerid, "~b~digite~n~~w~/limparficha", 3000, 3);
	}

    if(!RoubandoCaixa[playerid])
    {
	    for(new i; i < MAX_CAIXAS; i++)
	    {
	        if(!CaixaInfo[i][Caixa_Roubada])continue;
	        for(new p; p < MAX_PICKUPS_ROUBO; p++)
	        {
	        	if(pickupid == Pickups_Roubo[i][p])
				{
    				if(IsACop(playerid))
					{
						GameTextForPlayer(playerid, "~g~USE: /consertarcaixa para conserta-lo!", 1000, 1);
						continue;
					}
					new keys, ud, lr;
				    GetPlayerKeys(playerid, keys, ud, lr);
				    if(keys & KEY_CROUCH)
				    {
						GranaRoubo(playerid, i);
						DestroyPickup(pickupid);
						Pickups_Roubo[i][p] = -1;
					}
					else
					{
						GameTextForPlayer(playerid, "~b~~h~Segure |~w~C~b~~h~| para roubar o ~b~~h~dinheiro", 1000, 1);
					}
				}
			}
		}
	}
    return true;
}
Reply
#6

Use uma array para definir pelo qual local o jogador entrou:

PHP код:
new Local[MAX_PLAYERS]; 
Exemplo:
PHP код:
#define ENTRADA_LS 1
#define ENTRADA_SF 2
//Entrou em LS
Local[playeri] = ENTRADA_LS;
//Entrou em SF
Local[playerid] = ENTRADA_SF;
//Ao sair do local
if(Local[playerid] == ENTRADA_LS){
     
//Seta para saнda de LS
}
else if(
Local[playerid] == ENTRADA_SF){
    
//Seta para saнda de SF
}
Local[playerid] = 0
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)