ocmd:... buggy?

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
  • Nehmen wir mal meinen /bezahl Befehl


    ocmd:bezahl(playerid,params[])
    {
    new pID, mostring[128], rang;
    if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,ROT,"/bezahl [ID] [Anzahl]");
    if(IsPlayerConnected(pID))
    {
    if(GetDistanceBetweenPlayers(playerid,pID) < 5)
    {
    format(mostring,sizeof(mostring),"%s hat dir %i$ gegeben.",SpielerName(playerid),rang);
    SendClientMessage(pID,GRAU,mostring);
    format(mostring,sizeof(mostring),"Du hast %s %i$ gegeben.",SpielerName(pID),rang);
    SendClientMessage(playerid,GRAU,mostring);
    GivePlayerMoney(pID,rang);
    GivePlayerMoney(playerid,-rang);
    SpielSpeichern(playerid);
    }
    else SendClientMessage(playerid,GELB,"Du bist nicht nah genug dran!");
    }
    else SendClientMessage(playerid,GRAU,"Der Spieler ist nicht Online!");
    return 1;
    }

  • An deinem Codeschnipsel sollte es auf jedenfall nicht liegen!

  • Nun klappts:D
    Habe aber immer noch probleme mit diesen Befehlen.
    Da rührt sich aber nichts.. Garnichts. Nicht mal ein text.


    ocmd:einladen(playerid,params[])
    {
    if(IsPlayerAnLeader(playerid,1))
    {
    new pID, invite[128], Frakname[84];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{Frakname=frakname0;}
    case 1:{Frakname=frakname1;}
    case 2:{Frakname=frakname2;}
    case 3:{Frakname=frakname3;}
    case 4:{Frakname=frakname4;}
    }
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"/einladen [ID]");
    if(isPlayerInFrak(playerid,GetPVarInt(playerid,"Fraktion")))
    {
    new Frak;
    Frak = GetPVarInt(playerid,"Fraktion");
    if(IsPlayerConnected(pID))
    {
    format(invite,sizeof(invite),"Du wurdest von %s in die Fraktion %s eingeladen.",SpielerName(playerid),Frakname);
    SendClientMessage(pID,WEIß,invite);
    format(invite,sizeof(invite),"Du hast %s in deine Fraktion eingeladen.",SpielerName(pID));
    SendClientMessage(playerid,WEIß,invite);
    SetPVarInt(pID,"Fraktion",Frak);
    }
    else SendClientMessage(playerid,GRAU,"Sorry, aber der Spieler ist nicht online.");
    }
    }
    return 1;
    }


    ocmd:ausladen(playerid,params[])
    {
    if(IsPlayerAnLeader(playerid,1))
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"/ausladen [ID]");
    if(IsPlayerConnected(pID))
    {
    if(isPlayerInFrak(pID,GetPVarInt(playerid,"Fraktion")))
    {
    SetPVarInt(pID,"Fraktion",0);
    SpielSpeichern(pID);
    SpawnPlayer(pID);
    SendClientMessage(pID,ROT,"Du wurdest aus deiner Fraktion ausgeladen.");
    }
    else SendClientMessage(playerid,GRAU,"Der Spieler ist kein Mitglied deiner Fraktion!");
    }
    else SendClientMessage(playerid,GRAU,"Der Spieler wurde nicht gefunden.");
    }
    return 1;
    }

  • Wie definierst du das?:

    frakname0


    edit: So kannst du keinen String verändern, höchstens Zahlenwerte!

  • //fraktionen
    new FrakName[][] = {
    "Zivilist",
    "Lspd",
    "Hotel [{FF1400}KEINE FRAK{2DFF00}]",
    "Lcn",
    "Banditos"
    };


    //Frak define//
    #define frakname0 "Zivilist"
    #define frakname1 "Los Santos Police Department"
    #define frakname2 "Hotel(Keine FRAK!)"
    #define frakname3 "LCN"
    #define frakname4 "Banditos"