Beiträge von aytef

    Yes, das funktioniert wunderbar. :D
    Gerade schnell ausprobiert, boah ist das geil. :D Dann muss ich ja nicht mehr die ganzen Befehle, die über den Chat gehen nicht so aufwendig in Dialoge konvertieren. :D


    EDIT:
    Jeffry:
    Kleine Frage: Ich versuche ein Befehl, der ziemlich lang von der Benutzung ist, auch so zu konvertieren. Nur kriege ich dabei ein Warning..
    Der Befehl: /hausgun [Get/Dump][Waffenname][Munition]
    Meine Theorie: cmd_hausgun(playerid,"get", inputtext);
    Warning: warning 202: number of arguments does not match definition

    Passt, danke! :D
    Jeffry: Hab da noch zwei Fragen:
    Ich versuche mit zcmd einen bereits erstellten Befehl nochmal im Script aufzurufen. Ist das so richtig? Denn ich kriege immer Warnungen beim Compilen..


    cmd_allerauswerfen(playerid);
    cmd_rauswerfen(playerid);
    cmd_mieter(playerid);
    warning 202: number of arguments does not match definition
    -


    Das gleiche gilt nochmal bei einem anderen Befehl, wo ich den inputtext benutzen möchte.
    Befehl für den Dialog:

    Spoiler anzeigen

    COMMAND:rauswerfen(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    ShowPlayerDialog(playerid,DIALOG_MIETERRAUSWERFEN,DIALOG_STYLE_INPUT,"Hausverwaltung - Mieter kündigen","Welchen Mieter möchtest du kündigen?\nBitte gebe die ID oder den Spielernamen ein!","Auswählen","Abbrechen");
    return 1;
    }

    Spoiler anzeigen

    Befehl für die Funktion:
    COMMAND:rauswerfenplayer(playerid,params[])
    {
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    ReturnPropertyData(playerid);
    new namestring[24],query[128],string[128],haus = Spieler[playerid][pReturnPropertyDataHaus],count = Spieler[playerid][pReturnPropertyDataHausCount];
    if(count == 0)return SendClientMessage(playerid,GRAU,"Du besitzt kein Haus.");
    if(haus == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht in/an deinem Haus.");
    if(sscanf(params,"s[24]",namestring))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /rauswerfen [Mieter]");
    new pID = GetPlayerID(namestring);
    if(pID == -1)
    {
    format(query,sizeof(query),"SELECT * FROM "#SQL_TAG"_account_main WHERE HausMieter='%d'",haus);
    mysql_function_query(MySqlConnection,query,true,"OnQueryFinish2","ssiiii",query,namestring,_SQL_MIETER_KICK,haus,playerid,MySqlConnection);
    return 1;
    }
    if(Spieler[pID][pRentHome] == haus)return SendClientMessage(playerid,GRAU,"Spieler ist nicht bei dir eingemietet.");
    Spieler[pID][pSpawn] = 0;
    HausInfo[haus][haus_eingemitetenzaehler]--;
    format(string,sizeof(string),"Du hast %s aus deinem Haus geworfen! Mieterslots %i/%i",namestring,HausInfo[haus][haus_eingemitetenzaehler],HausInfo[haus][haus_slots]);
    SendClientMessage(playerid,GELB,string);
    UpdateHausLabel(haus,2);//funktion 1 wenn das haus ohne besitzer ist,funktion 2 wenn das biz mit besitzer ist
    return 1;
    }

    Spoiler anzeigen
    Bei OnDialogResponse

    case DIALOG_MIETERRAUSWERFEN:
    {
    if(response == 0)return 1;
    else
    {
    cmd_rauswerfenplayer(playerid, inputtext);
    }
    return 1;
    }

    Schnelle Frage:
    Ich benutze zcmd als Befehlprozessor und wollte ein Befehl, den ich bereits erstellt habe nochmal aufrufen per OnPlayerCommandText.
    Aber da ja zcmd das nicht mehr benutzt, weiß ich nicht was der nun benutzt. Habt ihr ne Idee?
    Weil, wenn ich das versuche, geht der Command Ingame nicht.


    Beispiel:
    OnPlayerCommandText(playerid,"/housecontrol sell");

    Guten Moin,
    ich habe eine If-Abfrage aus einem Code entfernt und habe folgenden Fehler bekommen: error 029: invalid expression, assumed zero
    Die Sache ist aber, ich finde den Fehler in dem Code nicht.


    Die Zeile, die als fehlerhaft gilt.

    else (das else sollte angeblich falsch sein)
    {
    if(Spieler[i][pSnow] == 1)
    {
    Spieler[i][pSnow] = 0;
    StopPlayerObject(i,Spieler[i][pHaveSnow]);
    DestroyPlayerObject(i,Spieler[i][pHaveSnow]);
    }
    SetPlayerTime(i,23,59);
    SetPlayerWeather(i,16);
    }


    Für die ganze Funktion, habe ich das ganze nochmal hochgeladen.
    http://pastebin.com/La3jKhnR


    Jeffry: