Clan befehl Problem

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
  • Hi,


    (dies hier ist mein erster Post). Also ich will ein Befehl machen die nur mein Clan nutzen können : /pos.


    Ich hab dadrin 2 Errors :


    C:\Dokumente und Einstellungen\Andreas\Desktop\Alex\samp02Xserver.win32\pawno\CS16.pwn(165) : error 017: undefined symbol "name"
    C:\Dokumente und Einstellungen\Andreas\Desktop\Alex\samp02Xserver.win32\pawno\CS16.pwn(166) : error 017: undefined symbol "name"


    Die zeilen :


    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    if(strfind(name, "[MG3]", true) == 0 ||strfind(name, "[VCI]", true) == 0)



    mfg,


    DaRkJoKeR

  • also 1. Glückwunsch zu deinem Ersten Beitrag. 2. in pwn format wäre es besser. und 3. wäre cool wenn du den ganzen Befehl schreiben würdest ;)


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  •   if(!strcmp("/pos",cmdtext ,true,4))
    {
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    if(strfind(name, "[MG3]", true) == 0 ||strfind(name, "[VCI]", true) == 0)
    if(PosSelected[playerid] == 1) return SendClientMessage(playerid,rot,"Du hast die Position bereits festgelegt");
    GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
    GetPlayerFacingAngle(playerid,Pos[playerid][3]);
    Interior[playerid] = GetPlayerInterior(playerid);
    PosSelected[playerid] = 1;
    format(str,256,"Position erfolgreich festgelegt .. X: %.4f .. Y: %.4f .. Z: %.4f .. Angle: %.4f .. Interior: %d",Pos[playerid][0],Pos[playerid][1],Pos[playerid][2],Pos[playerid][3],Interior[playerid]);
    SendClientMessage(playerid,gelb,str);
    return 1;
    }




    So besser ? :D

  • jo besser


    if(!strcmp("/pos",cmdtext ,true,4))
    {
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    if(strfind(name, "[MG3]", true) == 0 || strfind(name, "[VCI]", true) == 0)
    {
    if(PosSelected[playerid] == 1)
    {
    return SendClientMessage(playerid,rot,"Du hast die Position bereits festgelegt");
    }
    GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
    GetPlayerFacingAngle(playerid,Pos[playerid][3]);
    Interior[playerid] = GetPlayerInterior(playerid);
    PosSelected[playerid] = 1;
    format(str,256,"Position erfolgreich festgelegt .. X: %.4f .. Y: %.4f .. Z: %.4f .. Angle: %.4f .. Interior: %d",Pos[playerid][0],Pos[playerid][1],Pos[playerid][2],Pos[playerid][3],Interior[playerid]);
    SendClientMessage(playerid,gelb,str);
    return 1;
    }
    }


    MY SELFMADE GAMEMODE "NoName"

    Spoiler anzeigen


    - AccountSystem: 100%
    - LizenzenSystem: 5%
    - TelefonSystem: 5%
    - JobSystem: 3%
    - GeldSystem: 80%
    - AutoSystem: 75%
    - FahndungsSystem: [color=#ff6600]10%
    [color=#000000]- HausSystem: [color=#ff0000]0%

    [color=#000000]- GeschäftsSystem: [color=#ff0000]0%

    [color=#000000]- ZahlTag System: [color=#ff0000]0%

    [color=#000000]- WetterSystem: [color=#ff0000]0%

    [color=#000000]- AntiCheatSystem: [color=#ff0000]0%

    Spoiler anzeigen
    GameModeName: [GM]MyGamemode
    Filterscripts: None
    Benutze Includes: [Inc]MyInclude
    Voraussichtliche Fertigstellung: Unbekannt
    Voraussichtliche Servereröffnung: Unbekannt
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Voraussichtliche Veröffentlichung des Scripts: Wahrscheinlich NIE
    Sonstige Anmerkungen: Selfmade

  • Ok thx..


    Ist des was du jetzt gepostet hast die Lösung bzw. Verbesserung ?

  • Klugscheißen sollte man nur,wenn man den Fehler auch behebt.Alleine schon vom lesen der Outputs (Fehler) siehst du dass das Problem eine undefinierte Variable ist.Englisch kann manchmal wirklich sehr,sehr schwer sein.


    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);


    Solltet euch das mal merken,dass man immer die Fehlerlog lesen sollte falls es denn Fehler gibt.

  • ganz oben

    new name [MAX_PLAYER_NAME];


    if(!strcmp("/pos",cmdtext ,true,4))
    {
    GetPlayerName(playerid,name, MAX_PLAYER_NAME);
    if(strfind(name, "[MG3]", true) == 0 || strfind(name, "[VCI]", true) == 0)
    {
    if(PosSelected[playerid] == 1)
    {
    return SendClientMessage(playerid,rot,"Du hast die Position bereits festgelegt");
    }
    GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]);
    GetPlayerFacingAngle(playerid,Pos[playerid][3]);
    Interior[playerid] = GetPlayerInterior(playerid);
    PosSelected[playerid] = 1;
    format(str,256,"Position erfolgreich festgelegt .. X: %.4f .. Y: %.4f .. Z: %.4f .. Angle: %.4f .. Interior: %d",Pos[playerid][0],Pos[playerid][1],Pos[playerid][2],Pos[playerid][3],Interior[playerid]);
    SendClientMessage(playerid,gelb,str);
    return 1;
    }
    }

  • Man kann den Namen jetzt natürlich am Anfang des publics deklarieren (meintest du doch so oder?) Aber so wird der Name immer erstellt, wenn jemand nen cmd eingibt, auch wenn der Name nicht gebreucht wird und in den meisten cmds schon mit deklariert ist, ich würds so machen:
    if(!strcmp("/pos",cmdtext ,true,4))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    [...]

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen