funktioniert nicht
Habe es mit 7 und mit 8 getestet beides geht nicht. In der Datenbank habe ich 7 Bizzes (bizid fängt ja bei 1 an nicht bei 0 so wie hier)
ich komme nicht in mein Interior rein  selber Fehler index 3 size 3
 selber Fehler index 3 size 3
 
			
									
		funktioniert nicht
Habe es mit 7 und mit 8 getestet beides geht nicht. In der Datenbank habe ich 7 Bizzes (bizid fängt ja bei 1 an nicht bei 0 so wie hier)
ich komme nicht in mein Interior rein  selber Fehler index 3 size 3
 selber Fehler index 3 size 3
Dann pack da mal überall prints rein und schaue, was genau aufgerufen wird und welchen Wert die wichtigen Variablen haben 
if(GetPVarInt(playerid,"InBiz")!=-1)
	    {
	        new b=GetPVarInt(playerid,"InBiz");
	        new bi=bInfo[b][bInterior];
    		if(IsPlayerInRangeOfPoint(playerid,3.0,BizInts[bi][IX],BizInts[bi][IY],BizInts[bi][IZ]))
	    	{
	    	    SetPlayerPos(playerid,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]);
	            SetPlayerInterior(playerid,0);
	            SetPlayerVirtualWorld(playerid,0);
	            SetPVarInt(playerid,"InBiz",-1);
	            return 1;
	    	}
		}
		else
		{
			for(new b;b<sizeof(bInfo);b++)
		    {
		        if(IsPlayerInRangeOfPoint(playerid,5.0,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]))
		        {
		            if(bInfo[b][biztype]==3)return SendClientMessage(playerid,-1,"Diesen BizTyp kannst du nicht betreten!");
		            new bi=bInfo[b][bInterior];
		            if(bi==0) return SendClientMessage(playerid,-1,"Das Biz hat kein Interior");
		            SetPlayerPos(playerid,BizInts[bi][IX],BizInts[bi][IY],BizInts[bi][IZ]);
		            SetPlayerInterior(playerid,BizInts[bi][Interior]);
		            SetPlayerVirtualWorld(playerid,BizInts[bi][Welt]);
	                SetPVarInt(playerid,"InBiz",b);
                 	new string[250];
                 	format(string,sizeof(string),"Binfo Interior: %d | BizInfo Y: %f | BizInfo Interior: %d",bi,BizInts[bi][IY],BizInts[bi][Interior]);
                 	printf(string);
	                return 1;
		        }
	     	}
		}
	}Ich hab da am Ende ein Print aber soweit kommt der erst garnicht.
Ich hab da am Ende ein Print aber soweit kommt der erst garnicht.
Wenn ich sage..alles voller prints setzen, meine ich sicher nicht nur einen print 
Sondern...überall in jede Code ebene.
Also immer vor die { was setzen um eben zu schauen, was gemacht wird.
und der string ist egal, wichtiger wäre sowas wie printf("A: %d",b); und beim Nächsten "B: %d" usw...xD
{
			for(new b;b<sizeof(bInfo);b++)
		    {
		        printf("A: %d",b);
		        if(IsPlayerInRangeOfPoint(playerid,5.0,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]))
		        {
		            if(bInfo[b][biztype]==3)return SendClientMessage(playerid,-1,"Diesen BizTyp kannst du nicht betreten!");
		            new bi=bInfo[b][bInterior];
		            if(bi==0) return SendClientMessage(playerid,-1,"Das Biz hat kein Interior");
		            SetPlayerPos(playerid,BizInts[bi][IX],BizInts[bi][IY],BizInts[bi][IZ]);
		            SetPlayerInterior(playerid,BizInts[bi][Interior]);
		            SetPlayerVirtualWorld(playerid,BizInts[bi][Welt]);
	                SetPVarInt(playerid,"InBiz",b);
                 	new string[250];
                 	format(string,sizeof(string),"Binfo Interior: %d | BizInfo Y: %f | BizInfo Interior: %d",bi,BizInts[bi][IY],BizInts[bi][Interior]);
                 	printf(string);
	                return 1;
		        }
	     	}
		}Er kommt nicht soweit, nicht mal zum ersten es wird nix geprintet wie immer der selbe Fehler
