Beiträge von Blunt

    Zitat

    number of arguments does not match definition

    In der Regel bedeutet es einfach nur, dass du eine Funktion falsch benutzt, da du paramter falsch benutzt.


    Zitat

    unreachable code

    kommt immer, wenn du kein Code erreichen kannst, zum Beispiel wenn du sowas hast:

    if(!strcmp(cmdtext,"/test")){
    SendClientMessage(playerid,Rot,"huhu");
    return 1; <------------------------- Wegen dem Return kann der untere Code niemals erreicht werden, so entstehen diese "unreachable code" fehler.
    SendClientMessage(playerid,Rot,"huhu");
    return 1;
    }

    Das habe ich schon getan, allerdings habe ich da nur sachen gefunden wie ich es MIT befehl bewege, was ich aber ja nicht möchte

    Ich helf dir mal bisschen.
    - SetTimer
    - IsPlayerInRangeOfPoint
    - IsPlayerAnAdmin
    - MoveObject
    - CreateObject


    so, jetzt geh mal herausfinden, was du mit diesen Stichwörtern anfangen kannst, denke mal, dass du es dann sicherlich hinbekommst :)

    Globaler Timer, jede Millisekunde abfragen ob ein Admin in der Nähe ist, wenn ja öffnen.

    Ich berichtige es mal bisschen :<


    Zitat

    Globaler Timer, jede Sekunde abfragen ob ein Admin in der Nähe ist, wenn ja öffnen, wenn offen und kein Admin in der nähe ist, schließen.

    @Cleriker:
    Dann schlage ich erstmal vor, dass du dir Tutorials anguckst, denn wir wollen dir schließlich nicht ein Script schreiben, nech? :)

    Der, der lesen kann, ist klar im Vorteil. Es steht klar und unmissverständlich "BEISPIEL" drunter und auch drüber ;)

    Wer lesen kann ist klar im Vorteil, da hast du recht. Deswegen solltest du auch keine Beispiele reintun die mit dem Thema nichts zutun haben. Er wollte Strings "zuweisen" und nicht addieren, daher ist dein Beispiel eher schwachsinnig, meinst du nicht? :whistling:


    da alles gelöst ist, denke ich mal, dass ein /close fein wäre.

    War die Syntax von "dini_Get" nicht ohne Angabe eine String-Länge?
    Beispiel:dini_Get(file,"Ip"); 
    Desweiteren ist es leider nicht richtig, die Auslese-Funktion mit einem String gleichzusetzen, daher:
    (Beispiel)
    strcat(gPlayerInfo[playerid][PLAYER_IP],dini_Get(file,"Ip"));
    (Beispiel entnommen aus sa-mp wikipedia)

    strcat ist hier falsch. Er will keine 2 Strings verbinden, du kannst es zwar benutzen, wenn du dafür sorgst dass der 1. String immer leer bleibt, aber das ist doch schwachsinnig :)

    So aber nicht!


    Du kannst keine Strings wie Interger zuweisen. Du musst mit solchen Sachen ganz anders umgehen.


    Statt:
    BusinessInfo[idx][bOwner] = dini_Get(file,"bOwner",24);
    BusinessInfo[idx][bName] = dini_Get(file,"bName",128);


    musst du:
    format(BusinessInfo[idx][bOwner],32,dini_Get(file,"bOwner");
    format(BusinessInfo[idx][bName],128,dini_Get(file,"bNamer");


    machen.

    Ich würd dir einfach mal "IsVehicleBike", "IsVehicleCar", "IsVehicleAirplane" usw. empfehlen, ist viel übersichtlicher und die Funktionen exestieren auch schon irgendwo. Einfach googlen, und dann if(IsVehicleBike(vehicleid) { blabla

    wäre mir neu!
    Ich glaube sowas müsste man immer vorher selbst als Funktion oder Stock definieren.

    Also erstmal benutze doch bitte kein ocmd wenn du auch keine Parameter benutzt, wäre nämlich sinnfrei.


    Ich denke du bist generell bisschen durcheinander geraten in deinen Zeilen. Allein bei /quitjob die Meldung "Du hast bereits einen Job" ist seltsam ^^


    Ich würde den Stock erstmal ändern:
    stock HatPlayerAnNebenJob(playerid)
    {
    if(GetPVarInt(playerid,"Jobstatus")>=1)return 1;
    return 0;
    }

    Dann würde ich Quitjob erstmal in das ändern:
    if(!strcmp(cmdtext,"/quitjob"))
    {
    if(!HatPlayerAnNebenJob(playerid)return SendClientMessage(playerid,DUNKELROT,"Du bist bereits arbeitslos.");
    if(!IsPlayerInRangeOfPoint(playerid,2.0,358.4476,180.6003,1008.3828))return SendClientMessage(playerid,DUNKELROT,"Du bist nicht am tresen bei /quitjob");
    {
    ShowPlayerDialog(playerid,DIALOG_QUITJOB,DIALOG_STYLE_MSGBOX,"Job Kündigen","Willst du deinen Job Wirklich Kündigen ?","Ja","Nein");
    }
    return 1;
    }


    Und bei /jobs:
    if(!strcmp(cmdtext,"/quitjob"))
    {
    if(HatPlayerAnNebenJob(playerid)return SendClientMessage(playerid,DUNKELROT,"Du hast bereits einen Job!");
    if(!IsPlayerInRangeOfPoint(playerid,2.0,358.3224,184.6619,1008.3828))return SendClientMessage(playerid,DUNKELROT,"Du bist nicht am /jobs Tresen");
    {
    ShowPlayerDialog(playerid,DIALOG_JOBS,DIALOG_STYLE_LIST,"Job Liste","Taxifahrer\nMüllman","Auswählen","Schließen");
    }
    return 1;
    }


    Wäre einfacher denk ich