Problem mit eigenen DriveIN

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
  • Ich habe für meinen Reallife Server einen DriveIN für die Bürgershots programmiert. Auf meinen Rechner (Windows) geht alles ohne Probleme. Doch auf den Linux V-Server
    geht das Menu nicht immer.


    So wird das Menu ausgelöst:
    if(GetPlayerState(i) == 2 && PlayerToPoint(5.2,i,1215.1074,-906.4305,42.7768) && drivet[i] == 0 || GetPlayerState(i) == 2 && PlayerToPoint(5.2,i,800.4473,-1629.9810,13.2578) && drivet[i] == 0 || GetPlayerState(i) == 2 && PlayerToPoint(5.2,i,-2351.2710,-156.7998,35.1953) && drivet[i] == 0 || GetPlayerState(i) == 2 && PlayerToPoint(5.2,i,-2347.0488,1023.5015,50.4223) && drivet[i] == 0) {
    drivet[i] = 1;
    TogglePlayerControllable(i, 0);
    ShowMenuForPlayer(drivein,i);
    }
    Das ist in einem Timer drin der jede Sekunde ausgelöst wird. Bis dahin geht soweit alles. Dieses Menu geht auf.




    Das Menu (Ausschnitt):
    if(CurrentMenu == drivein)
    {
    switch(row)
    {
    case 0: //BURGER
    {
    HideMenuForPlayer(drivein,playerid);
    ShowMenuForPlayer(driveb,playerid);


    HideMenuForPlayer wird immer ausgeführt. Doch ShowMenu nicht immer (jedenfalls auf dem Linux).


    DRIVEB Menu:
    if(CurrentMenu == driveb)
    {
    switch(row)
    {
    case 0: //CHEESEBURGER
    {
    if(money2 > 3) {
    SendClientMessage(playerid, COLOR_WHITE, "* Du hast dir einen Cheeseburger für $3 gekauft.");
    GivePlayerMoney(playerid,-3);
    PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
    SetPlayerHealth(playerid, php+30.0);
    SetTimerEx("driveintimer",8000,false,"d",playerid);
    TogglePlayerControllable(playerid, 1);
    } else {
    PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genug Geld für einen Cheeseburger.");
    SetTimerEx("driveintimer",8000,false,"d",playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    Nur CASE 0 sonst wird das hier zu lang.