Er kommt nicht soweit, nicht mal zum ersten es wird nix geprintet wie immer der selbe Fehler
Dann tritt der Fehler früher auf, wenn er da nicht mal rein geht 
Das bedeutet...mehr prints und zwar früher haha 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(!IsPlayerInAnyVehicle(playerid) && newkeys ==KEY_SECONDARY_ATTACK)// Enter
	{
	    // Öffentliche Gebäude
	    if(GetPVarInt(playerid,"InBuilding")!=-1)
	    {
	        new e=GetPVarInt(playerid,"InBuilding");
     		if(IsPlayerInRangeOfPoint(playerid,3.0,Building[e][IX],Building[e][IY],Building[e][IZ]))
	    	{
		        SetPlayerPos(playerid,Building[e][EX],Building[e][EY],Building[e][EZ]);
	            SetPlayerInterior(playerid,0);
	            SetPlayerVirtualWorld(playerid,0);
	            SetPVarInt(playerid,"InBuilding",-1);
	        }
	    }
		else
		{
		    for(new e;e<=sizeof Building;e++)
		    {
		        if(IsPlayerInRangeOfPoint(playerid,3.0,Building[e][EX],Building[e][EY],Building[e][EZ]))
		        {
		            SetPlayerPos(playerid,Building[e][IX],Building[e][IY],Building[e][IZ]);
		            if(Building[e][Interior]!=0)SetPlayerInterior(playerid,Building[e][Interior]);
		            if(Building[e][Welt]!=0)SetPlayerVirtualWorld(playerid,Building[e][Welt]);
		            SetPVarInt(playerid,"InBuilding",e);
		        }
		    }
		}
		// Biz
	 	if(GetPVarInt(playerid,"InBiz")!=-1)
	    {
	        new b=GetPVarInt(playerid,"InBiz");
	        new bi=bInfo[b][bInterior];
    		if(IsPlayerInRangeOfPoint(playerid,3.0,BizInts[bi][IX],BizInts[bi][IY],BizInts[bi][IZ]))
	    	{
	    	    SetPlayerPos(playerid,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]);
	            SetPlayerInterior(playerid,0);
	            SetPlayerVirtualWorld(playerid,0);
	            SetPVarInt(playerid,"InBiz",-1);
	            return 1;
	    	}
		}
		else
		{
			for(new b;b<sizeof(bInfo);b++)
		    {
		        printf("A: %d",b);
		        if(IsPlayerInRangeOfPoint(playerid,5.0,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]))
		        {
		            if(bInfo[b][biztype]==3)return SendClientMessage(playerid,-1,"Diesen BizTyp kannst du nicht betreten!");
		            new bi=bInfo[b][bInterior];
		            if(bi==0) return SendClientMessage(playerid,-1,"Das Biz hat kein Interior");
		            SetPlayerPos(playerid,BizInts[bi][IX],BizInts[bi][IY],BizInts[bi][IZ]);
		            SetPlayerInterior(playerid,BizInts[bi][Interior]);
		            SetPlayerVirtualWorld(playerid,BizInts[bi][Welt]);
	                SetPVarInt(playerid,"InBiz",b);
                 	new string[250];
                 	format(string,sizeof(string),"Binfo Interior: %d | BizInfo Y: %f | BizInfo Interior: %d",bi,BizInts[bi][IY],BizInts[bi][Interior]);
                 	printf(string);
	                return 1;
		        }
	     	}
		}
	}
	return 1;
}Es kann ja sein das die Öffentlichen Gebäude davon betroffen sind ich poste mal den ganzen Code OnPlayerKeyState vielleicht findest du jetzt was weil weiter davor kann ich ja nicht abfragen
schreib das
for(new e;e<=sizeof Building;e++)
bitte mal so
for(new e;e<sizeof (Building);e++)
for(new e;e<=sizeof Building;e++)
Das ist falsch.
Schreib das mal:
for(new e;e<sizeof Building;e++)
Und setz mal unter Zeile 14 ein return 1; sonst läuft der Code ja weiter 
Das was ich dachte was niemals als Fehler sein wird ist es jetzt. Wow genau das zu finden hat mich indirekt 5 Monate jetzt gedauert.
Er sagt mir wenn ich in das angegeben 24/7 gehen will, dass dieser Biztyp kein Interior hat aber er hat ein Interior.
if(bi==0) return SendClientMessage(playerid,-1,"Das Biz hat kein Interior");
Dann lösch diese Zeile.
Vermutlich, ist der 24/7 id 0.
Klappt alles, großes Dankeschön an euch beiden!
Ich will noch ein Exitpostion Pickup und 3dTextlabel genau bei den Interior-Pos XYZ erstellen
Also auf meiner Art wäre das ganze nicht so Kurz Zeilig 
stock UpdateBizInfos()
{
    new string[228];
	for(new b;b<sizeof(bInfo);b++)
	{
	    format(string, sizeof(string), "X",BizType[bInfo[b][biztype]],BizType2[bInfo[b][biztype2]],OpenTime[bInfo[b][bopentime]],bInfo[b][bwaren],bInfo[b][bmaxwaren],bInfo[b][bbesitzer],BizBefehl[bInfo[b][bizbefehl]] );
		CreateDynamic3DTextLabel(string,GREEN,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ],20.0);
		CreateDynamicPickup(1318,1,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]); // 24/7 Neulingspawn1559
	}
	return 1;
}enum bizinteriors{
	Name[35],
	Interior,
	Welt,
	Biztype,
 	Float:IX,Float:IY,Float:IZ// Exit Position
}
static const BizInts[][bizinteriors]={
{"24/7",17,1,1,/*InteriorPos*/-25.884498,-185.868988,1003.546873},
{"Dummy",0,0,0,0.0,0.0,0.0},
{"Dummy",0,0,0,0.0,0.0,0.0},
{"Dummy",0,0,0,0.0,0.0,0.0},
{"Dummy",0,0,0,0.0,0.0,0.0},
{"Dummy",0,0,0,0.0,0.0,0.0},
{"Dummy",0,0,0,0.0,0.0,0.0}Müsste das dann unter Bizladen hin?
Müsste das dann unter Bizladen hin?
Ich verstehe die Frage nicht lol.
BizInts ist eine globale Variable und muss ganz noch oben.
Ich meine dann die
Zitat von BrightLeaNIch will noch ein Exitpostion Pickup und 3dTextlabel genau bei den Interior-Pos XYZ erstellen
Also wann die erstellt werden nachdem das Biz geladen wurde.
Und wie soll ich die erstellen also ich würde es manuell so machen indem ich zu jedem Biz manuel die Koordinaten angebe
Also wann die erstellt werden nachdem das Biz geladen wurde.
Nein, das ist ja egal, das Interior selbst existiert ja unabhängig von den Bizzen.
Und wie soll ich die erstellen
Na ganz normal mit einer Schleife:
Zeigt mir ein Error an unter OnGameMode habe ich es.
Aber er erstellt bei jedem Biz jetzt eins
Sagen wir, ich habe 2 24/7 mit dem selben Interior, dann sind da doch doppelt so viele TextLabels und Pickups.
for(new b; b<sizeof(BizInts); b++) //Biz
	{
		CreateDynamic3DTextLabel,("{FAFAFA}Ausgang\n{888888}Benutzte 'enter'",GREEN,BizInts[b][IX],BizInts[b][IY],BizInts[b][IZ],20.0);
		CreateDynamicPickup(1318,1,BizInts[b][IX],BizInts[b][IY],BizInts[b][IZ]); // 24/7 Neulingspawn1559
	}
(3.) error 076: syntax error in the expression, or invalid function call
...da ist ein Komma vor der ( 
CreateDynamic3DTextLabel,
Das Komma muss aus dem Funktionsnamen weg.
Nach 7 Monaten bin ich wieder hier im Beitrag... 
Selber Fehler wie damals, ich komme nicht in mein Interior rein. Fehler trat plötzlich auf.
http://prntscr.com/o002ch
Hier werden die Sachen geprintet, um zu schauen woran es genau liegt.
Ich blick bei so viel Code nicht mehr durch, ich versuche seit gestern das Problem zu beheben, da ist es schon seit einigen Wochen, nur hatte ich immer anderes zutun.
Ich habe 9 Geschäfte, so muss ich auch 9 Interiors hinzufügen
enum bizinteriors{
	Name[35],
	Interior,
	Welt,
	Biztype,
 	Float:IX,Float:IY,Float:IZ// Exit Position
}
stock const BizInts[][bizinteriors]={
{"24/7",18,1,1,/*InteriorPos*/-31.0002,-91.6301,1003.5469},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0},
{"dummy",0,0,0,/*InteriorPos*/0.0,0.0,0.0}
};enum buildungs{
	Name[35],
	Interior,
	Welt,
	Float:EX,Float:EY,Float:EZ,// Enter Position
	EInterior,
	EWelt,
	Float:IX,Float:IY,Float:IZ,// Exit Position
	EBuilding,
	IsInteriorClosed
}
stock const Building[][buildungs]={
{"Stadthalle",3,0,/*Eingang*/0,0,0,/*Ausgang*/0,0,0,0,0,-1},
{"Stadthalle",3,0,/*Eingang*/0,0,0,/*Ausgang*/0,0,0,0,0,-1},
{"Stadthalle",3,0,/*Eingang*/0,0,0,/*Ausgang*/0,0,0,0,0,-1},
{"Stadthalle",3,0,/*Eingang*/0,0,0,/*Ausgang*/0,0,0,0,0,-1},
{"Stadthalle",3,0,/*Eingang*/0,0,0,/*Ausgang*/0,0,0,0,0,-1},
{"Stadthalle",3,0,/*Eingang*/0,0,0,/*Ausgang*/0,0,0,0,0,-1}
};if(!IsPlayerInAnyVehicle(playerid) && (newkeys & KEY_SECONDARY_ATTACK))// Enter
	{
	    // Öffentliche Gebäude
		new Float:e_dist = 3.0, Float:i_dist = 3.0, Float:tmp, e_id = -1, i_id = -1;
		print("1");
		for(new i; i<sizeof(Building); i++)
		{
		    print("2");
			tmp = GetPlayerDistanceFromPoint(playerid, Building[i][EX],Building[i][EY],Building[i][EZ]);
			if(tmp < e_dist)
			{
				e_dist = tmp;
				e_id = i;
			}
			tmp = GetPlayerDistanceFromPoint(playerid, Building[i][IX],Building[i][IY],Building[i][IZ]);
			if(tmp < i_dist)
			{
				i_dist = tmp;
				i_id = i;
			}
		}
		if(e_dist < i_dist)
		{
		    print("3");
			if(Building[e_id][IsInteriorClosed] == 1) return SendClientMessage(playerid, -1, "{bc4343}Die Tür ist verschlossen und kann nicht geöffnet werden.");
			SetPlayerPos(playerid,Building[e_id][IX],Building[e_id][IY],Building[e_id][IZ]);
			SetPlayerInterior(playerid,Building[e_id][Interior]);
			SetPlayerVirtualWorld(playerid,Building[e_id][Welt]);
			SetPVarInt(playerid,"InBuilding", e_id);
		}
		else
		{
		    print("4");
			SetPlayerPos(playerid,Building[i_id][EX],Building[i_id][EY],Building[i_id][EZ]);
			SetPlayerInterior(playerid,Building[i_id][EInterior]);
			SetPlayerVirtualWorld(playerid,Building[i_id][EWelt]);
			SetPVarInt(playerid,"InBuilding", Building[i_id][EBuilding]);
		}
		//Biz
		print("5");
		printf("PVAR %d"), GetPVarInt(playerid,"InBiz");
	 	if(GetPVarInt(playerid,"InBiz")!=-1)
	    {
            print("6");
	        new b=GetPVarInt(playerid,"InBiz");
	        new bi=bInfo[b][bInterior];
    		if(IsPlayerInRangeOfPoint(playerid,3.0,BizInts[bi][IX],BizInts[bi][IY],BizInts[bi][IZ]))
	    	{
	    	    SetPlayerPos(playerid,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]);
	            SetPlayerInterior(playerid,0);
	            SetPlayerVirtualWorld(playerid,0);
	            SetPVarInt(playerid,"InBiz",-1);
	            return 1;
	    	}
		}
		else
		{
		    print("7");
			for(new b;b<sizeof(bInfo);b++)
		    {
		        if(IsPlayerInRangeOfPoint(playerid,5.0,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]))
		        {
		            if(bInfo[b][biztype] == 7)return 1;
		            if(bInfo[b][biztype] == 3)return 1;
					SetPlayerPos(playerid,BizInts[b][IX],BizInts[b][IY],BizInts[b][IZ]);
					SetPlayerInterior(playerid,BizInts[b][Interior]);
					SetPlayerVirtualWorld(playerid,BizInts[b][Welt]);
					SetPVarInt(playerid,"InBiz",b);
		        }
	     	}
		}
	}
	return 1;
}Ich habe ein zweites Problem mit dem Biz, er will mir nicht alle Geschäfte setzen, bei 3 hört der auf :(,
eventuell hängt es zusammmen:
Ich erhalte folgenden Error:
http://prntscr.com/o00h6a
Das ganze liegt an der Funktion: UpdateBizInfos (nehme ich sie raus erhalte ich diesen Fehler nichtmehr)
forward BizLaden();
public BizLaden()
{
	new rows;
	cache_get_row_count(rows);
	if(rows==0) return print("(*)Geschäfte konnten nicht geladen werden.");
	for(new bizid = 0; bizid < sizeof(bInfo); bizid++)
	{
	    cache_get_value_name_int(bizid,"ID",bInfo[bizid][db_bid]);
     	if(bInfo[bizid][db_bid]==0)continue;
		cache_get_value_name_int(bizid,"biztype",bInfo[bizid][biztype]);
		cache_get_value_name_int(bizid,"waren",bInfo[bizid][bwaren]);
		cache_get_value_name(bizid,"besitzer",bInfo[bizid][bbesitzer],24);
		cache_get_value_name_int(bizid,"bizkasse",bInfo[bizid][bbizkasse]);
		cache_get_value_name_float(bizid,"X",bInfo[bizid][bX]);
		cache_get_value_name_float(bizid,"Y",bInfo[bizid][bY]);
		cache_get_value_name_float(bizid,"Z",bInfo[bizid][bZ]);
		cache_get_value_name_int(bizid,"biztype2",bInfo[bizid][biztype2]);
		cache_get_value_name_int(bizid,"opentime",bInfo[bizid][bopentime]);
		cache_get_value_name_int(bizid,"maxwaren",bInfo[bizid][bmaxwaren]);
		cache_get_value_name_int(bizid,"bizbefehl",bInfo[bizid][bizbefehl]);
		cache_get_value_name_int(bizid,"bizcolor",bInfo[bizid][biztextfarbe]);
		cache_get_value_name_int(bizid,"bizwarentype",bInfo[bizid][bizwarentype]);
	}
	UpdateBizInfos();
	return 1;
}stock UpdateBizInfos()
{
    new string[500];
	for(new b;b<sizeof(bInfo);b++)
	{
	    print("=================");
	    printf("Bizfarbe: %s", BizTextFarbe[bInfo[b][biztextfarbe]]);
	    printf("Bizwarentype: %s, %d/%d", BizWarenType[bInfo[b][bizwarentype]],bInfo[b][bwaren],bInfo[b][bmaxwaren]);
	    printf("XYZ: %f %f %f", bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]);
	    print("=================");
		format(string, sizeof(string), "%s%s %s\n%sÖffnungszeiten:{FAFAFA}%s\n", BizTextFarbe[bInfo[b][biztextfarbe]],BizType[bInfo[b][biztype]],BizType2[bInfo[b][biztype2]],BizTextFarbe[bInfo[b][biztextfarbe]],OpenTime[bInfo[b][bopentime]]);
		format(string, sizeof(string), "%s%s%s: %d/%d\n%sName {FAFAFA}%s\n%s",string,BizTextFarbe[bInfo[b][biztextfarbe]],BizWarenType[b][bizwarentype],bInfo[b][bwaren],bInfo[b][bmaxwaren],BizTextFarbe[bInfo[b][biztextfarbe]],bInfo[b][bbesitzer],BizBefehl[bInfo[b][bizbefehl]]);
		CreateDynamic3DTextLabel(string,GREEN,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ],20.0);
		CreateDynamicPickup(1318,1,bInfo[b][bX],bInfo[b][bY],bInfo[b][bZ]);
	}
	return 1;
}Die ersten 3 printet er mir dann nach keine Mehr, heißt er erstellt 3 Textdraws nur
stock const BizType[][25]=
{
	"-",
	"X", //1
	"X", //2
	"X", //3
	"X", //4
	"X", //5
	"X", //6
	"X", //7
	"X" //8
},
BizTextFarbe[][25]=
{
    "-",
	"{FFFFFF}", //1
	"{FAFAFA}" //2
},
BizWarenType[][25]=
{
    "X",
	"X", //1
	"X", //2
	"X" //3
},
BizType2[][18]=
{
	"",
	"X", //1
	"X", //2
	"X", //3
	"X", //4
	"X" //5
},
OpenTime[][18]=
{
	"",
	"X", //1
	"X", //2
	"X", //3
	"X",  //4
	"X", //5
	"X", //6
	"X" //7
},
BizBefehl[][35]=
{
	"",
	"X", //1
	"X", //2
	"X" //3
};Das mit der 2 ist richtig, da geht er alle Möglichkeiten durch und sucht dir das nähste Interior.
Da steht doch dann 4, das bedeutet, dass er das aufruft.
Wieso setzt er dich nicht da rein?
...printe dir halt die Koordinaten, ob alles richtig geladen wurde, anscheinend ja nicht so.
 
		