2 OCMD Befehle Kaput [HILFE]

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
  • Hallöle geliebte Comunity
    ich habe 1-2 Fragen:


    1. Frage:
    Wieso lässt diese OCMD Funktion meinen kompletten Server abschmieren? ?(


    ocmd:stats(playerid,params[])
    {
    new name[100],fraktion[100],string[130];
    GetPlayerName(playerid,name);
    format(string,sizeof string,"Stats von %s",name);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0: fraktion="X";
    case 1: fraktion="XX";
    case 2: fraktion="XXX";
    case 3: fraktion="XXXX";
    case 4: fraktion="XXXXX";
    case 5: fraktion="XXXXXX";
    case 6: fraktion="XXXXXXX";
    }
    format(string,sizeof string,"Fraktion:",fraktion);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    return 1;
    }
    und 2. Frgae:
    Wieso zeigt er mir bei dieser OCMD Funktion nur "Unknown Command"? ?(


    ocmd:spf(playerid,params[])
    {
    new Z_ID,Name1[100], Name2[100], Fraktion, string1[100],rang,fraktion[100],Rang[100];
    if(sscanf(params,"iii",Z_ID,Fraktion,rang))return SendClientMessage(playerid,COLOR_RED,"[Fehler]:falsche Eingabe(id,fraktions-id,rang)");
    GetPlayerName(playerid,Name1);
    GetPlayerName( Z_ID ,Name2);
    switch(Fraktion)
    {
    case 0: fraktion="Zivilisten";
    case 1: fraktion="X";
    case 2: fraktion="XX";
    case 3: fraktion="XXX";
    case 4: fraktion="XXXX";
    case 5: fraktion="XXXXX";
    case 6: fraktion="XXXXXX";
    }
    switch(rang)
    {
    case 0: Rang="Praktikant";
    case 1: Rang="#";
    case 2: Rang="##";
    case 3: Rang="###";
    case 4: Rang="####";
    }
    SetPVarInt(Z_ID,"Fraktion",Fraktion);
    SetPVarInt(Z_ID,"FRang" ,rang);
    return 1;

    Ich freue mich über jeden Tipp :thumbup: ! Danke im Voraus. Und noch ein angenehmes Wochenende.

    Meine Klasse treibt mich irgendwann noch in den Wahnsinn :dash: :peng:

  • ocmd:spf(playerid,params[])
    {
    new Z_ID,Name1[100], Name2[100], Fraktion, string1[100],rang,fraktion[100],Rang[100];
    if(sscanf(params,"iii",Z_ID,Fraktion,rang))return SendClientMessage(playerid,COLOR_RED,"[Fehler]:falsche Eingabe(id,fraktions-id,rang)");
    GetPlayerName(playerid,Name1);
    GetPlayerName( Z_ID ,Name2);
    switch(Fraktion)
    {
    case 0: fraktion="Zivilisten";
    case 1: fraktion="X";
    case 2: fraktion="XX";
    case 3: fraktion="XXX";
    case 4: fraktion="XXXX";
    case 5: fraktion="XXXXX";
    case 6: fraktion="XXXXXX";
    }
    switch(rang)
    {
    case 0: Rang="Praktikant";
    case 1: Rang="#";
    case 2: Rang="##";
    case 3: Rang="###";
    case 4: Rang="####";
    }
    SetPVarInt(Z_ID,"Fraktion",Fraktion);
    SetPVarInt(Z_ID,"FRang" ,rang);
    return 1;
    }//hast du vergessen



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Der erste Befehl:
    ocmd:stats(playerid,params[])
    {
    new name[100],fraktion[100],string[130];
    GetPlayerName(playerid,name, sizeof(name));
    format(string,sizeof string,"Stats von %s",name);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0: format(fraktion,sizeof(fraktion), "X");
    case 1: format(fraktion,sizeof(fraktion), "XX");
    case 2: format(fraktion,sizeof(fraktion), "XXX");
    case 3: format(fraktion,sizeof(fraktion), "XXXX");
    case 4: format(fraktion,sizeof(fraktion), "XXXXX");
    case 5: format(fraktion,sizeof(fraktion), "XXXXXX");
    case 6: format(fraktion,sizeof(fraktion), "XXXXXXX");
    }
    format(string,sizeof string,"Fraktion: %s", fraktion);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    return 1;
    }


    Der zweite Befehl:
    ocmd:spf(playerid,params[])
    {
    new Z_ID,Name1[100], Name2[100], Fraktion, string1[100],rang,fraktion[100],Rang[100];
    if(sscanf(params,"iii",Z_ID,Fraktion,rang))return SendClientMessage(playerid,COLOR_RED,"[Fehler]:falsche Eingabe(id,fraktions-id,rang)");
    GetPlayerName(playerid, Name1, sizeof(Name1));
    GetPlayerName(Z_ID, Name2, sizeof(Name2));
    switch(Fraktion)
    {
    case 0: format(fraktion,sizeof(fraktion), "Zivilisten");
    case 1: format(fraktion,sizeof(fraktion), "X");
    case 2: format(fraktion,sizeof(fraktion), "XX");
    case 3: format(fraktion,sizeof(fraktion), "XXX");
    case 4: format(fraktion,sizeof(fraktion), "XXXX");
    case 5: format(fraktion,sizeof(fraktion), "XXXXX");
    case 6: format(fraktion,sizeof(fraktion), "XXXXXX");
    }
    switch(rang)
    {
    case 0: format(Rang,sizeof(Rang), "Praktikant");
    case 1: format(Rang,sizeof(Rang), "#");;
    case 2: format(Rang,sizeof(Rang), "##");";
    case 3: format(Rang,sizeof(Rang), "###");;
    case 4: format(Rang,sizeof(Rang), "####");;
    }
    SetPVarInt(Z_ID,"Fraktion",Fraktion);
    SetPVarInt(Z_ID,"FRang" ,rang);
    return 1;
    }


    Du kannst ein String nicht direkt mit = in eine Variable speichern, du musst dafür format verwenden...

    05eb03de-9fda-461c-9dfc-834ae5b64e65.png << Server | Home >> 13462590508.png

  • ocmd:stats(playerid,params[])
    {
    new name[MAX_PLAYER_NAME],fraktion[64],string[145];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string,sizeof string,"Stats von %s",name);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    switch(GetPVarint(playerid,"Fraktion"))
    {
    case 0:fraktion = "X";
    case 1:fraktion = "XX";
    case 2:fraktion = "XXX";
    case 3:fraktion = "XXXX";
    case 4:fraktion = "XXXXX";
    case 5:fraktion = "XXXXXX";
    case 6:fraktion = "XXXXXXX";
    }
    format(string,sizeof string,"Fraktion: %s",fraktion);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    return 1;
    }
    ocmd:spf(playerid,params[])
    {
    new Z_ID,Name1[MAX_PLAYER_NAME],Name2[MAX_PLAYER_NAME],frakid,string1[100],rangid,fraktion[64],rang[64];
    if(sscanf(params,"uii",Z_ID,frakid,rangid))return SendClientMessage(playerid,COLOR_RED,"[Fehler]:falsche Eingabe(id,fraktions-id,rang)");
    if(!IsPlayerConnected(Z_ID))return SendClientMessage(playerid,-1,"Nicht online!");
    GetPlayerName(playerid,Name1,MAX_PLAYER_NAME);
    GetPlayerName(playerid,Name2,MAX_PLAYER_NAME);
    switch(frakid)
    {
    case 0:fraktion = "Zivilisten";
    case 1:fraktion = "X";
    case 2:fraktion = "XX";
    case 3:fraktion = "XXX";
    case 4:fraktion = "XXXX";
    case 5:fraktion = "XXXXX";
    case 6:fraktion = "XXXXXX";
    }
    switch(rangid)
    {
    case 0:rang = "Praktikant";
    case 1:rang = "#";
    case 2:rang = "##";
    case 3:rang = "###";
    case 4:rang = "####";
    }
    SetPVarInt(Z_ID,"Fraktion",frakid);
    SetPVarInt(Z_ID,"FRang",rangid);
    return 1;
    }
    Die verbesserte Version ohne format.

  • Die verbesserte Version ohne format.


    Die "verbesserte" Version, wäre aber strcat oder strmid und nicht die Zuweisung von Arrays.


    PAWN hat keine Strings, das Problem umgeht man mit den Arrays, weißt du jetzt die Arrays zu, haben die kein EOS (End of String) und können durchaus Fehler auslösen.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Beitrag von - Stofftrank - ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.