Das heißt also, in der Datenbank bei "spawnpunkt" steht eine 1?
Dann poste mal bitte dein ganzen "Ladecode".
Problem mit meinem Haussystem
- German_ScripterHD
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
public OnHausesLoad()
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields);
if(!num_rows)return 1;
//for(new i = 0; i < MAX_HOUSES; i++)
for(new i = 0; i < num_rows; i++)
{
new id = getFreeHausID();
new string[24];
hInfo[id][h_x] = cache_get_field_content_float(i, "h_x", dbhandle);
hInfo[id][h_y] = cache_get_field_content_float(i, "h_y", dbhandle);
hInfo[id][h_z] = cache_get_field_content_float(i, "h_z", dbhandle);
if(hInfo[id][h_x] == 0 && hInfo[id][h_y] == 0 && hInfo[id][h_z] == 0)continue;
hInfo[id][ih_x] = cache_get_field_content_float(i, "ih_x", dbhandle);
hInfo[id][ih_y] = cache_get_field_content_float(i, "ih_y", dbhandle);
hInfo[id][ih_z] = cache_get_field_content_float(i, "ih_z", dbhandle);
hInfo[id][h_interior] = cache_get_field_content_int(i, "h_interior", dbhandle);cache_get_field_content(i, "besitzer", string);
format(hInfo[id][h_besitzer], sizeof(string), string);hInfo[id][h_id] = cache_get_field_content_int(i, "id", dbhandle);
hInfo[id][h_preis] = cache_get_field_content_int(i, "h_preis", dbhandle);
hInfo[id][h_mietpreis] = cache_get_field_content_int(i, "h_mietpreis", dbhandle);
hInfo[id][h_maxmieter] = cache_get_field_content_int(i, "h_maxmieter", dbhandle);
new printstring[90];
format(printstring,sizeof(printstring),"i = %d - id = %d - MySQLID: %d - Besitzer: %s", i, id, hInfo[id][h_id],hInfo[id][h_besitzer]);
print(printstring);
CreatePickup(19523,1,hInfo[id][ih_x],hInfo[id][ih_y],hInfo[id][ih_z],id);
}print("Zweite Schleife:");
new highid = getFreeHausID();
for(new i = 0; i < highid; i++)
{
updateHaus(i);
}
return 1;
} -
Ich meinte eigentlich den Ladecode vom Spieler selbst.
-
public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
new money_string[128];
//Passwort richtig //Spieler laden
SetSpawnInfo(playerid,0,sInfo[playerid][skin],439.3006,-1752.2723,8.7708,221.4513,0,0,0,0,0,0);
SpawnPlayer(playerid);
SendClientMessage(playerid,C_Blau,"Erfolgreich eingeloggt.");
sInfo[playerid][eingeloggt] = 1;
sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
sInfo[playerid][geld] = cache_get_field_content_int(0,"money",dbhandle);
sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
sInfo[playerid][bank] = cache_get_field_content_int(0,"bank",dbhandle);
sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);
sInfo[playerid][prison] = cache_get_field_content_int(0,"prison",dbhandle);
sInfo[playerid][Donator] = cache_get_field_content_int(0,"Donator",dbhandle);
sInfo[playerid][CarLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][BikeLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][FlugLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][LkwLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][BootLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
sInfo[playerid][vehicles] = cache_get_field_content_int(0,"vehicles",dbhandle);
sInfo[playerid][payday] = cache_get_field_content_int(0,"payday",dbhandle);
sInfo[playerid][donats] = cache_get_field_content_int(0,"donats",dbhandle);
sInfo[playerid][radio] = cache_get_field_content_int(0,"radio",dbhandle);
sInfo[playerid][navi] = cache_get_field_content_int(0,"navi",dbhandle);
sInfo[playerid][respekt] = cache_get_field_content_int(0,"respekt",dbhandle);
sInfo[playerid][job] = cache_get_field_content_int(0,"job",dbhandle);
sInfo[playerid][wanted] = cache_get_field_content_int(0,"wanted",dbhandle);
sInfo[playerid][handynummer] = cache_get_field_content_int(0,"handynummer",dbhandle);
sInfo[playerid][spawnpunkt] = cache_get_field_content_int(0,"spawnpunkt",dbhandle);
cache_get_field_content(0,"username",sInfo[playerid][username],dbhandle,32);
sInfo[playerid][fightstyle] = cache_get_field_content_int(0,"fightstyle",dbhandle);
SetPlayerFightingStyle(playerid,sInfo[playerid][fightstyle]);
SetPlayerSkin(playerid,sInfo[playerid][skin]); -
sInfo[playerid][spawnpunkt] = cache_get_field_content_int(0,"spawnpunkt",dbhandle);
zu:
sInfo[playerid][spawnpunkt] = cache_get_field_content_int(0,"spawnpunkt",dbhandle);
printf("spawnpunkt nach dem laden: %d",sInfo[playerid][spawnpunkt]);Falls da 111 rauskommt, kannst du dann bitte einen Screenshot deiner Tabelle machen, wo man sieht welchen Wert "spawnpunkt" bei deinem Account, den du verwendest, hat?
-
Jetzt verzweifele ich immer mehr ...?(
Der print hat das ergeben:
[02:16:21] spawnpunkt nach dem laden: 1Aber das kommt wieder bei spawn:
[02:16:21] hInfo[i][h_id] == 1
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 3
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 5
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 7
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 8
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 9
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 10
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 11
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 12
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 13
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 14
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 15
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 16
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 19
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 20
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 21
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 22
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 23
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 24
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 25
[02:16:21] sInfo[playerid][spawnpunkt] == 111
[02:16:21] hInfo[i][h_id] == 0
[02:16:21] sInfo[playerid][spawnpunkt] == 111
//.... -
public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
new money_string[128];
//Passwort richtig //Spieler laden
SendClientMessage(playerid,C_Blau,"Erfolgreich eingeloggt.");
sInfo[playerid][eingeloggt] = 1;
sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
sInfo[playerid][geld] = cache_get_field_content_int(0,"money",dbhandle);
sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
sInfo[playerid][bank] = cache_get_field_content_int(0,"bank",dbhandle);
sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);
sInfo[playerid][prison] = cache_get_field_content_int(0,"prison",dbhandle);
sInfo[playerid][Donator] = cache_get_field_content_int(0,"Donator",dbhandle);
sInfo[playerid][CarLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][BikeLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][FlugLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][LkwLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][BootLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
sInfo[playerid][vehicles] = cache_get_field_content_int(0,"vehicles",dbhandle);
sInfo[playerid][payday] = cache_get_field_content_int(0,"payday",dbhandle);
sInfo[playerid][donats] = cache_get_field_content_int(0,"donats",dbhandle);
sInfo[playerid][radio] = cache_get_field_content_int(0,"radio",dbhandle);
sInfo[playerid][navi] = cache_get_field_content_int(0,"navi",dbhandle);
sInfo[playerid][respekt] = cache_get_field_content_int(0,"respekt",dbhandle);
sInfo[playerid][job] = cache_get_field_content_int(0,"job",dbhandle);
sInfo[playerid][wanted] = cache_get_field_content_int(0,"wanted",dbhandle);
sInfo[playerid][handynummer] = cache_get_field_content_int(0,"handynummer",dbhandle);
sInfo[playerid][spawnpunkt] = cache_get_field_content_int(0,"spawnpunkt",dbhandle);
cache_get_field_content(0,"username",sInfo[playerid][username],dbhandle,32);
sInfo[playerid][fightstyle] = cache_get_field_content_int(0,"fightstyle",dbhandle);
SetPlayerFightingStyle(playerid,sInfo[playerid][fightstyle]);
SetPlayerSkin(playerid,sInfo[playerid][skin]);
SetSpawnInfo(playerid,0,sInfo[playerid][skin],439.3006,-1752.2723,8.7708,221.4513,0,0,0,0,0,0);
SpawnPlayer(playerid);Scheiße, zu spät für die Fehler.
SpawnPlayer(playerid); muss natürlich nach dem laden kommen. -
Beitrag von German_ScripterHD ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Also...
Ich habe es jetzt so: (geht aber leider immernoch nicht)
Spoiler anzeigen public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
new money_string[128];
//Passwort richtig //Spieler laden
SendClientMessage(playerid,C_Blau,"Erfolgreich eingeloggt.");
sInfo[playerid][eingeloggt] = 1;
sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
SetPlayerScore(playerid,sInfo[playerid][level]);
sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
sInfo[playerid][geld] = cache_get_field_content_int(0,"money",dbhandle);
sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
sInfo[playerid][bank] = cache_get_field_content_int(0,"bank",dbhandle);
sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);
sInfo[playerid][prison] = cache_get_field_content_int(0,"prison",dbhandle);
sInfo[playerid][Donator] = cache_get_field_content_int(0,"Donator",dbhandle);
sInfo[playerid][CarLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][BikeLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][FlugLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][LkwLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][BootLic] = cache_get_field_content_int(0,"CarLic",dbhandle);
sInfo[playerid][skin] = cache_get_field_content_int(0,"skin",dbhandle);
sInfo[playerid][vehicles] = cache_get_field_content_int(0,"vehicles",dbhandle);
sInfo[playerid][payday] = cache_get_field_content_int(0,"payday",dbhandle);
sInfo[playerid][donats] = cache_get_field_content_int(0,"donats",dbhandle);
sInfo[playerid][radio] = cache_get_field_content_int(0,"radio",dbhandle);
sInfo[playerid][navi] = cache_get_field_content_int(0,"navi",dbhandle);
sInfo[playerid][respekt] = cache_get_field_content_int(0,"respekt",dbhandle);
sInfo[playerid][job] = cache_get_field_content_int(0,"job",dbhandle);
sInfo[playerid][wanted] = cache_get_field_content_int(0,"wanted",dbhandle);
sInfo[playerid][handynummer] = cache_get_field_content_int(0,"handynummer",dbhandle);
sInfo[playerid][spawnpunkt] = cache_get_field_content_int(0,"spawnpunkt",dbhandle);
printf("spawnpunkt nach dem laden: %d",sInfo[playerid][spawnpunkt]);
cache_get_field_content(0,"username",sInfo[playerid][username],dbhandle,32);
sInfo[playerid][fightstyle] = cache_get_field_content_int(0,"fightstyle",dbhandle);
SetPlayerFightingStyle(playerid,sInfo[playerid][fightstyle]);
SetPlayerSkin(playerid,sInfo[playerid][skin]);
SetSpawnInfo(playerid,0,sInfo[playerid][skin],439.3006,-1752.2723,8.7708,221.4513,0,0,0,0,0,0);
SpawnPlayer(playerid);Jetzt habe ich mal in der Datenbank nicht "1" sondern "20" eingetragen, aber es kommt dieser ServerLog dabei raus:
Spoiler anzeigen
[12:43:58] spawnpunkt nach dem laden: 20
//_________________________________//
[12:43:58] hInfo[i][h_id] == 1
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 3
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 5
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 7
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 8
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 9
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 10
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 11
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 12
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 13
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 14
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 15
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 16
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 19
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 20
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 21
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 22
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 23
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 24
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 25
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 0
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 0
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 0
[12:43:58] sInfo[playerid][spawnpunkt] == 111
[12:43:58] hInfo[i][h_id] == 0
[12:43:58] sInfo[playerid][spawnpunkt] == 111
//......Ich hoffe ihr könnt mir helfen
//Edit:
Habe das noch eingefügt vor der for Schleife:
printf("[OnPlayerSpawn]-[Vor (for-Schleife)] sInfo[playerid][spawnpunkt] == %i",sInfo[playerid][spawnpunkt]);
[12:57:08] [OnPlayerSpawn]-[Vor (for-Schleife)] sInfo[playerid][spawnpunkt] == 111
MfG -
Entweder bin ich zu blöd, und sehe den Fehler nicht, oder du lässt spawnpunkt irgendwo in deinem Script erneut setzen.
Such mal in deinem Script nach sInfo[playerid][spawnpunkt], vielleicht findest du ja was. -
sInfo[playerid][spawnpunkt]
Also hier kommt das alles vor:
Spieler landen:
sInfo[playerid][spawnpunkt] = cache_get_field_content_int(0,"spawnpunkt",dbhandle);
printf("spawnpunkt nach dem laden: %d",sInfo[playerid][spawnpunkt]);Und bei OnPlayerSpawn:
printf("[OnPlayerSpawn]-[Vor Schleife] sInfo[playerid][spawnpunkt] == %d",sInfo[playerid][spawnpunkt]);
if(sInfo[playerid][spawnpunkt] > 0)
{
for(new i=0; i<sizeof(hInfo); i++)
{
printf("hInfo[i][h_id] == %d",hInfo[i][h_id]);
printf("sInfo[playerid][spawnpunkt] == %d",sInfo[playerid][spawnpunkt]);
if(hInfo[i][h_id]==20)
{
if(!hInfo[i][h_id])continue;
if(!strlen(hInfo[i][h_besitzer]))continue;
if(strcmp(hInfo[i][h_besitzer], getPlayerName(playerid), true))continue;
if(hInfo[i][ih_x] != 0.0)
{
//Im Haus spawnen
SetPlayerPos(playerid, hInfo[i][ih_x], hInfo[i][ih_y], hInfo[i][ih_z]);
SetPlayerInterior(playerid, hInfo[i][h_interior]);
SetPlayerVirtualWorld(playerid, i);
}
else
{
//Vorm Haus Spawnen
SetPlayerPos(playerid, hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
}
}
}
}Das war alles...
-
Such mal allgemein nach [spawnpunkt] damit du auch die Ergebnisse bekommst, bei denen nicht playerid sondern sachen wie i oderso drinne sind.
-
Ergebniss:
Wie oben...
Ich trag ja momentan auch die Spawnhunkthausid noch manuel in die Datenbank.
-
if(sInfo[playerid][spawnpunkt] > 0)
Setz davor mal das:
sInfo[playerid][spawnpunkt] = 1;Dann funktioniert das aber, oder?
-
Wie viele Zeilen Code geht das Script durch zwischen spawnpunkt auf 20 setzen und dass du bei OnPlayerSpawn bei der Abfrage bist?
-
Habs jetzt so:
sInfo[playerid][spawnpunkt] = 1;
if(sInfo[playerid][spawnpunkt] > 0)
{
for(new i=0; i<sizeof(hInfo); i++)
{Das klappt.
Aber noch ein zweiter Bug... wenn ich jetzt im Haus spawn klappt mein ocmd:enterexit nicht mehr...
Code:
ocmd:enterexit(playerid,params[])
{
for(new i = 0; i != MAX_HOUSES; i++)//Haus Exit zu Enter
{
if(hInfo[i][h_id] == GetPlayerVirtualWorld(playerid))
{
if(IsPlayerInRangeOfPoint(playerid, 5, hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]))
{
SetPlayerPos(playerid, hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z]);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
return 1;
}
}
}
for(new i=0; i<sizeof(hInfo); i++)
{
if(!hInfo[i][h_id])continue;
if(hInfo[i][ih_x]==0.0)continue;
if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))continue;
SetPlayerPos(playerid,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]);
SetPlayerInterior(playerid,hInfo[i][h_interior]);
SetPlayerVirtualWorld(playerid,hInfo[i][h_id]);
if(IsPlayerMieter(playerid,hInfo[i][h_id])) SendClientMessage(playerid,COLOR_GRAY,"Mieter...");
return 1;
}
return 1;
} -
Habs jetzt so:
Das behebt den Fehler aber nicht -
Das klappt.
Ja, das habe ich mir gedacht, das ist aber nicht die Lösung von dem Problem. Irgendwo im Script wirst du das irgendwie zurücksetzen, wie oder wo du das machst das weiß ich nicht. Am besten du suchst im ganzen Script noch einmal nach, vielleicht findest du ja was. Falls du Includes oder Filterscripts verwendest, da auch nochmals suchen (nur die, die du selbst geschrieben hast).Zu dem Befehl:
Das reicht eigentlich, wenn du das so schreibst:
ocmd:enterexit(playerid,params[])
{
for(new i;i<sizeof hInfo;i++)
{
if(GetPlayerVirtualWorld(playerid) == 0 && IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))
{
SetPlayerPos(playerid,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]);
SetPlayerInterior(playerid,hInfo[i][h_interior]);
SetPlayerVirtualWorld(playerid,hInfo[i][h_id]);
if(IsPlayerMieter(playerid,hInfo[i][h_id]))SendClientMessage(playerid,COLOR_GRAY,"Mieter...");
break;
}
else if(GetPlayerVirtualWorld(playerid) == hInfo[i][h_id])
{
if(IsPlayerInRangeOfPoint(playerid,5,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]))
{
SetPlayerPos(playerid,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]);
SetPlayerVirtualWorld(playerid,0);
SetPlayerInterior(playerid,0);
break;
}
}
}
return 1;
} -
Ja, das habe ich mir gedacht, das ist aber nicht die Lösung von dem Problem. Irgendwo im Script wirst du das irgendwie zurücksetzen, wie oder wo du das machst das weiß ich nicht. Am besten du suchst im ganzen Script noch einmal nach, vielleicht findest du ja was. Falls du Includes oder Filterscripts verwendest, da auch nochmals suchen (nur die, die du selbst geschrieben hast).
Würde es vllt. funktioieren wenn ich den Variablenname umbennene?
Wenn ich im Haus spawn, funkioniert ocmd:enterexit nicht, wenn ich mich aber töte, und gege danach zu den Haus, und tippe /enterexit, komme ich ins Haus und auch wieder raus.
-
Würde es vllt. funktioieren wenn ich den Variablenname umbennene?
Kannst du ja mal versuchen, ob das aber wirklich funktioniert ist fraglich. Aber versuchen kannst du das natürlich.Wegen dem Befehl:
ocmd:enterexit(playerid,params[])
{
for(new i;i<sizeof hInfo;i++)
{
if(GetPlayerVirtualWorld(playerid) == 0 && IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))
{
SetPlayerPos(playerid,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]);
SetPlayerInterior(playerid,hInfo[i][h_interior]);
SetPlayerVirtualWorld(playerid,hInfo[i][h_id]);
if(IsPlayerMieter(playerid,hInfo[i][h_id]))SendClientMessage(playerid,COLOR_GRAY,"Mieter...");
break;
}
else if(GetPlayerVirtualWorld(playerid) == hInfo[i][h_id])
{
printf("World: %d - h_id: %d",GetPlayerVirtualWorld(playerid),hInfo[i][h_id]);
if(IsPlayerInRangeOfPoint(playerid,5,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]))
{
print("IsInRange => Teleport");
SetPlayerPos(playerid,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]);
SetPlayerVirtualWorld(playerid,0);
SetPlayerInterior(playerid,0);
break;
}
}
}
return 1;
}
Was wird geprintet, wenn du nach dem einloggen im Haus gespawnt wirst, und versuchst mit "/enterexit" aus dem Haus zu gehen?