Beiträge von BlueSpider


    ocmd:buy(playerid,params[])
    {
    if(IsPlayerInRangeOfPoint(playerid,2,-10.7395,-178.2695,1003.5469));
    {
    ShowPlayerDialog(playerid,DIALOG_KAUFEN,DIALOG_STYLE_LIST,"=======REWE=======","TestObject","Ok","Abbrechen");
    return 1;
    }
    }


    Wozu ";" ? mach das weg & der Fehler ist auch weg ;)



    Kürzer & übersichtlicher :



    ocmd:buy(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,-10.7395,-178.2695,1003.5469)) return 1;
    ShowPlayerDialog(playerid,DIALOG_KAUFEN,DIALOG_STYLE_LIST,"=======REWE=======","TestObject","Ok","Abbrechen");
    return 1;

    }


    Änder die Dialog ID bzw definiere eine neue .



    #define DIALOG_LOGIN 3
    #define DIALOG_REG 4
    #define DIALOG_DONATOR 5
    #define WAFKAUF 6


    ---




    if(strcmp("/buy",cmdtext,true,10) == 0) { ShowPlayerDialog(playerid,WAFKAUF,DIALOG_STYLE_LIST,"{FF0000}============Shop============","Desert Eagle (5000$)\nColt (2000$)\nMP5 (5000$)\nAK-47 (9000$)\nSpas12 Shotgun (10000$)\nSniper gewehr (6000$)\nVIP\n","Kaufen","Abbrechen"); return 1; }



    ---



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {


    if(dialogid==WAFKAUF) {
    if(response)
    {
    if(listitem==0) { // Deagle
    if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,24,21);
    GivePlayerMoney(playerid,-5000);
    SendClientMessage(playerid,COLOR_GREEN,"Desert Eagle gekauft für 5000$.");
    }
    if(listitem==1) { // COLT 45
    if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,22,68);
    GivePlayerMoney(playerid,-2000);
    SendClientMessage(playerid,COLOR_GREEN,"Colt gekauft für 2000$.");
    }
    if(listitem==2) { // MP5K
    if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,29,60);
    GivePlayerMoney(playerid,-5000);
    SendClientMessage(playerid,COLOR_GREEN,"MP5 gekauft für 5000$.");
    }
    if(listitem==3) { // AK47
    if(GetPlayerMoney(playerid) < 9000) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,30,60);
    GivePlayerMoney(playerid,-9000);
    SendClientMessage(playerid,COLOR_GREEN,"AK-47 gekauft für 9000$.");
    }
    if(listitem==4) { // SPAS12
    if(GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,27,21);
    GivePlayerMoney(playerid,-10000);
    SendClientMessage(playerid,COLOR_GREEN,"Spas 12 Shotgun gekauft für 10000$.");
    }
    if(listitem==5) { // SNIPER
    if(GetPlayerMoney(playerid) < 6000) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,34,25);
    GivePlayerMoney(playerid,-6000);
    SendClientMessage(playerid,COLOR_GREEN,"Sniper gewehr gekauft für 4000$.");
    }
    if(listitem==6) { // VIP
    if(Player[playerid][VIP] < 1) return SendClientMessage(playerid,COLOR_RED,"Du bist kein VIP User!");
    ShowPlayerDialog(playerid,DIALOG_DONATOR,DIALOG_STYLE_LIST,"VIP","50% Rüstung ($1000)\n Tec9 ($2000)\nM4 ($25000)","Kaufen","Abbrechen");
    }
    }


    if(dialogid == DIALOG_DONATOR)
    {
    if(response)
    {
    switch(listitem)
    {
    case 0:
    {
    if(Player[playerid][VIP] < 1) return SendClientMessage(playerid,COLOR_RED,"Du bist kein VIP User!");
    SetPlayerArmour(playerid,50);
    }
    case 1:
    {
    if(Player[playerid][VIP] < 1) return SendClientMessage(playerid,COLOR_RED,"Du bist kein VIP User!");
    if(GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,32,250);
    GivePlayerMoney(playerid,-2000);
    SendClientMessage(playerid,COLOR_GREEN,"Tec9 gekauft für 2000$.");
    }
    case 2:
    {
    if(Player[playerid][VIP] < 1) return SendClientMessage(playerid,COLOR_RED,"Du bist kein VIP User!");
    if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid, 0xFFFFFF, "Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,31,250);
    GivePlayerMoney(playerid,-2500);
    SendClientMessage(playerid,COLOR_GREEN,"M4 gekauft für 2500$.");
    }
    }
    }
    }





    Dein Fehler lag daran das du die If Abfrage auskommentiert hast die nach der ID fragt d.h. beim Aufruf von Ondialogresponse wurde ohne AbFrage der Code ausgeführt.
    Ich habe dir jetzt eine ID definiert und die if abfrage wieder auskommentiert, ich hoffe ich konnte dir weiterhelfen und dir deinen fehler klar machen ;)


    mfg

    Normal müsste das so gehen :
    GetObjectPos(Dyna[1],x,y,z);

    Und für x y z neue Variablen verwenden denn dort werden die Koordinaten vom Abgefragten Object hineingeschrieben.
    Was mir an deinem Code nicht einleuchtet sind die vielen Abfragen ...
    Ich hätte es an deiner Stelle anders gelöst. Dein Code ist nämlich ziemlich lang & umständlich. Im Übrigen kannst du auch viele if abfragen zusammenschieben ;)

    Code
    C:\Dokumente und Einstellungen\Julian\Desktop\rock.pwn(4311) : warning 203: symbol is never used: "eis"
     C:\Dokumente und Einstellungen\Julian\Desktop\rock.pwn(4311) : warning 203: symbol is never used: "pizza"


    Die beiden Variablen kannst du löschen.


    Code
    C:\Dokumente und Einstellungen\Julian\Desktop\rock.pwn(1578) : error 047: array sizes do not match, or destination array is too small


    Der Code zu dieser zeile wäre hilfreich. Höchstwahrscheinlich ist eine Variable hier zu klein.

    Mit hoher wahrscheinlichkeit ein Klammerfehler.
    Such mal nach PawnXYZ und lasse das Script analysieren, damit kannst du den/die Fehler schon sehr gut eingrenzen und den Fehler auch selbst finden.