[Help] befehle buggen!

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:unfrezze(playerid,params[])
    {
    new pID, string[128];
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,COLOR_RED,"/unfrezze [ID]");
    if(IsPlayerConnected(pID))
    if(IsPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"Du hast %s entfrezzed!",SpielerName(pID));
    SendClientMessage(playerid,COLOR_RED,string);
    format(string,sizeof(string),"Admin %d hat dich entfrezzed!",SpielerName(playerid));
    SendClientMessage(playerid,COLOR_RED,string);
    TogglePlayerControllable(pID,1);
    }
    else SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht Online!");
    return 1;
    }



    Wenn ich ingame /unfrezze eingebe dann bekomme ich als Admin die Nachricht "Du hast blabla entfrezzed!"
    Aber dazu noch : Admin MenInBlack hat dich entfrezzt also das ich mich entfrezzt habe obwohl ich einen anderen entfrezze.


    dies ist bei /kidnap /tie und allen anderen Befehlen auch so :P

    [tabmenu][tab=Produktion][subtab='iProduction']

    [subtab='Projekt']

  • Also du hast jemand anderen entfreezt(also sind mind. 2 leute aufm server) und bekommst die nachricht trozdem?


    Wenn du dich selbst unfreezt ist es klar das du dich nachricht bekommst


    xXSeXyBreaDXx -> BREAD. -> [LoG]Bread -> Bread

  • machs mal so
    ocmd:unfrezze(playerid,params[])
    {
    new pID, string[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"/unfrezze [ID]");//u da u ein user ist kein intger (i)
    if(IsPlayerConnected(pID))
    if(IsPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"Du hast %s entfrezzed!",SpielerName(pID));
    SendClientMessage(playerid,COLOR_RED,string);
    format(string,sizeof(string),"Admin %d hat dich entfrezzed!",SpielerName(playerid));
    SendClientMessage(pID,COLOR_RED,string);//Hier message an pID senden nicht an playerid
    TogglePlayerControllable(pID,1);
    }
    else SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht Online!");
    return 1;
    }

    All in all it's just another brick in the wall

  • Wie oben schon erwähnt wurde einfach das "i" in "u" schreiben.
    Denn params "u" ist für Player und da du pID hast musst du auch "u" nehmen.
    Aber am besten noch die string größe in 64 verändern,weil 128 ist zu groß

  • Liegt daran, dass du den string bereits 1x formatierst, und das ganze nochmal überschreibst...


    schwachsinn?
    Du brauchst nicht millionen von string deklairungen das geht alles mit 1nen.
    du formatierst sendest den dann kannste den neu formatieren und der alte format wird dann wieder geleert...

    All in all it's just another brick in the wall

  • Danke an Chris ! Hat gekappt !


    nun Habe ich noch ein Problem beim Autohaus system.



    Also ich kaufe zum Beispiel einen Banshee:P


    Dann bekomme ich die Nachricht :"Sie haben für einen Banshee$ ein/einen 28000!"



    Hier der Befehl !!!


    if (strcmp("/akaufen", cmd, true, 10) == 0)
    {
    if (Spectating[playerid][0]!=-1)
    {
    if (Carlist[playerid][Typ]==-1)
    {
    new price = Buylist[Spectating[playerid][0]][Price];
    if (price <= GetPlayerMoney(playerid))
    {
    new autohaus=Buylist[Spectating[playerid][0]][Autohaus];
    GivePlayerMoney(playerid, - price);
    Carlist[playerid][Typ]=Spectating[playerid][0]; Carlist[playerid][X]=Carspawns[autohaus][X]; Carlist[playerid][Y]=Carspawns[autohaus][Y];
    Carlist[playerid][Z]=Carspawns[autohaus][Z]; Carlist[playerid][Rotation]=Carspawns[autohaus][Rotation]; Carlist[playerid][Status]=1; Carlist[playerid][Lock]=0;
    Carlist[playerid][Carid]=CreateVehicle(Buylist[Spectating[playerid][0]][Modelid],Carlist[playerid][X],Carlist[playerid][Y],Carlist[playerid][Z],Carlist[playerid][Rotation],-1,-1,-1);
    SetVehicleParamsForAll(Buylist[Spectating[playerid][0]][Carid],0,0);
    TogglePlayerControllable(playerid,1);
    Spectating[playerid][0]=-1;
    RemovePlayerFromVehicle(playerid);
    format(string,128,"Glückwunsch, Sie haben für %s$ eine/einen %i!",Buylist[Carlist[playerid][Typ]][Name],price);
    SendClientMessage(playerid, COLOR_RED, string);
    SendClientMessage(playerid, COLOR_GREEN, "Autohaus: Du kannst Dein Auto Auf/ZU Schließen. Mit /carlock.");
    SendClientMessage(playerid, COLOR_GREEN, "Autohaus: Für Hilfen /fhelp.");
    SendClientMessage(playerid, COLOR_YELLOW, "Autohaus: Das Fahrzeug ist Am Auslieferungspunkt. Viel Spaß damit.!");
    }
    else { format(string, 128, "Nicht genug Geld (Du Brauchst: $%i)!", price); SendClientMessage(playerid, COLOR_LIGHTRED, string); }
    }
    else { SendClientMessage(playerid, WEISS, "Du hast schon ein Fahrzeug, Benutze /averkaufen um es An einen Spieler u Verkaufen oder /averkaufen um Es Für die Hälfte zu Verkaufen!"); }
    }
    else { SendClientMessage(playerid, WEISS, "Sie sind Nicht am Autohaus 'Intercars'!"); }
    return 1;
    }

    [tabmenu][tab=Produktion][subtab='iProduction']

    [subtab='Projekt']