Beiträge von SoulMan

    Du meintest ja im Tutorial, dass ein Boolean standardmäßig auf 0 steht und daher, so denk ich jetzt mal
    auf false steht. Daher müsste ja die einfache Verneinung eines Standardbools somit wahr ausgeben.


    Hab es vermutlich zu genau genommen. :P

    if(sscanf(params,"uis",pID,wanteds,grund))return SendClientMessage(playerid,WEIß,"Benutzung: /su [ID/Name] [Betrag] [Grund]");

    Guten Abend!
    Ich habe ein Problem mit einem Befehl, ich möchte, dass man an seinen Häusern, sofern man in der Nähe steht
    den folgenden Befehl nutzen kann und somit versch. Optionen zur Verfügung hat, aber das funktioniert nicht so richtig.
    Wenn man 1 Haus besitzt, ist das kein Problem, aber sobald man ein 2. Haus hat, steht dort, dass man kein Besitzer sei.


    COMMAND:haus(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    if(strcmp(HausInfo[haus][haus_besitzer],SpielerName[playerid],false) == 0)
    {
    ShowPlayerDialog(playerid,HausDialog,DIALOG_STYLE_LIST,"Haus-Einstellungen","Öffnen\nSchließen\nÜbertragen","Wählen","Beenden");
    return 1;
    }
    else return SendClientMessage(playerid,0xC8C8C8FF,"Du bist nicht der Besitzer");
    }
    else return SendClientMessage(playerid,0xC8C8C8FF,"Du bist nicht an deinem Haus");
    }
    return 1;
    }


    Hoffe jemand kann ein wenig helfen..
    Mir fällt dazu nichts ein. ^^

    Nettes Tutorial, aber wäre es bei den Bools nicht eher so.
    // Ebenso möglich:
    if(boolean) print("Falsch"); //Da Standardmäßig auf 0
    if(!boolean) print("Wahr");


    Oder irre ich mich da? ^^

    new randomNachricht[][] =
    {
    "Nachricht 1",
    "Nachricht 2",
    "Nachricht 3"
    };


    new randNachricht = random(sizeof(randomNachricht));
    SendClientMessageToAll(Farbe, randomNachricht[randNachricht]);


    Aus der Wiki. (klick)

    Wie auch immer. ^^
    Habe ja generell nichts gegen Credits, aber das ist so simpel, da
    ist es echt nicht nötig.
    Aber jeder hat seine eigene Meinung. :whistling:

    Wozu sollte man denn Credits drin behalten?
    Das kann doch jeder scripten, daher erkennt man eh nicht, ob es deines ist.


    Sorry, finde das total affig.


    */Edit:


    Wie bereits gesagt, Munitionsabfrage sollte mit drin sein.
    Gibt es schon viel zu oft diese Gunshops..

    Ok, gut, aber wie soll ich jetzt am besten playerid in eine Variable packen, damit sie bei /pickup wieder als Anrufer ausgegeben werden kann?
    Bin gerade ein wenig irritiert..tut mir echt leid. :S

    Habs jetzt so, bekomme aber Errors, weil number in den nächsten Zeilen nicht mehr definiert ist.


    if(sscanf(params, "d",number))
    new pID = GetPlayerIDByNummer(number);

    Ah okey, ich versuch es mal.
    Sollte jetzt etwas einfacher werden, wenn man dann auch mal pID hat. :P
    Ergebnis poste ich gleich hier rein.


    */Edit:
    Jetzt hab ich ein total dämliches Problem.
    Entweder ist pID oder number nicht definiert, weil es nicht vorher abgefragt werden kann.


    new number = hInfo[pID][Nummer],str[128],str2[128];
    new pID = GetPlayerIDByNummer(number);


    */Edit2:
    Gelöst. xD
    new pID ,number;
    number = hInfo[pID][Nummer];
    pID = GetPlayerIDByNummer(number);

    Mein /heal Befehl sieht so aus:


    COMMAND:heal(playerid,params[])
    {
    new pID, Float:x,Float:y,Float:z;
    if(sscanf(params, "u",pID))return SendClientMessage(playerid,0xC8C8C8FF,"/heal [ID/Name]");
    if (!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if (pID == playerid)return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dich nicht selber heilen!");
    if(pInfo[playerid][Fraktion] != 7) return SendClientMessage(playerid, 0xC8C8C8FF, "Du bist kein Mitglied der SAM!");
    if(pInfo[playerid][Medikamente] == 0) return SendClientMessage(playerid, 0xC8C8C8FF, "Du hast keine Medikamente mehr!");
    GetPlayerPos(playerid,x,y,z);
    {
    if(IsPlayerInRangeOfPoint(pID,3.0,x,y,z))
    if(GetPVarInt(pID, "heal") == 1) return SendClientMessage(playerid,0xC8C8C8FF,"Diesem Spieler wurde bereits eine Heilung angeboten!");
    else
    {
    new str[128] ,str2[128];
    format(str,sizeof(str),"%s hat dir eine Heilung angeboten, /acceptheal zum annehmen!",SpielerName[playerid]);
    format(str2,sizeof(str2),"Du hast %s eine Heilung angeboten!",SpielerName[pID]);
    SendClientMessage(pID,0x00A8FFFF,str);
    SendClientMessage(playerid,0x00A8FFFF,str2);
    SetPVarInt(pID,"heal", 1);
    pInfo[playerid][Medikamente]--;
    }
    return 1;
    }
    }


    Funktioniert alles richtig. Habe es eben getestet, habe ja 2 PC's ^^


    */Edit:
    Mir geht es ja auch garnicht darum Recht zu haben, ich möchte bloß dieses blöde Call-System hinter mich kriegen. ^^
    Sitze da jetzt schon seit gestern dran. Die ganzen versch. Handysysteme hier sind nicht wirklich brauchbar, daher konnte ich mir auch kaum
    was vernünftiges anschauen und das Prinzip nachmachen.