Beiträge von Tround

    probiers mal so:

    ocmd:zoll(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0, 1648.24, -17.61, 36.26))
    {
    if(GetPVarInt(playerid,"lvpass") == 1)
    {
    MoveObject(ztor[1],1648.24, -17.61, 33.26,3.0);
    SetTimer("ztor1",5000,1);
    GameTextForPlayer(playerid,"Zoll frei",3000,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du bezahlst nichts für den Zoll, da du einen Pass besitzt!");
    }
    else
    {
    GivePlayerMoney(playerid,-200);
    MoveObject(ztor[1],1648.24, -17.61, 33.26,3.0);
    SetTimer("ztor1",5000,1);
    GameTextForPlayer(playerid,"-200$",3000,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du musst 200$ für den Zoll bezahlen!");
    SendClientMessage(playerid,COLOR_YELLOW,"Kauf dir lieber einen Pass.");
    }
    }
    if(IsPlayerInRangeOfPoint(playerid,5.0, 1628.13, -11.07, 36.26))
    {
    if(GetPVarInt(playerid,"lspass") == 1)
    {
    MoveObject(ztor[0],1628.13, -11.07, 33.26,3.0);
    SetTimer("ztor0",5000,1);
    GameTextForPlayer(playerid,"Zoll frei",3000,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du bezahlst nichts für den Zoll, da du einen Pass besitzt!");
    }
    else
    {
    GivePlayerMoney(playerid,-200);
    MoveObject(ztor[0],1628.13, -11.07, 33.26,3.0);
    SetTimer("ztor0",5000,1);
    GameTextForPlayer(playerid,"-200$",3000,1);
    SendClientMessage(playerid,COLOR_YELLOW,"Du musst 200$ für den Zoll bezahlen!");
    SendClientMessage(playerid,COLOR_YELLOW,"Kauf dir lieber einen Pass.");
    }
    }
    return 1;
    }

    du hast nachdem du lspass abfragst 2x klammer zugemacht.

    @ sonic
    anscheinend kennst du diesen bug noch nicht -.-
    @Sh12 aka Nrs
    haste meinen vorschlag mal probiert?
    hatte wie gesagt das gleiche problem und bei mir hats das gebracht.

    also bisher hab ich das hier:



    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid==autohaustext[4])
    {
    anfang:
    autozahl[playerid]-=1;
    if(autozahl[playerid]<400){autozahl[playerid]=611;}
    if(autohausautos(autozahl[playerid],0)==0){goto anfang;}
    DestroyVehicle(autohausauto[playerid]);
    autohausauto[playerid]=CreateVehicle(autozahl[playerid],-1948.9185,263.9953,35.5769,180.0,-1,-1,-1);
    SetVehicleVirtualWorld(autohausauto[playerid],playerid+1);
    format(fahrzeugstring,sizeof(fahrzeugstring),"%s",FahrzeugName[autozahl[playerid]-400]);
    TextDrawSetString(autohaustext[2],fahrzeugstring);
    format(fahrzeugstring,sizeof(fahrzeugstring),"%i",FahrzeugPreis[autozahl[playerid]-400]);
    TextDrawSetString(autohaustext[3],fahrzeugstring);
    }
    if(clickedid==autohaustext[5])
    {
    anfang2:
    autozahl[playerid]+=1;
    if(autozahl[playerid]>611){autozahl[playerid]=400;}
    if(autohausautos(autozahl[playerid],0)==0){goto anfang2;}
    DestroyVehicle(autohausauto[playerid]);
    autohausauto[playerid]=CreateVehicle(autozahl[playerid],-1948.9185,263.9953,35.5769,180.0,-1,-1,-1);
    SetVehicleVirtualWorld(autohausauto[playerid],playerid+1);
    format(fahrzeugstring,sizeof(fahrzeugstring),"%s",FahrzeugName[autozahl[playerid]-400]);
    TextDrawSetString(autohaustext[2],fahrzeugstring);
    format(fahrzeugstring,sizeof(fahrzeugstring),"%i",FahrzeugPreis[autozahl[playerid]-400]);
    TextDrawSetString(autohaustext[3],fahrzeugstring);
    }
    return 1;
    }


    und der stock



    stock autohausautos(veh,ah)
    {
    switch(ah)
    {
    case 0:{switch(veh){case 480,494,503,504,506,555,545,603,475,477,562,565,587,602,402,411,415,429,434,436,439,451,559,560,541,558,401,404,405,409,410,419,421,426,442,445,458,478,479,542,546,550,551,547,549,483,492,496,507,516,517,518,526,527,529,533,534,540,580,585,589,600,561,412,466,467,474,491,535,536,566,567,575,576: return 1;}return 0;}//autohaus
    case 1:{switch(veh){case 448,461,462,463,468,471,481,509,510,521,522,581,586: return 1;}return 0;}//motorrad
    case 2:{switch(veh){case 400,422,424,489,495,500,505,543,552,554,568,573,579,470,403,413,414,418,428,431,433,437,440,443,455,456,459,482,498,499,508,514,515,524,578,609: return 1;}return 0;}//lkw
    case 3:{switch(veh){case 446,452,453,454,472,473,484,493,539,595: return 1;}return 0;}//boot
    case 4:{switch(veh){case 417,469,487,511,512,513,519,548,553,563,577,592,593: return 1;}return 0;}//flug
    }
    return 0;
    }


    theoretisch klappt auch alles ^^ aber geht vlcht besser. ist auch das erste mal das ich mit goto rumprobiere.

    aber wie soll ich bei einem continue ein weiteres +=1 einbauen? geht nicht.. deshalb goto.
    oder wie würdest du es machen mit +1?
    edit: und ich denke eine schleife zu machen würde mehr resourcen fressen als kurz 2 zeilen nach oben zu springen oder?

    hallo
    habe vor ein autohaus zu scripten und ich will das autos die gesperrt sind übersprungen werden.
    habe es so probiert aber leider führt er den befehl einfach weiter aus ohne wieder nach oben zu springen.



    anfang:
    autozahl[playerid]+=1;
    if(autozahl[playerid]==Fahrzeugegesperrt(autozahl[playerid])){goto anfang;}

    habe mir gedacht theoretisch wenn er wieder zum anfang springt macht er erneut +1 aber leider ist dies nicht der fall.
    kennst sich damit jemand aus? was mach ich falsch

    ich verstehe nicht was du dich bei dem beitrag so aufregst. das ist doch nicht wirklich überheblich geschrieben. er hat seinen eigenen code mitgebracht und will doch nur wissen wie das geht? is doch vollkommen ok. es gibt schlimmeres

    habe bei meinem script genau das gleiche problem. sobald ich GetPlayerSkin(playerid) gemacht habe wurde immer die id 0 bei einem gmx gespeichert. jedoch getplayermoney und getplayerscore funktioniert.

    string = dini_Get("/Reports/%s.txt",name);
    format(string,sizeof(string),"Name: %s - Frage: %s", SpielerName(playerid),string);
    du speicherst in der ersten zeile etwas in den string ein. aber in der nächsten formatierst du ihn wieder. erstell am besten einen zweiten string.