Hi
ich habe ein Problem mit meinem Pfandflaschen System
wenn ich jetzt an einer Mülltonne stehe kommt immer nur "Du befindest dich an keiner Mülltonne!" also muss irgendwas bei IsPlayerInRangeOfPoint falsch sein pls help
mfg tdXkiller
Hi
ich habe ein Problem mit meinem Pfandflaschen System
wenn ich jetzt an einer Mülltonne stehe kommt immer nur "Du befindest dich an keiner Mülltonne!" also muss irgendwas bei IsPlayerInRangeOfPoint falsch sein pls help
mfg tdXkiller
Alles anzeigenHi
ich habe ein Problem mit meinem Pfandflaschen System
wenn ich jetzt an einer Mülltonne stehe kommt immer nur "Du befindest dich an keiner Mülltonne!" also muss irgendwas bei IsPlayerInRangeOfPoint falsch sein pls help
mfg tdXkiller
Also mir fällt nicht gleich was auf was falsch sein könnte aber vielleicht stehst du nicht na genug an einer Position stell vielleicht ein beziehen höher an statt 2 10 vielleicht Probier mal aus!
wenn ich jetzt an einer Mülltonne stehe kommt immer nur "Du befindest dich an keiner Mülltonne!" also muss irgendwas bei IsPlayerInRangeOfPoint falsch sein
Da hast du denn Fehler doch Gefunden? Such alle "IsPlayerInRangeOfPoint" und dann findest du die Lösung.
Mach die range mal auf 5 oder so.. dann teste nochmal
Hattest nen kleinen Denkfehler.
Du sagst ja, wenn jemand NICHT an der Stelle ist, returnst du die message. Da du aber ne Schleife durchgehst, nimmt der ja 1. die ersten koordinaten, wo du natürlich nicht bist, dabei returnt es deine Meldung und unterbricht damit die schleife.
dein code ist sogesehen unbrauchbar, da du die klammern falsch gesetzt hast
ocmd:durchsuchen(playerid, params[])
{
for(new i = 0; i < MAX_PFANDPOINTS; i++)
{
if(!IsPlayerInRangeOfPoint(playerid, 3.5, PfandPoint[i][PfandX], PfandPoint[i][PfandY], PfandPoint[i][PfandZ])) return SendClientMessage(playerid, COLOR_RED, "Du befindest dich an keiner Mülltonne!");
if(PfandCheck[i] != 0) return SendClientMessage(playerid, COLOR_RED, "Diese Mülltonne wurde bereits durchsucht!");
//Was passieren soll
SendClientMessage(playerid, -1, "Du durchsuchst die Mülltonne!");
}
return 1;
}
teste mal den und sag mir ob meine message kommt
jetzt kommt "Du befindest dich an keiner Mülltonne!"
Außerdem wenn er nicht an der Ersten Steht wird sofort die Nachricht angezeigt.
Hier mal umgeschrieben:
ocmd:durchsuchen(playerid, params[])
{
for(new i = 0; i < MAX_PFANDPOINTS; i++)
{
if(!IsPlayerInRangeOfPoint(playerid, 2, PfandPoint[i][PfandX], PfandPoint[i][PfandY], PfandPoint[i][PfandZ]))continue;
if(PfandCheck[i] != 0)return SendClientMessage(playerid, COLOR_RED, "Diese Mülltonne wurde bereits durchsucht!");
// Weiterer Code
return 1;
}
return SendClientMessage(playerid, COLOR_RED, "Du befindest dich an keiner Mülltonne!");
}
So sieht man wie leicht sowas eigentlich ist!
MFG Piet
könntest du mir pls erklären was continue; bedeutet währe nett da ich auch verstehen will was ich dahin schriebe
continue springt zum Ende der Schleife und ein neuer Durchlauf der Schleife beginnt.
Beispiel: 1 trifft nicht zu, fahre mit 2 fort und überspringe den Rest.
Break würde die Schleife dann abbrechen.
Danke an alle die Geholfen haben geht jetzt alles btw habe noch nen Fehler gefunden mein Timer war auch true gestellt xD