Hey...ich habe /call mal in einem Dialog gemacht aber irgendwie steht dann immer wen ich ne nummer eingebe: besezt...
Hier mal die Codes:
Der Befehl:
if(strcmp(cmd, "/call", true) == 0)
{
ShowPlayerDialog(playerid,call,DIALOG_STYLE_INPUT,"Handy","Tippe die Rufnummer ein die du anrufen möchtest"," ","Anrufen");
}
Und die Sahcne unter OnDialogResponse:
if(dialogid == call)
{
if(response)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pPnumber] == 0)
{
SendClientMessage(playerid, COLOR_GRAD2, " Du hast kein Handy!");
return 1;
}
new giveplayerid;
new tmp[256];
new string[256];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s nimmt sein Handy aus der Tasche.", sendername);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
new phonenumb = strval(tmp);
if(phonenumb == 111)
{
new pizzaworkers = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJob] == 17 && JobDuty[i] == 1)
{
pizzaworkers++;
}
}
}
if(pizzaworkers < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Abgenommen");
SendClientMessage(playerid, 0xF4E19FAA, "Hallo hier ist der Anrufbeantworter von Well Stacked Pizza");
SendClientMessage(playerid, 0xF4E19FAA, "Zur Zeit ist keiner da.Bitte rufen sie später an.");
SendClientMessage(playerid, COLOR_GREY, " Aufgelegt...");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "** %s möchte eine Pizza.Tippe /accept pizza um den Auftrag anzunehmen!", sendername);
SendJobMessage(17, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GREY, " Abgenommen");
SendClientMessage(playerid, 0xF4E19DAA, "Well Stacked Pizza,guten Tag");
if(pizzaworkers == 1) { format(string, sizeof(string), "Wir haben einen unserer Lieferanten informiert!Eine von denen wird gleich da sein!"); }
else { format(string, sizeof(string), "Im Moment sind %d auf Tour!", pizzaworkers); }
SendClientMessage(playerid, 0xF4E19DAA, string);
SendClientMessage(playerid, COLOR_GREY, " Aufgelegt");
PizzaCall = playerid;
return 1;
}
if(phonenumb == 222)
{
new routezonecheck = IsInBusrouteZone(playerid);
new drivercount = 0;
if (routezonecheck == 0)
{
for (new i=0; i<=MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) && BusrouteEast[i][0] != 0) drivercount++;
}
if (drivercount != 0)
{
format(string, sizeof(string), "Es sind %d Busfahrer auf der Route!", drivercount);
SendClientMessage(playerid, COLOR_WHITE, string);
SendBusRoute(playerid, 0);
}
else SendClientMessage(playerid, COLOR_GREY, "Es sind keine Busfahrer online!");
}
else if (routezonecheck == 1)
{
for (new i=0; i<=MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) && BusrouteWest[i][0] != 0) drivercount++;
}
if (drivercount != 0)
{
format(string, sizeof(string), "Es sind %d Busfahrer auf der Route!", drivercount);
SendClientMessage(playerid, COLOR_WHITE, string);
SendBusRoute(playerid, 1);
}
else SendClientMessage(playerid, COLOR_GREY, "Es sind keine Busfahrer online!");
}
else SendClientMessage(playerid, COLOR_GREY, "Es sind keine Busfahrer auf dieser Route!");
return 1;
}
if(phonenumb == 444)
{
if(TaxiDrivers < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Abgenommen.");
SendClientMessage(playerid, 0xF4E19FAA, "Guten Tag,hier ist der Anrufbeantworter von SA:TT im Moment ist kein Taxifahrer da!");
SendClientMessage(playerid, COLOR_GREY, " Aufgelegt...");
return 1;
}
if(TransportDuty[playerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du kannst kein Taxi rufen!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "** %s braucht ein Taxi!Tippe /accept taxi um den Auftrag anzunehmen!", sendername);
SendFamilyMessage(10, TEAM_AZTECAS_COLOR, string);
SendClientMessage(playerid, COLOR_GREY, " Abgenommen.");
SendClientMessage(playerid, 0xF4E19FAA, "SA:TT: Alle unsere Taxifahrer wurden benachrichtigt.Warte auf eine Antwort!");
SendClientMessage(playerid, COLOR_GREY, " Aufgelegt...");
TaxiCall = playerid;
return 1;
}
if(phonenumb == 555)
{
new mechanicworkers = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pJob] == 7 && JobDuty[i] == 1)
{
mechanicworkers++;
}
}
}
if(mechanicworkers < 1)
{
SendClientMessage(playerid, COLOR_GREY, " Abgenommen.");
SendClientMessage(playerid, 0xBBE1F2AA, "Anrufbeantworter: Es tut uns leid aber im Moment ist kein Meachaniker im Dienst!");
SendClientMessage(playerid, COLOR_GREY, " Aufgelegt...");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "** %s braucht einen Mechaniker!Tippe /accpet mechanic um den Auftrag anzunehmen!", sendername);
SendJobMessage(7, COLOR_WHITE, string);
SendClientMessage(playerid, COLOR_GREY, " Abgenommen");
SendClientMessage(playerid, 0xBBE1F2AA, "Alle Mechaniker wurden benachrihtigt.Warte auf eine Antwort!");
SendClientMessage(playerid, COLOR_GREY, " Aufgelegt...");
MechanicCall = playerid;
return 1;
}
if(phonenumb == 3900)
{
SendClientMessage(playerid, COLOR_WHITE, "INFO: Du kannste jetzt mit 'T' sprehchen.Aufelegen mit /[h]angup");
SendClientMessage(playerid, COLOR_GREEN, "ABC Studio: Bitte hinterlasse eine Nachricht nach dem Signalton...");
SendClientMessage(playerid, COLOR_WHITE, "....beep...");
Mobile[playerid] = 3900;
return 1;
}
if(phonenumb == 112)
{
SendClientMessage(playerid, COLOR_WHITE, "INFO: Du kannste jetzt mit 'T' sprehchen.Aufelegen mit /[h]angup");
SendClientMessage(playerid, COLOR_ALLDEPT, "Leitstelle: Guten Tag.Was brauchen sie?TIPPE: Polizei oder Medic");
Mobile[playerid] = 911;
return 1;
}
if(phonenumb == PlayerInfo[playerid][pPnumber])
{
SendClientMessage(playerid, COLOR_GRAD2, " Besetzt...");
return 1;
}
if(Mobile[playerid] != 255)
{
SendClientMessage(playerid, COLOR_GRAD2, " Du telefonierst schon...");
return 1;
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
{
giveplayerid = i;
Mobile[playerid] = giveplayerid; //caller connecting
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PhoneOnline[giveplayerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " Der Spieler hat sein Handy aus!");
return 1;
}
if (Mobile[giveplayerid] == 255)
{
format(string, sizeof(string), "Dein Handy klingelt!Anrufer: %s", sendername);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
GetPlayerName(giveplayerid, sendername, sizeof(sendername));
RingTone[giveplayerid] = 10;
format(string, sizeof(string), "* %s's Handy klingelt.", sendername);
SendClientMessage(playerid, COLOR_WHITE, "INFO: Du kannste jetzt mit 'T' sprehchen.Aufelegen mit /[h]angup");
ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
CellTime[playerid] = 1;
return 1;
}
}
}
}
}
}
SendClientMessage(playerid, COLOR_GRAD2, " Besetzt...");
}
}
}
Was ist daran falsch?Ich hoffe mir kann hier jemand weiter helfen.
Mfg
[FoR]Hardcore