Guten Abend,
meinst du das evtl. so?
//bei deinen news
new SpielerEis[MAX_PLAYERS];
new Eisverkaufer[MAX_PLAYERS];
dcmd_kaufen(playerid,params[])
{
#pragma unused params
if(SpielerEis[playerid] == 0)
return SendClientMessage(playerid,COLOR_GREY,"Es hat dir niemand angeboten, ein Eis zu kaufen.");
SpielerEis[playerid] = 0;
GivePlayerMoney(playerid,-3);
GivePlayerMoney(Eisverkaufer[playerid],3);
SendClientMessage(Eisverkaufer[playerid],COLOR_GREY,"Du hast ein Eis für 3$ verkauft.");
SendClientMessage(playerid,COLOR_GREY,"Du hast dir ein Eis für 3$ gekauft.");
return 1;
}
dcmd_eisverkaufen(playerid,params[])
{
#pragma unused params
new pID;
for(new i = 0; i < MAX_PLAYERS; i++)
{
new Float:x, Float:y, Float:z;
new pname[16],string[150],playa;
GetPlayerPos(i, x, y, z);
if(sscanf(params,"u",pID))
return SendClientMessage(playerid,COLOR_GREY,"Benutze: /eisverkaufen [playerid]");
if(pID == playerid)
return SendClientMessage(playerid,COLOR_GREY,"Du kannst dir selber kein Eis verkaufen.");
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 423)
{
if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
{
GetPlayerName(playerid,pname,16);
format(string, 256, "[ Eisverkäufer ] %s bietet dir ein Eis an, tippe /kaufen.",pname);
SendClientMessage(i, COLOR_LIGHTGREEN, string);
Eisverkaufer[playa] = playerid;
SpielerEis[i] = 1;
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Um Eis verkaufen zu können musst du in einem Mr. Whoopee sitzen.");
}
}
return 1;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Falls du Checkpoints benutzen möchtest, kannst du auch das hier verwenden.
//bei deinen defines
#define Eischeckpoints 5
#define LetzteCheckpointIst 4
#define UnsichtbarerEisCheckpointIst -1
//unter deinen forwards (das sind nur Checkpoints am LSPD)
new AkCP[MAX_PLAYERS];
new Float:EisVerkauferCPS[Eischeckpoints][3]={
{1496.4276,-1735.4198,13.4091},
{1531.6920,-1674.6602,13.4083},
{1494.8685,-1593.8156,13.4082},
{1428.9519,-1628.6586,13.4082},
{1429.0505,-1716.8529,13.4074}
};
//unter OnPlayerConnect
AkCP[playerid] = UnsichtbarerEisCheckpointIst;
//unter OnPlayerEnterCheckpoint
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 423)
{
if(AkCP[playerid] != UnsichtbarerEisCheckpointIst)
{
if(AkCP[playerid] == LetzteCheckpointIst)
{
DisablePlayerCheckpoint(playerid);
AkCP[playerid] = UnsichtbarerEisCheckpointIst;
GivePlayerMoney(playerid,350);
SendClientMessage(playerid,COLOR_LIGHTBLUE, "Du hast deine Runde beendet und 350$ erhalten.");
}
else
{
AkCP[playerid]++;
SetPlayerCheckpoint(playerid,EisVerkauferCPS[AkCP[playerid]][0],EisVerkauferCPS[AkCP[playerid]][1],EisVerkauferCPS[AkCP[playerid]][2], 8.0);
}
}
}
dcmd_eisverkaufen(playerid,params[])
{
#pragma unused params
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 423)
{
if(AkCP[playerid] != UnsichtbarerEisCheckpointIst)return SendClientMessage(playerid,COLOR_GREY, "{FFFFFF}Du fährst bereits deine Runde und verkaufst Eis.");
AkCP[playerid]++;
SetPlayerCheckpoint(playerid,EisVerkauferCPS[AkCP[playerid]][0],EisVerkauferCPS[AkCP[playerid]][1],EisVerkauferCPS[AkCP[playerid]][2], 8.0);
SendClientMessage(playerid,COLOR_LIGHTBLUE, "{FFFFFF}Du verkaufst nun Eis und musst die Checkpoints abfahren.");
}
else
{
SendClientMessage(playerid,COLOR_LIGHTBLUE, "Um Eis verkaufen zu können musst du in einem Mr. Whoopee sitzen.");
}
return 1;
}
//unter OnPlayerCommandText
dcmd(kaufen,6,cmdtext);
dcmd(eisverkaufen,12,cmdtext);
PS: du kannst bei den Chckpoints z.B noch eine Time einbauen welche sagt, dass man nur alle 15 Minuten z.B eine Runde Eis verkaufen kann
Ich hoffe, ich konnte dir ein bisschen helfen, bei Fragen oder Probleme einfach eine Nachricht.
----
Mit freundlichen Grüßen,
[GGR]Radio_Bot