OnPlayerCommand und OnpalyerKeyStateChange

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
  • Hey,
    immer wenn ich meinen Motor starte oder Licht an mache mit 2 oder 8
    Kommt ich bin nicht am Bombenkauf ort
    Wie geht sowas


    OnPlayerKeyStateChange:
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == (KEY_FIRE))
    {
    if(iddesPlayers[playerid] > 0)
    {
    if(PlayerToVehicle(playerid,iddesPlayers[playerid]) > MAX_ENTFERNUNG)
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du bist zuweit von dem Auto weg!");
    return 1;
    }
    SetTimerEx("BOOM",10000,0,"i",playerid);
    SendClientMessage(playerid,COLOR_GRAD1,"Hau ab, in 10 Sekunden geht die Bombe hoch!");
    return 1;
    }
    }
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(!GetPVarInt(playerid,"HUHNFISCH_InHaus"))
    {
    new ID=GetNearestHaus(playerid,4);
    if(ID==-1) return true;
    if(Haus[ID][Abgeschlossen]) return true;
    SetPlayerInterior(playerid,Haus[ID][Int]);
    SetPlayerPos(playerid,Haus[ID][Pos][3],Haus[ID][Pos][4],Haus[ID][Pos][5]);
    SetPlayerVirtualWorld(playerid,Haus[ID][VirtualWorld]);
    SetPVarInt(playerid,"HUHNFISCH_InHaus",true);
    return 1;
    }
    new ID=GetNearestHausExit(playerid,3);
    if(ID==-1) return true;
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,Haus[ID][Pos][0],Haus[ID][Pos][1],Haus[ID][Pos][2]);
    SetPlayerVirtualWorld(playerid,0);
    DeletePVar(playerid,"HUHNFISCH_InHaus");
    return true;
    }
    if(newkeys == KEY_SUBMISSION && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    OnPlayerCommandText(playerid,"/motor");
    }
    }
    if(newkeys == KEY_ANALOG_UP && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    OnPlayerCommandText(playerid,"/licht");
    }
    }
    return 1;
    }
    onplayercommand:
    new string[256];
    new cmd[256];
    new tmp[256];
    new idx;
    new money = GetPlayerMoney(playerid);
    new vehicleid = GetPlayerVehicleID(playerid);
    cmd = strtok(cmdtext, idx);
    //New´s der Befehle
    new string2[256];
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    cmd = strtok(cmdtext, idx);
    new giveplayerid;
    //DCMD


    //Job befehle
    //==============================================
    if (strcmp(cmd,"/bombekaufen", true) == 0)
    {
    if(PlayerToPoint(2.0,playerid,Kaufpunkt))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD1,"/bombekaufen <Anzahl>");
    return 1;
    }
    new anzahl = strval(tmp);
    if(money >= Kaufpreis*anzahl)
    {
    Bomben[playerid] += anzahl;
    GivePlayerMoney(playerid,-Kaufpreis*anzahl);
    format(string,sizeof(string),"Du hast %d Bombe/n gekauft!",anzahl);
    SendClientMessage(playerid,COLOR_GREEN,string);
    SavePlayer(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du hast nicht genügend Geld!");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du bist nicht am Kaufpunkt!");
    }
    return 1;
    }


    //Edit
    Ich habe den fehler gefunden
    Ich hatte 2mal
    cmd = strtok(cmdtext, idx);
    Oben stehen dies muss irgendwie ein Auslöser dafür gewesen sein