Hi Leutz,
ich wollte mal fragen, wie ich es mache, wenn ich jetzt jemanden was anbiete und er es dann annhemen kann.
Damit ihr es euch bildlicher vorstellen könnt ein kleines beispiel:
Spieler A ist Mechaniker
Spieler B ist Kunde
Spieler B hat ein Kaputtes auto und hat Spieler A gefragt, ob er es reparieren kann. A macht /reparieren (ID von Spieler B). Spieler B macht /akzeptieren reparatur.
Auto von Spieler B wird repariert.
Also ich habs mir ungefähr so vorgestellt:
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(Reparieren, 10, cmdtext);
dcmd(Annehmen, 8, cmdtext);
return 1;
}
dcmd_Reparieren(playerid, params[])
{
if (IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pJob] == 3)
{
new pID;
new String1[128];
new String2[128];
new CmdPlayer[MAX_PLAYER_NAME];
new ThePlayer[MAX_PLAYER_NAME];
if (sscanf(params, "d", pID))
{
return SendClientMessage(playerid, Farbe_Grad1, "SERVER: /Reparieren >SpielerID<");
}
if (!IsPlayerConnected(pID))
{
return SendClientMessage(playerid, Farbe_Grad1, "SERVER: /Reparieren >SpielerID<");
}
GetPlayerName(playerid, ThePlayer, sizeof(ThePlayer));
format(String1, sizeof(String1), "Du hast %s eine reperatur angeboten", ThePlayer);
SendClientMessage(playerid, Farbe_Gruen, String1);
GetPlayerName(playerid, CmdPlayer, sizeof(CmdPlayer));
format(String2, sizeof(String2), "%s hat dir eine reperatur angeboten", CmdPlayer);
SendClientMessage(pID, Farbe_Gruen, String2);
}
}
return 1;
}
dcmd_Annehmen(playerid, params[])
{
if (IsPlayerConnected(playerid))
{
new ?;
if (sscanf(params, "u ", ?)
{
SendClientMessage(playerid, Farbe_WEis, "SERVER: /Annehmen >?<");
SendClientMessage(playerid, Farbe_Grad1, "?: Reperatur");
}
if (? == Reperatur)
{
// ...
}
}
return 1;
}
// Edit: Jo hab mir grad nomma gedanken gemacht und n bissel bearbeitet. Blos weiter weis ich nicht mehr XD