Rename Funkiton und noch ne Frage

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
  • 1. kann mir jemand ne funktion scripten dass wenn ein admin /rename [playerid des spielers der einen anderen namen bekommt] [neuer name] eingibt, dass das auch passeiert ^^ wäre cool


    2.
    Was ist am folgende Script falsch -.-


    wenn ich /gotogar2 eingebe dann geht alles perfeckt, aber wenn ich wieder zurück will mit /goback passiert NICHTS
    keine errors oder so --> was ist falsch ;(


    if (strcmp(cmdtext, "/gotogar2", true) == 0)
    {
    new name[32];
    GetPlayerName(playerid, name, sizeof(name));
    if(strfind("Angel", name, true) == 0)
    {
    if (PlayerToPoint(5.0, playerid, 277.7281,-1382.8145,55.2971))
    {
    if (IsPlayerInAnyVehicle(playerid)) {
    SetVehiclePos(GetPlayerVehicleID(playerid),203.7058,-1347.7006,26.4952);
    }
    else
    {
    SetPlayerPos(playerid,203.7058,-1347.7006,26.4952);
    }
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen in deiner richtigen Garage :)");
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht in deine Garage!");
    }
    return 1;
    }

    if (strcmp(cmdtext, "/goback", true) == 0)
    {
    if (PlayerToPoint(5.0, playerid, 210.0768,-1335.9291,26.4887))
    {
    if (IsPlayerInAnyVehicle(playerid)) {
    SetVehiclePos(GetPlayerVehicleID(playerid),276.4293,-1382.2682,55.3023);
    }
    else
    {
    SetPlayerPos(playerid,276.4293,-1382.2682,55.3023);
    }
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen zurück in deiner anderen Garage ^_^");
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht zurück!");
    }
    return 1;
    }
    return 1;
    }
    return 1;
    }



    Danke für jede Hilfe

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • Man man, versuch mal ordentlich zu scripten:

    if (!strcmp(cmdtext, "/gotogar2", true))
    {
    new name[32];
    GetPlayerName(playerid, name, sizeof(name));
    if(strfind("Angel", name, true) == 0)
    {
    if (PlayerToPoint(5.0, playerid, 277.7281, -1382.8145, 55.2971))
    {
    if (IsPlayerInAnyVehicle(playerid))
    {
    SetVehiclePos(GetPlayerVehicleID(playerid), 203.7058, -1347.7006, 26.4952);
    }
    else
    {
    SetPlayerPos(playerid, 203.7058, -1347.7006, 26.4952);
    }
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen in deiner richtigen Garage :)");
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht in deine Garage!");
    }
    }
    return 1;
    }


    if (!strcmp(cmdtext, "/goback", true))
    {
    if (PlayerToPoint(5.0, playerid, 210.0768, -1335.9291, 26.4887))
    {
    if (IsPlayerInAnyVehicle(playerid))
    {
    SetVehiclePos(GetPlayerVehicleID(playerid), 276.4293, -1382.2682, 55.3023);
    }
    else
    {
    SetPlayerPos(playerid, 276.4293, -1382.2682, 55.3023);
    }
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen zurück in deiner anderen Garage ^_^");
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht zurück!");
    }
    return 1;
    }


    Fallst du willst, hier nochma kürzer:

    if (!strcmp(cmdtext, "/gotogar2", true))
    {
    new name[32];
    GetPlayerName(playerid, name, sizeof(name));
    if(strfind("Angel", name, true) == 0)
    {
    if (PlayerToPoint(5.0, playerid, 277.7281, -1382.8145, 55.2971))
    {
    if (IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid), 203.7058, -1347.7006, 26.4952);
    else SetPlayerPos(playerid, 203.7058, -1347.7006, 26.4952);
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen in deiner richtigen Garage :)");
    }
    else SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht in deine Garage!");
    }
    return 1;
    }


    if (!strcmp(cmdtext, "/goback", true))
    {
    if (PlayerToPoint(5.0, playerid, 210.0768, -1335.9291, 26.4887))
    {
    if (IsPlayerInAnyVehicle(playerid)) SetVehiclePos(GetPlayerVehicleID(playerid), 276.4293, -1382.2682, 55.3023);
    else SetPlayerPos(playerid, 276.4293, -1382.2682, 55.3023);
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen zurück in deiner anderen Garage ^_^");
    }
    else SendClientMessage(playerid, COLOR_YELLOW, "Von hier aus kannst du nicht zurück!");
    return 1;
    }

  • tut mir leid Rafelder, ich kenne mich noch nicht su gut aus :S


    Kannst du mir noch dies mit der /rename Funktion erklären, das wäre super!!

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • Musste nich blicken, fügs einfach ein (Nicht getestet! Ausn Stegreif xD)
    Achja, brauchst strtok()

    stock GetPlayerIDFromName(name[])
    {
    new plname[MAX_PLAYER_NAME];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(name, plname, true))
    {
    return i;
    }
    }
    return INVALID_PLAYER_ID;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256], idx, fn[256], sn[256], nameid;
    cmd = strtok(cmdtext, idx);
    if(!strcmp(cmd, "/rename", true))
    {
    fn = strtok(cmdtext, idx);
    sn = strtok(cmdtext, idx);
    if(!strlen(fn) || !strlen(sn)) return SendClientMessage(playerid, 0x00FF00FF, "/rename [player name] [new name]");
    nameid = GetPlayerIDFromName(fn);
    if(!IsPlayerConnected(nameid)) return SendClientMessage(playerid, 0x00FF00FF, "Playerid isn't connected!");
    SetPlayerName(nameid, sn);
    SendClientMessage(playerid, 0x00FF00FF, "Name succesfully changed");
    return 1;
    }
    return 0;
    }

    2 Mal editiert, zuletzt von Rafelder ()

  • Ihr Super-Scripter immer mit eurem Stegreif ^^


    ok ich werd das mal alles testen und schreibe dann obs funktioniert, VIELEN DANK!!! :)

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • stock GetPlayerIDFromName(name[])
    {
    new plname[MAX_PLAYERS_NAME];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(name, plname, true))
    {
    return i;
    }
    }
    return INVALID_PLAYER_ID;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256], idx, fn[256], sn[256], nameid;
    cmd = strok(cmdtext, idx);
    if(!strcmp(cmd, "/rename", true))
    {
    fn = strtok(cmdtext, idx);
    sn = strtok(cmdtext, idx);
    if(!strlen(fn) || !strlen(sn)) return SendClientMessage(playerid, 0x00FF00FF, "/rename [player name] [new name]");
    nameid = GetPlayerIDFromName(fn);
    if(!IsPlayerConnected(nameid)) return SendClientMessage(playerid, 0x00FF00FF, "Playerid isn't connected!");
    SetPlayerName(nameid, sn);
    SendClientMessage(playerid, 0x00FF00FF, "Name succesfully changed");
    return 1;
    }
    return 0;
    }


    So hab ichs eingefügt = 6 errors :(


    C:\Dokumente und Einstellungen\Besitzer\Desktop\Neuer Ordner\a\gamemodes\nichts.pwn(32) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Besitzer\Desktop\Neuer Ordner\a\gamemodes\nichts.pwn(32) : error 017: undefined symbol "GetPlayerIDFromName"
    C:\Dokumente und Einstellungen\Besitzer\Desktop\Neuer Ordner\a\gamemodes\nichts.pwn(34) : error 017: undefined symbol "MAX_PLAYERS_NAME"
    C:\Dokumente und Einstellungen\Besitzer\Desktop\Neuer Ordner\a\gamemodes\nichts.pwn(34) : error 009: invalid array size (negative, zero or out of bounds)
    C:\Dokumente und Einstellungen\Besitzer\Desktop\Neuer Ordner\a\gamemodes\nichts.pwn(34) : error 036: empty statement
    C:\Dokumente und Einstellungen\Besitzer\Desktop\Neuer Ordner\a\gamemodes\nichts.pwn(34) : fatal error 107: too many error messages on one line

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • habs einfach so schnell eingefügt ^^


    #include <a_samp>



    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_YELLOW 0xFFFF00AA







    public OnGameModeInit()
    {



    SetGameModeText("NICHTS ^^");





    AddPlayerClass(0,1218.0123,-936.9485,42.6448,1.2530,0,0,0,0,0,0);


    return 1;
    }


    stock GetPlayerIDFromName(name[])
    {
    new plname[MAX_PLAYERS_NAME];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(name, plname, true))
    {
    return i;
    }
    }
    return INVALID_PLAYER_ID;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256], idx, fn[256], sn[256], nameid;
    cmd = strok(cmdtext, idx);
    if(!strcmp(cmd, "/rename", true))
    {
    fn = strtok(cmdtext, idx);
    sn = strtok(cmdtext, idx);
    if(!strlen(fn) || !strlen(sn)) return SendClientMessage(playerid, 0x00FF00FF, "/rename [player name] [new name]");
    nameid = GetPlayerIDFromName(fn);
    if(!IsPlayerConnected(nameid)) return SendClientMessage(playerid, 0x00FF00FF, "Playerid isn't connected!");
    SetPlayerName(nameid, sn);
    SendClientMessage(playerid, 0x00FF00FF, "Name succesfully changed");
    return 1;
    }
    return 0;
    }








    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : error 017: undefined symbol "MAX_PLAYERS_NAME"
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : error 009: invalid array size (negative, zero or out of bounds)
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : error 036: empty statement
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • Schreib oben unter #define COLOR_YELLOW 0xFFFF00AA ein #define MAX_PLAYER_NAME 25

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • leider immernoch "undefined symbol "MAX_PLAYERS_NAME""


    und noch ne warning dazu ^^ aber das ist ja egal ^^


    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(6) : warning 201: redefinition of constant/macro (symbol "MAX_PLAYER_NAME")

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • noch mehr errors, aber MAX_PLAYER_NAME ist nicht undefiniert


    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(6) : warning 201: redefinition of constant/macro (symbol "MAX_PLAYER_NAME")
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(31) : error 017: undefined symbol "playerid"
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(43) : error 017: undefined symbol "strtok"
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(43) : error 033: array must be indexed (variable "cmd")
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(46) : error 017: undefined symbol "strtok"
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(46) : error 033: array must be indexed (variable "fn")
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(47) : error 017: undefined symbol "strtok"
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(47) : error 033: array must be indexed (variable "sn")
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(42) : warning 203: symbol is never used: "idx"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    7 Errors.

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : error 017: undefined symbol "MAX_PLAYERS_NAME"
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : error 009: invalid array size (negative, zero or out of bounds)
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : error 036: empty statement
    C:\DOKUME~1\Besitzer\Desktop\NEUERO~1\a\GAMEMO~1\nichts.pwn(28) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

  • ja hab ich doch schon längst gemacht da kamen ja dann die 7 errors


    und als ich es wieder weg gemacht habe waren die 4 errors wieder da ^^ die auch da waren bevor du sagtest ich solle MAX_PLAYER_NAME statt MAX_PLAYERS_NAME machen

    Hey Yo! Here I Am, and here we go, life's waiting to begin ...

    Einmal editiert, zuletzt von blink-182 ()

  • Hey Yo! Here I Am, and here we go, life's waiting to begin ...