Habe ein Biz fehler

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
  • Hallo Leute, ich habe ein Biz fehler,
    Immer wenn ich einen auftrag stellen möchte für fahrzeuge, dann bekomme ich einen Fehler, der Fehler ist


    Das kannst du an deinem Ort nicht


    Wie soll ich ein BIZ sonst abfragen ?
    Ich habe es so gemacht.


    ocmd:auftragstellen(playerid,params[])
    {
    new i;
    for(i=0; i<sizeof(Biz); i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]))continue;
    if(GetPlayerVirtualWorld(playerid)!=i)continue;
    if(strcmp(Biz[i][besitzer],SpielerName(playerid),true)&&strcmp(Biz[i][teilhaber],SpielerName(playerid),true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");
    SetPVarInt(playerid,"bizAuftragBiz",i);
    format(longstr,sizeof(longstr),"");
    for(i=0; i<sizeof(orderCars); i++)
    {
    format(longstr,sizeof(longstr),"%s\n%s (%i$)",longstr,orderCars[i][v_name],orderCars[i][preis]+getOrderZuschlag(orderCars[i][model]));
    }
    ShowPlayerDialog(playerid,DIALOG_ORDER_CAR,DIALOG_STYLE_LIST,"Auftrag erstellen - Fahrzeug auswählen",longstr,"Weiter","Abbrechen");
    return 1;
    }
    return ErrorMsg(playerid,"Das kannst du an deinem Ort nicht");
    }

  • Ich weiß es nicht 100% aber wir versuchene s mal so:
    1. mach dein new i; da weg und mach es so for(new i=0;
    forschleife drinne behalten..
    Was mir aufgefallen ist dein:


    if(!IsPlayerInRangeOfPoint(playerid,5,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]))return SendClientMessage(playerid,COLOR_GRAU,"Das kannst du an deinem Ort nicht");

    unten das return 1; machen

  • Hallo


    Versuch 1:
    ocmd:auftragstellen(playerid,params[])
    {
    for(new i=0; i<sizeof(Biz); i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]))return ErrorMsg(playerid,"Das kannst du an deinem Ort nicht.");
    if(strcmp(Biz[i][besitzer],SpielerName(playerid),true)&&strcmp(Biz[i][teilhaber],SpielerName(playerid),true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");
    SetPVarInt(playerid,"bizAuftragBiz",i);
    format(longstr,sizeof(longstr),"");
    for(i=0; i<sizeof(orderCars); i++)
    {
    format(longstr,sizeof(longstr),"%s\n%s (%i$)",longstr,orderCars[i][v_name],orderCars[i][preis]+getOrderZuschlag(orderCars[i][model]));
    }
    ShowPlayerDialog(playerid,DIALOG_ORDER_CAR,DIALOG_STYLE_LIST,"Auftrag erstellen - Fahrzeug auswählen",longstr,"Weiter","Abbrechen");
    return 1;
    }
    return 1;
    }


    Ergebnis: Negativ


    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Zweiter versuch:


    ocmd:auftragstellen(playerid,params[])
    {
    for(new i=0; i<sizeof(Biz); i++)
    {
    GetPlayerPos(playerid,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]);
    if(!IsPlayerInRangeOfPoint(playerid,5,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]))return ErrorMsg(playerid,"Das kannst du an deinem Ort nicht.");
    if(strcmp(Biz[i][besitzer],SpielerName(playerid),true)&&strcmp(Biz[i][teilhaber],SpielerName(playerid),true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");
    SetPVarInt(playerid,"bizAuftragBiz",i);
    format(longstr,sizeof(longstr),"");
    for(i=0; i<sizeof(orderCars); i++)
    {
    format(longstr,sizeof(longstr),"%s\n%s (%i$)",longstr,orderCars[i][v_name],orderCars[i][preis]+getOrderZuschlag(orderCars[i][model]));
    }
    ShowPlayerDialog(playerid,DIALOG_ORDER_CAR,DIALOG_STYLE_LIST,"Auftrag erstellen - Fahrzeug auswählen",longstr,"Weiter","Abbrechen");
    return 1;
    }
    return 1;
    }


    Ergebnis: Negativ
    Fehlermeldung: Du bist weder Geschäftsführer noch Teilhaber.
    Nachtrag: Die Fehlermeldung kommt immer, egal wo ich stehe.

  • Fragst du hier nicht ab ob er Teilinhaber ist und sofern er es ist, returnst du?
    Wenn ich falsch liege, verbessert mich.
    if(strcmp(Biz[i][besitzer],SpielerName(playerid),true)&&strcmp(Biz[i][teilhaber],SpielerName(playerid),true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");

  • if(strcmp(Biz[besitzer],SpielerName(playerid),true)&&strcmp(Biz[teilhaber],SpielerName(playerid),true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");


    if(strcmp(Biz[i][besitzer]!=SpielerName(playerid),true)&&strcmp(Biz[i][teilhaber],SpielerName(playerid),true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");

  • Ergebnis: Negativ


    2 Errors:


    C:\Users\Steffen\Desktop\SuNRevival\gamemodes\SuN2.pwn(18342) : error 033: array must be indexed (variable "SpielerName")
    C:\Users\Steffen\Desktop\SuNRevival\gamemodes\SuN2.pwn(18342) : error 001: expected token: ")", but found "return"

  • new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));



    so das kommt über IfIsPlayerINRangeOfPoint
    Und fügst das so alles ein



    den code da
    if(strcmp(Biz[i][besitzer]!=SpielerName(playerid),true)&&strcmp(Biz[i][teilhaber],name,true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");

  • Ergebnis: Negativ
    Fehler: 1


    C:\Users\Steffen\Desktop\SuNRevival\gamemodes\SuN2.pwn(18344) : error 033: array must be indexed (variable "SpielerName")


    |---------------------------------------------------------|


    Der ganze Command:


    ocmd:auftragstellen(playerid,params[])
    {
    for(new i=0; i<sizeof(Biz); i++)
    {
    GetPlayerPos(playerid,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]);
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(!IsPlayerInRangeOfPoint(playerid,5,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]))return ErrorMsg(playerid,"Das kannst du an deinem Ort nicht.");
    if(strcmp(Biz[i][besitzer]!=SpielerName(playerid),true)&&strcmp(Biz[i][teilhaber],name,true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");
    SetPVarInt(playerid,"bizAuftragBiz",i);
    format(longstr,sizeof(longstr),"");
    for(i=0; i<sizeof(orderCars); i++)
    {
    format(longstr,sizeof(longstr),"%s\n%s (%i$)",longstr,orderCars[i][v_name],orderCars[i][preis]+getOrderZuschlag(orderCars[i][model]));
    }
    ShowPlayerDialog(playerid,DIALOG_ORDER_CAR,DIALOG_STYLE_LIST,"Auftrag erstellen - Fahrzeug auswählen",longstr,"Weiter","Abbrechen");
    return 1;
    }
    return 1;
    }

  • Ich habe das nun so gemacht.
    ocmd:auftragstellen(playerid,params[])
    {
    for(new i=0; i<sizeof(Biz); i++)
    {
    GetPlayerPos(playerid,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]);
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(!IsPlayerInRangeOfPoint(playerid,5,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz]))return ErrorMsg(playerid,"Das kannst du an deinem Ort nicht.");
    if(strcmp(Biz[i][besitzer]!=name,true)&&strcmp(Biz[i][teilhaber]!=name,true))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");
    SetPVarInt(playerid,"bizAuftragBiz",i);
    format(longstr,sizeof(longstr),"");
    for(i=0; i<sizeof(orderCars); i++)
    {
    format(longstr,sizeof(longstr),"%s\n%s (%i$)",longstr,orderCars[i][v_name],orderCars[i][preis]+getOrderZuschlag(orderCars[i][model]));
    }
    ShowPlayerDialog(playerid,DIALOG_ORDER_CAR,DIALOG_STYLE_LIST,"Auftrag erstellen - Fahrzeug auswählen",longstr,"Weiter","Abbrechen");
    return 1;
    }
    return 1;
    }





    C:\Users\Steffen\Desktop\SuNRevival\gamemodes\SuN2.pwn(18344) : error 033: array must be indexed (variable "name")


    Ich finde da kein Fehler, kann auch sein, das ich durch den tüttel bin.
    Danke für deine Antwort Rapsor.
    MfG Bullsmith

  • Ich finde da kein Fehler, kann auch sein, das ich durch den tüttel bin.


    Da sind auch noch in der Schleife Fehler...schreib das mal so:


    ocmd:auftragstellen(playerid,params[])
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    for(new i=0; i<sizeof(Biz); i++) {
    if(!IsPlayerInRangeOfPoint(playerid,5,Biz[i][bizix],Biz[i][biziy],Biz[i][biziz])) continue;
    if(strcmp(Biz[i][besitzer],name) && strcmp(Biz[i][teilhaber],name))return ErrorMsg(playerid,"Du bist weder Geschäftsführer noch Teilhaber.");
    SetPVarInt(playerid,"bizAuftragBiz",i),strdel(longstr,0,strlen(longstr));
    for(i=0; i<sizeof(orderCars); i++) format(longstr,sizeof(longstr),"%s\n%s (%i$)",longstr,orderCars[i][v_name],orderCars[i][preis]+getOrderZuschlag(orderCars[i][model]));
    return ShowPlayerDialog(playerid,DIALOG_ORDER_CAR,DIALOG_STYLE_LIST,"Auftrag erstellen - Fahrzeug auswählen",longstr,"Weiter","Abbrechen");
    }
    return ErrorMsg(playerid,"Das kannst du an deinem Ort nicht.");
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S