Problem mit Dialog

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
  • ocmd:spawnchange(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_SPAWNCHANGE,DIALOG_STYLE_LIST,"Spawn-Ort","Hauptbahnhof LS\nWohnung\nFraktion\n","Ok"," ");
    return 1;
    }






    if(dialogid == DIALOG_SPAWNCHANGE)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du Spawnst absofort am Hauptbahnhof LS");
    PlayerInfo[playerid][pSpawnChange] = 0;
    }
    if(listitem == 1)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du Spawnst absofort an deiner Wohnung, sofern du eine besitzt");
    if(PlayerInfo[playerid][pPhousekey] != 999)
    PlayerInfo[playerid][pSpawnChange] = 1;
    }
    if(listitem == 2)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied einer Fraktion, Gang oder Mafia");
    if(PlayerInfo[playerid][pMember] > 0)
    PlayerInfo[playerid][pSpawnChange] = 2;
    }
    return 1;
    }
    }












    Habe das mal umgeschreiben in ocmd:


    jetzt wird der spawn aber nicht gespeichert?

    Einmal editiert, zuletzt von DerFamer ()

  • if(dialogid == DIALOG_SPAWNCHANGE)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du Spawnst absofort am Hauptbahnhof LS");
    SpawnChange[playerid] = 0;
    }
    if(listitem == 1)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du Spawnst absofort an deiner Wohnung, sofern du eine besitzt");
    SpawnChange[playerid] = 1;
    }
    if(listitem == 2)
    {
    if(PlayerInfo[playerid][pMember] == 0) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied einer Fraktion, Gang oder Mafia");
    PlayerInfo[playerid][pSpawnChange] = 2;
    SendClientMessage(playerid,COLOR_RED,"Du spawnst absofort in der Base deiner Fraktion.");
    }
    return 1;
    }
    }


    Wen ich spawnchange mache kommt das ich kein Mitglied einer Fraktion bin bin aber Leader (pLeader)?

  • if(dialogid == DIALOG_SPAWNCHANGE)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du Spawnst absofort am Hauptbahnhof LS");
    SpawnChange[playerid] = 0;
    }
    if(listitem == 1)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du Spawnst absofort an deiner Wohnung, sofern du eine besitzt");
    SpawnChange[playerid] = 1;
    }
    if(listitem == 2)
    {
    if(PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied einer Fraktion, Gang oder Mafia");
    PlayerInfo[playerid][pSpawnChange] = 2;
    SendClientMessage(playerid,COLOR_RED,"Du spawnst absofort in der Base deiner Fraktion.");
    }
    return 1;
    }
    }



    Es klappt trotzdem nicht es kommt wider die selbe Sache.

  • if(PlayerInfo[playerid][pSpawnChange] == 2)
    {
    if (PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)//Las Venturas Yakuza Spawn -> Fertig
    {
    SetPlayerPos(playerid,2324.4922,-1149.0463,1050.7101);
    SetPlayerInterior(playerid,12);
    SetPlayerVirtualWorld(playerid,9);
    SetPlayerFacingAngle(playerid,88.3555);
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13) //Los Santos Grove Street Spawn -> Fertig
    {
    SetPlayerToTeamColor(playerid);
    SetPlayerInterior(playerid,8);
    SetPlayerVirtualWorld(playerid,5);
    SetPlayerPos(playerid,2807.6880,-1174.2935,1025.5703);
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14) //Los Santos Ballas Spawn -> Fertig
    {
    SetPlayerToTeamColor(playerid);
    SetPlayerPos(playerid,318.6295,1115.3989,1083.8828);
    SetPlayerInterior(playerid,5);
    SetPlayerVirtualWorld(playerid,6);
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 18 || PlayerInfo[playerid][pLeader] == 18) //San Fierro Rifa Spawn -> Fertig
    {
    SetPlayerToTeamColor(playerid);
    SetPlayerPos(playerid,2807.6880,-1174.2935,1025.5703);
    SetPlayerInterior(playerid,8);
    SetPlayerVirtualWorld(playerid,8);
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)//Los Santos Police Department Spawn -> NFertig
    {
    SetPlayerToTeamColor(playerid);
    GivePlayerWeapons(playerid);
    SetPlayerPos(playerid, 1529.2698,-1665.2559,6.2188);
    SetPlayerFacingAngle(playerid,267.6532);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2) //FBI
    {
    SetPlayerToTeamColor(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,-1617.0476,676.5656,-4.9063);
    SetPlayerFacingAngle(playerid,359.1006);
    return 1;
    }
    if (PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)//Las Venturas Police Department Spawn -> Feritg
    {
    SetPlayerToTeamColor(playerid);
    GivePlayerWeapons(playerid);
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 2263.4172,2446.4880,3.5313);
    PlayerInfo[playerid][pInt] = 0;
    return 1;
    }



    if(dialogid == DIALOG_SPAWNCHANGE)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du Spawnst absofort am Hauptbahnhof LS");
    SpawnChange[playerid] = 0;
    }
    if(listitem == 1)
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du Spawnst absofort an deiner Wohnung, sofern du eine besitzt");
    SpawnChange[playerid] = 1;
    }
    if(listitem == 2)
    {
    if(PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied einer Fraktion, Gang oder Mafia");
    SendClientMessage(playerid,COLOR_GREEN,"Du spawnst absofort in der Base deiner Fraktion.");
    PlayerInfo[playerid][pSpawnChange] = 2;
    }
    return 1;
    }
    }


    Es Funktioniert nicht!

  • Was ist denn genau das Problem? Bekommst du die Fehlermeldung "Du bist kein Mitglied einer Fraktion,..." oder funktioniert einfach das System nicht, dass du an dem Fraktionspunkt spawnst?


    Falls ersteres, dann ist pMember und pLeader 0, entsprechend bei einem Standard GF, dass du in keiner Fraktion bist.

  • Gut, dann zeigst du uns aber wohl den falschen Code. Um die Fehlerquelle zu finden müsstest du uns einmal OnPlayerSpawn() zeigen und, soweit ich mich noch erinnere, gibt's im GF die Funktion SetPlayerSpawn() (?), die wäre auch noch relevant.