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