2. Problem /admins

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
  • Hallo Community,


    ich habe einen Bug in einem Befehl.
    Code:
    if(strcmp(cmdtext,"/eat",true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,1763.8928,-1886.4614,13.5546))
    {
    new Float: Health, Float: cHealth;
    if(GetPlayerHealth(playerid,cHealth) > 100) return SendClientMessage(playerid,COLOR_BESCH,"Du packst nichts mehr... dein Magen ist voll.");
    if(GetPlayerMoney(playerid) < 12) return SendClientMessage(playerid,COLOR_BESCH,"Du hast nicht genug Geld!");
    GetPlayerHealth(playerid, Health);
    SetPlayerHealth(playerid, Health+70);
    GivePlayerMoney(playerid,12);
    SendClientMessage(playerid,COLOR_WHITE,"{FFCC00}Verkäufer: {FFFFFF}Lass es dir schmecken!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_BESCH,"Hier kannst du nichts essen!");
    }
    return 1;
    }


    Es gibt keine Pawn Fehler oder Warnings..
    Aber wenn ich /eat eingebe dann komm immer Verkäufer: Lass es...
    Obwohl ich schon über 100 HP habe... (das sollte nicht sein)
    Auch wenn ich unter 100 habe funktioniert es (so soll es ja auch sein)


    Ich hoffe mir kann da jemand weiterhelfen :)


    -Mfg Markus

    Einmal editiert, zuletzt von [Markus] () aus folgendem Grund: Neue Überschrift

  • if(strcmp(cmdtext,"/eat",true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,1763.8928,-1886.4614,13.5546))
    {
    new Float: Health, Float: cHealth;
    GetPlayerHealth(playerid,cHealth);
    if(cHealth > 100) return SendClientMessage(playerid,COLOR_BESCH,"Du packst nichts mehr... dein Magen ist voll.");
    if(GetPlayerMoney(playerid) < 12) return SendClientMessage(playerid,COLOR_BESCH,"Du hast nicht genug Geld!");
    GetPlayerHealth(playerid, Health);
    SetPlayerHealth(playerid, Health+70);
    GivePlayerMoney(playerid,12);
    SendClientMessage(playerid,COLOR_WHITE,"{FFCC00}Verkäufer: {FFFFFF}Lass es dir schmecken!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_BESCH,"Hier kannst du nichts essen!");
    }
    return 1;
    }
    So?
    Du hast GetPlayerHealth falsch verwendet.

  • Okay, danke.
    Ich werde es mal testen :)


    2. Problem
    Wenn ein Spieler /admins macht.. dann öffnet sich bei jedem der Dialog^^
    ocmd:admins(playerid,params[])
    {
    #pragma unused params
    new string[300], rangname[128];

    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    switch(SpielerInfo[i][pAdmin])
    {
    case 1: rangname = "Test-Supporter";
    case 2: rangname = "Supporter";
    case 3: rangname = "Head-Supporter";
    case 4: rangname = "Admin";
    case 5: rangname = "Head-Admin";
    case 6: rangname = "Projektleitung";
    }
    format(string,sizeof(string),"Team-Mitglieder [Online]\n\n{FFCC00}%s {FFFFFF}%s{FFFFFF}",rangname,PlayerName[i]);
    ShowPlayerDialog(i,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Team-Liste",string,"Okay","");
    }
    }
    return 1;
    }

  • Danke :)
    //E
    Wenn mehrere Team-Mitglieder Online sind...
    Dann wird aber nur eins Angezeigt..
    Es sollen aber mehrere im Dialog angezeigt werden..


    Code:
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    switch(SpielerInfo[i][pAdmin])
    {
    case 1: rangname = "Test-Supporter";
    case 2: rangname = "Supporter";
    case 3: rangname = "Head-Supporter";
    case 4: rangname = "Admin";
    case 5: rangname = "Head-Admin";
    case 6: rangname = "Projektleitung";
    }
    format(string,sizeof(string),"Team-Mitglieder [Online]\n\n{FFCC00}%s {FFFFFF}%s{FFFFFF}",rangname,PlayerName[i]);
    ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Team-Liste",string,"Okay","");
    }
    }

    Einmal editiert, zuletzt von [Markus] ()

  • Hier
    if(strcmp(cmdtext,"/eat",true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,1763.8928,-1886.4614,13.5546))
    {
    new Float: Health, Float: cHealth;
    GetPlayerHealth(playerid,cHealth);
    if(cHealth > 100) return SendClientMessage(playerid,COLOR_BESCH,"Du packst nichts mehr... dein Magen ist voll.");
    if(GetPlayerMoney(playerid) < 12) return SendClientMessage(playerid,COLOR_BESCH,"Du hast nicht genug Geld!");
    GetPlayerHealth(playerid, Health);
    SetPlayerHealth(playerid, Health+70);
    GivePlayerMoney(playerid,12);
    SendClientMessage(playerid,COLOR_WHITE,"{FFCC00}Verkäufer: {FFFFFF}Lass es dir schmecken!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_BESCH,"Hier kannst du nichts essen!");
    }
    return 1;
    }


    Wenn du noch weitere probleme hast meld dich via pn

  • format(string,sizeof(string),"Team-Mitglieder [Online]\n");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    switch(SpielerInfo[i][pAdmin])
    {
    case 1: rangname = "Test-Supporter";
    case 2: rangname = "Supporter";
    case 3: rangname = "Head-Supporter";
    case 4: rangname = "Admin";
    case 5: rangname = "Head-Admin";
    case 6: rangname = "Projektleitung";
    }
    format(string,sizeof(string),"%s\n{FFCC00}%s {FFFFFF}%s{FFFFFF}",string,rangname,PlayerName[i]);
    }
    }
    ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Team-Liste",string,"Okay","");