Hallo,
undzwar habe ich ein Haussystem und soweit funzuniert auch alles. Wenn ich ein Haus kaufen wird hInterior auf 0 gesetzt. Und wenn man /enter eingibt kommt ein DIalog. Aber wenn ich jetzte ein Interior kaufen und dann zum hausgehe und dann /enter eingebe steht dort SERVER: Unkown Command. Code: ocmd:enter(playerid, params[])
{
new string[200];
for(new i = 0; i != MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(playerid,3.0,hausInfo[i][hX],hausInfo[i][hY],hausInfo[i][hZ]))
{
if(hausInfo[i][hGekauft] == 1)
{
if(hausInfo[i][hInterior] == 0)
{
format(string,sizeof(string),"Dieses Haus besitzt noch kein Interior\nBitte gehe zum Hausshop und kaufe dir dort ein Interior");
ShowPlayerDialog(playerid,DIALOG_HAUSINFO,DIALOG_STYLE_MSGBOX,"Haussystem",string,"Ok","");
}
else
{
SetPlayerPos(playerid, hausInteriorData[hausInfo[i][hInterior]][iX], hausInteriorData[hausInfo[i][hInterior]][iY], hausInteriorData[hausInfo[i][hInterior]][iZ]);
SetPlayerVirtualWorld(playerid, hausInfo[i][hID]);
SetPlayerInterior(playerid, hausInteriorData[hausInfo[i][hInterior]][iInterior]);
}
}
else if(hausInfo[i][hGekauft] == 0)
{
SendClientMessage(playerid,GRAU,"Dieses Haus wurde noch nicht gekauft, deshalb kannst du auch nicht reingehen.");
}
break;
}
}
return 1;
}
/enter Funzuniert nicht ( Haussystem )
- Maurice.
- Geschlossen
- Erledigt
-
-
ocmd:enter(playerid, params[])
{
new string[200];
for(new i = 0; i != MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(playerid,3.0,hausInfo[i][hX],hausInfo[i][hY],hausInfo[i][hZ]))
{
if(hausInfo[i][hGekauft] == 1)
{
if(hausInfo[i][hInterior] != 1)
{
format(string,sizeof(string),"Dieses Haus besitzt noch kein Interior\nBitte gehe zum Hausshop und kaufe dir dort ein Interior");
ShowPlayerDialog(playerid,DIALOG_HAUSINFO,DIALOG_STYLE_MSGBOX,"Haussystem",string,"Ok","");
}
else
{
SetPlayerPos(playerid, hausInteriorData[hausInfo[i][hInterior]][iX], hausInteriorData[hausInfo[i][hInterior]][iY], hausInteriorData[hausInfo[i][hInterior]][iZ]);
SetPlayerVirtualWorld(playerid, hausInfo[i][hID]);
SetPlayerInterior(playerid, hausInteriorData[hausInfo[i][hInterior]][iInterior]);
}
}
else if(hausInfo[i][hGekauft] == 0)
{
SendClientMessage(playerid,GRAU,"Dieses Haus wurde noch nicht gekauft, deshalb kannst du auch nicht reingehen.");
}
break;
}
}
return 1;
}versuchs mal so
-
ocmd:enter(playerid,params[])
{
for(new i=0;i!=MAX_HOUSES;i++){
if(IsPlayerInRangeOfPoint(playerid,3,hausInfo[i][hX],houseInfo[i][hY],hausInfo[i][hZ)){
if(hausInfo[i][hGekauft] == 1)return SendClientMessage(playerid,GRAU,"Dieses Haus wurde noch nicht gekauft, deshalb kannst du auch nicht reingehen,");
if(hausInfo[i][hInterior] == 0)return ShowPlayerDialog(playerid,DIALOG_HAUSINFO,DIALOG_STYLE_MSGBOX,"Haussystem","Dieses Haus besitzt noch kein Interior\bBitte gehe zum Hausshop und kaufe dir dort ein Interior","Ok","");
else SetPlayerPos(playerid,hausInteriorData[hausInfo[i][hInterior]][iX],hausInteriorData[hausInfo[i][hInterior]][iY],hausInteriorData[hausInfo[i][hInterior]][iZ]);SetPlayerVirtualWorld(playerid, hausInfo[i][hID]);SetPlayerInterior(playerid, hausInteriorData[hausInfo[i][hInterior]][iInterior]);
}
else continue;
}
return 1;
}Probier das mal aus.
-
ocmd:enter(playerid,params[])
{
for(new i=0;i!=MAX_HOUSES;i++){
if(IsPlayerInRangeOfPoint(playerid,3,hausInfo[i][hX],houseInfo[i][hY],hausInfo[i][hZ)){
if(hausInfo[i][hGekauft] == 1)return SendClientMessage(playerid,GRAU,"Dieses Haus wurde noch nicht gekauft, deshalb kannst du auch nicht reingehen,");
if(hausInfo[i][hInterior] == 0)return ShowPlayerDialog(playerid,DIALOG_HAUSINFO,DIALOG_STYLE_MSGBOX,"Haussystem","Dieses Haus besitzt noch kein Interior\bBitte gehe zum Hausshop und kaufe dir dort ein Interior","Ok","");
else SetPlayerPos(playerid,hausInteriorData[hausInfo[i][hInterior]][iX],hausInteriorData[hausInfo[i][hInterior]][iY],hausInteriorData[hausInfo[i][hInterior]][iZ]);SetPlayerVirtualWorld(playerid, hausInfo[i][hID]);SetPlayerInterior(playerid, hausInteriorData[hausInfo[i][hInterior]][iInterior]);
}
else break;
}
return 1;
}Probier das mal aus.
Mit break brichst du schleife ab , was soll das denn bitteschön bringen? -
-
Weil es mehrere positionen sind
Dann würde es nicht gehen,weil er z.B ein pos 1 ist aber nicht an pos2
Deswegen statt break continue verwenden das überspringt das einfach und geht zum nächsten.Das ist daran falsch!!
-
Tut mir leid fehler besteht weiter hin..
-
Bitte klärt das hier per PN. Fehler besteht weiter hin...
-
Versuchs mal so:
Spoiler anzeigen ocmd:enter(playerid, params[])
{
new string[256];
for(new i = 0; i != MAX_HOUSES; i++) {
if(!IsPlayerInRangeOfPoint(playerid,3.0,hausInfo[i][hX],hausInfo[i][hY],hausInfo[i][hZ])) continue;
if(hausInfo[i][hGekauft] == 1) {
if(hausInfo[i][hInterior] == 0) {
format(string,sizeof(string),"Dieses Haus besitzt noch kein Interior\nBitte gehe zum Hausshop und kaufe dir dort ein Interior");
return ShowPlayerDialog(playerid,DIALOG_HAUSINFO,DIALOG_STYLE_MSGBOX,"Haussystem",string,"Ok","");
}
SetPlayerPos(playerid, hausInteriorData[hausInfo[i][hInterior]][iX], hausInteriorData[hausInfo[i][hInterior]][iY], hausInteriorData[hausInfo[i][hInterior]][iZ]);
SetPlayerVirtualWorld(playerid, hausInfo[i][hID]);
SetPlayerInterior(playerid, hausInteriorData[hausInfo[i][hInterior]][iInterior]);
return 1;
}
return SendClientMessage(playerid,GRAU,"Dieses Haus wurde noch nicht gekauft, deshalb kannst du auch nicht reingehen.");
}
return SendClientMessage(playerid,GRAU,"Du befindest dich nicht in der Nähe von einem Haus!");
}Wenn das nicht funktioniert downloade dir mal CrashDetect und poste den Fehler
mfg.
-
Danke erstmal für deine antwort, aber selber fehler. CrashDetect kann ich nicht benutzen da MSVCP120.dll nicht für Windows XP funzuniert.
ich denke da ja alle fehlermeldungen kommen das es ab dieser stelle nicht mehr funzuniert
SetPlayerPos(playerid, hausInteriorData[hausInfo[i][hInterior]][iX], hausInteriorData[hausInfo[i][hInterior]][iY], hausInteriorData[hausInfo[i][hInterior]][iZ]);
SetPlayerVirtualWorld(playerid, hausInfo[i][hID]);
SetPlayerInterior(playerid, hausInteriorData[hausInfo[i][hInterior]][iInterior]);das mit "Dieses haus besitzt noch kein..." funzuniert ja. Ich zeige dir mal hausInteriorData
enum hausInteriorDataEnumerator {
Float:iX,
Float:iY,
Float:iZ,
iInterior
};new hausInteriorData[][hausInteriorDataEnumerator] =
{
{318.564971,1118.209960,1083.882812, 5}};
-
breadfish.de
Hat das Thema geschlossen.