Script Problem --> Mit Dialog-Liste beim Waffenkauf

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo !


    Ich habe ein Problem.
    Also, ich hab es so gemacht das wenn jemand im Waffenladen in das Pickup läuft öffnet sich ein Dialog, wo der Spieler die Waffe auswählen kann, die er kaufen will.
    Dann habe ich gemacht was passieren soll, wenn er im Dialog etwas anklickt, zB. auf die Waffe AK47.


    Das hat leider nicht ganz geklappt und ich erhalte folgende Errors:


    waffenladen.pwn(306) : warning 217: loose indentation
    waffenladen.pwn(309) : warning 217: loose indentation
    waffenladen.pwn(309) : error 029: invalid expression, assumed zero
    waffenladen.pwn(309) : error 004: function "OnPlayerClickPlayer" is not implemented
    waffenladen.pwn(322) : error 030: compound statement not closed at the end of file ( started at line 268 )


    3 Errors.


    Hier ein Teil von meinem Script:



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == waffenkaufen)
    {
    if(response ==0)
    {
    return 1;
    }
    if(listitem ==0)
    {
    if(GetPlayerMoney(playerid)>7499)
    {
    GivePlayerMoney(playerid,-7500);
    GivePlayerWeapon(playerid,31,200);
    SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!");
    SendClientMessage(playerid,Grün,"Sie haben eine M4 mit 200 Munition erhalten!");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
    }
    if(listitem ==1)
    {
    if(GetPlayerMoney(playerid)>5999)
    {
    GivePlayerMoney(playerid,-6000);
    GivePlayerWeapon(playerid,30,150);
    SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!");
    SendClientMessage(playerid,Grün,"Sie haben eine AK47 mit 200 Munition erhalten!");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
    }
    if(listitem ==2)
    {
    if(GetPlayerMoney(playerid)>5499)
    {
    GivePlayerMoney(playerid,-5500);
    GivePlayerWeapon(playerid,29,500);
    SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!");
    SendClientMessage(playerid,Grün,"Sie haben eine MP5 mit 500 Munition erhalten!");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
    }
    if(listitem ==3)
    {
    if(GetPlayerMoney(playerid)>2999)
    {
    GivePlayerMoney(playerid,-3000);
    GivePlayerWeapon(playerid,24,100);
    SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!");
    SendClientMessage(playerid,Grün,"Sie haben eine Deagle mit 100 Munition erhalten!");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
    }
    }
    return 1;
    }
    Ich hoffe ihr könnt mir helfen !

  • Markiere mal bitte die folgenden Errorzeilen bitte.


    Code
    waffenladen.pwn(309) : error 029: invalid expression, assumed zero
    waffenladen.pwn(309) : error 004: function "OnPlayerClickPlayer" is not implemented
    waffenladen.pwn(322) : error 030: compound statement not closed at the end of file ( started at line 268 )


    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • Danke, aber ich verstehe nicht was du meinst.
    Also oben habe ich glaube ich alles definiert oder mit new gemacht, wenn du dies meintest.
    Ihr ist mein ganzer gamemode
    // WAFFENLADEN SCRIPT
    #include <a_samp>
    //Farben:#define Blau 0x0005FFFF#define Rot 0xFF0005FF#define Gelb 0xEBFF00FF#define Grün 0x00FF32FF#define Orange 0xFFC800FF#define Lila 0xC800FFFF#define Grau 0x787878FF#define Weiß 0xFFFFFFFF
    new waffenladen_enter;new waffenladen_exit;new waffenladen_kauf;
    #define WK 1
    main(){ print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n");}
    public OnGameModeInit(){ waffenladen_enter = CreatePickup(1318,1,1368.6088,-1279.7853,13.5469); waffenladen_exit = CreatePickup(1318,1,285.4767,-41.7992,1001.5156); waffenladen_kauf = CreatePickup(1239,1,295.9571,-37.9018,1001.5156); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1;}
    public OnGameModeExit(){ return 1;}
    public OnPlayerRequestClass(playerid, classid){ SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1;}
    public OnPlayerConnect(playerid){ return 1;}
    public OnPlayerDisconnect(playerid, reason){ return 1;}
    public OnPlayerSpawn(playerid){ return 1;}
    public OnPlayerDeath(playerid, killerid, reason){ return 1;}
    public OnVehicleSpawn(vehicleid){ return 1;}
    public OnVehicleDeath(vehicleid, killerid){ return 1;}
    public OnPlayerText(playerid, text[]){ return 1;}
    public OnPlayerCommandText(playerid, cmdtext[]){ if (strcmp("/TP waffenladen", cmdtext, true, 10) == 0) { SetPlayerPos(playerid, 1364.3313,-1275.7775,13.5469); return 1; } return 0;}
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){ return 1;}
    public OnPlayerExitVehicle(playerid, vehicleid){ return 1;}
    public OnPlayerStateChange(playerid, newstate, oldstate){ return 1;}
    public OnPlayerEnterCheckpoint(playerid){ return 1;}
    public OnPlayerLeaveCheckpoint(playerid){ return 1;}
    public OnPlayerEnterRaceCheckpoint(playerid){ return 1;}
    public OnPlayerLeaveRaceCheckpoint(playerid){ return 1;}
    public OnRconCommand(cmd[]){ return 1;}
    public OnPlayerRequestSpawn(playerid){ return 1;}
    public OnObjectMoved(objectid){ return 1;}
    public OnPlayerObjectMoved(playerid, objectid){ return 1;}
    public OnPlayerPickUpPickup(playerid, pickupid){ if(pickupid==waffenladen_enter) { SetPlayerInterior(playerid, 1); SetPlayerPos(playerid,286.148986,-40.644397,1001.515625); GameTextForPlayer(playerid,"Willkommen im~n~~y~ Waffenladen!",3000,3);
    } if(pickupid==waffenladen_exit) { SetPlayerInterior(playerid, 0); SetPlayerPos(playerid,1364.2996,-1280.0869,13.5469); } // SELFMADE if(pickupid==waffenladen_kauf) { ShowPlayerDialog(playerid,WK,DIALOG_STYLE_LIST,"Waffenkauf,","M4\nAK47\nMP5\nDeagle","Kaufen","Abbrechen"); } return 1;}
    public OnVehicleMod(playerid, vehicleid, componentid){ return 1;}
    public OnVehiclePaintjob(playerid, vehicleid, paintjobid){ return 1;}
    public OnVehicleRespray(playerid, vehicleid, color1, color2){ return 1;}
    public OnPlayerSelectedMenuRow(playerid, row){ return 1;}
    public OnPlayerExitedMenu(playerid){ return 1;}
    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid){ return 1;}
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){ return 1;}
    public OnRconLoginAttempt(ip[], password[], success){ return 1;}
    public OnPlayerUpdate(playerid){ return 1;}
    public OnPlayerStreamIn(playerid, forplayerid){ return 1;}
    public OnPlayerStreamOut(playerid, forplayerid){ return 1;}
    public OnVehicleStreamIn(vehicleid, forplayerid){ return 1;}
    public OnVehicleStreamOut(vehicleid, forplayerid){ return 1;}
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == WK) } if(response ==0) { return 1; } if(listitem ==0) { if(GetPlayerMoney(playerid)>7499) { GivePlayerMoney(playerid,-7500); GivePlayerWeapon(playerid,31,200); SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!"); SendClientMessage(playerid,Grün,"Sie haben eine M4 mit 200 Munition erhalten!"); } else { SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!"); } if(listitem ==1) { if(GetPlayerMoney(playerid)>5999) { GivePlayerMoney(playerid,-6000); GivePlayerWeapon(playerid,30,150); SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!"); SendClientMessage(playerid,Grün,"Sie haben eine AK47 mit 200 Munition erhalten!"); } else { SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!"); } if(listitem ==2) { if(GetPlayerMoney(playerid)>5499) { GivePlayerMoney(playerid,-5500); GivePlayerWeapon(playerid,29,500); SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!"); SendClientMessage(playerid,Grün,"Sie haben eine MP5 mit 500 Munition erhalten!"); } else { SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!"); } if(listitem ==3) { if(GetPlayerMoney(playerid)>2999) { GivePlayerMoney(playerid,-3000); GivePlayerWeapon(playerid,24,100); SendClientMessage(playerid,Gelb,"Danke für ihren Einkauf!"); SendClientMessage(playerid,Grün,"Sie haben eine Deagle mit 100 Munition erhalten!"); } else { SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!"); } } } } return 0;}


    public OnPlayerClickPlayer(playerid, clickedplayerid, source){ return 0;}