Suche Giveweapon bzw. Setweapon Command !!

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,


    ich suche mal wieder einen Command und zwar einen für mein Adminscript damit Admins mit z.B. /giveweapon [PLAYERID] [WEAPONID] [MUNI] einem Spieler Waffen geben können.



    Und ich suche einen Command mit dem mir wenn ich /getinfo eingebe auch die IP angezeigt wird :)





    Danke im Vorraus Leute :)





    Gruß
    Colin

  • Hir ist /givegun:


    if(!strcmp(strget(cmdtext, 0),"/givegun"))
    {
    new target = strval(strget(cmdtext, 1));
    new gunid = strval(strget(cmdtext, 2));
    new ammo = strval(strget(cmdtext, 3));
    if(gunid == 38) { return 1; }
    if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,MSG2,"Benutze: /givegun [ID] [gunID] [ammo]"); return 1; }
    if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
    {
    GivePlayerWeapon(target,gunid,ammo);
    }
    return 1;
    }


    und /ip



    if(strcmp(cmd, "/getip", true) == 0
    {
    if(!PLAYERLIST_authed[playerid])
    {
    SendClientMessage(playerid,0xFF0000AA,"Bad Command. Type /commands for available commands depending on your chosen job/skill");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_ERROR, "USAGE: /getip (id)");
    return 1;
    }
    giveplayerid = strval(tmp);
    if(!IsNumeric(tmp)) {
    SendClientMessage(playerid, COLOR_ERROR, "USAGE: /getip (id) ID Must be a number");
    return 1;
    }
    if(!IsPlayerConnected(giveplayerid)) {
    format(string, sizeof(string), "ID (%d) Is not an active player",giveplayerid);
    SendClientMessage(playerid, COLOR_ERROR, string);
    return 1;
    }
    new ipstring[25];
    GetPlayerIp(giveplayerid,ipstring,255)
    format(string, sizeof(string), "IP: %s",ipstring);
    SendClientMessage(playerid,COLOR_RED, string);
    return 1;
    }

    Einmal editiert, zuletzt von Matze_Bellic ()

  • Bei /getip kommen bei ihm Errors... beim anderne weiß ich nciht, ob er strget definiert hat... der /getip kann auch so aussehen:
    if(!strcmp(strget(cmdtext,0)),"/getip") {
    if(strlen(strget(cmdtext,1))) {
    new typ=strval(strget(cmdtext,1));
    if(IsPlayerConnected(typ)) {
    new name[MAX_PLAYER_NAME], ip[15], s[50];
    GetPlayerName(typ,name,sizeof(name));
    GetPlayerIp(typ,ip,sizeof(ip));
    format(s,sizeof(s),"%ss Ip: %s",name,ip);
    SendClientMessage(playerid,FARBE,s); }}
    return 1;
    }
    Oder so:
    if(strcmp(cmdtext,"/getip",true,6)==0) {
    if(strlen(cmdtext[7])) {
    new typ=strval(cmdtext[7]);
    if(IsPlayerConnected(typ)) {
    new name[MAX_PLAYER_NAME], ip[15], s[50];
    GetPlayerName(typ,name,sizeof(name));
    GetPlayerIp(typ,ip,sizeof(ip));
    format(s,sizeof(s),"%ss Ip: %s",name,ip);
    SendClientMessage(playerid,FARBE,s); }}
    return 1;
    }

  • Also ich habe den jetzt so eingebaut:


    if(strcmp(cmdtext,"/ip",true,6)==0) {
    if(strlen(cmdtext[7])) {
    new typ=strval(cmdtext[7]);
    if(GetPlayerLevel(playerid) < 1) return SendClientMessage(playerid, red, "Dein Level ist für diesen Command nicht hoch genug !!");
    if(IsPlayerConnected(typ)) {
    new name[MAX_PLAYER_NAME], ip[15], s[50];
    GetPlayerName(typ,name,sizeof(name));
    GetPlayerIp(typ,ip,sizeof(ip));
    format(s,sizeof(s),"%ss Ip: %s",name,ip);
    SendClientMessage(playerid,cyan,s); }}
    return 1;
    }


    Allerdings wenn ich jetzt auf dem Server /IP 1 z. B. mache kommt Server Unknown Command :(


    Und den /givegun Command bräuchte ich auch in der Version wie der 2. /IP-Befehl von KeksofDeath :rolleyes:





    Gruß
    Colin

  • if(strcmp(cmd, "/giveweapon", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "BENUTZE: /giveweapon [id] [weaponid] [ammo]");
    return 1;
    }
    new player;
    new gun;
    new ammo;
    player = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    tmp = strtok(cmdtext, idx);
    ammo = strval(tmp);
    if(ammo <1||ammo > 10000)
    { SendClientMessage(playerid, COLOR_WHITE, "Du kannst nich mehr Munition als 10000 geben!"); return 1; }
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    if(IsPlayerConnected(player))
    {
    if(player != INVALID_PLAYER_ID)
    {
    GivePlayerWeapon(player, gun, ammo);
    }
    }
    } else {
    SendClientMessage(playerid, COLOR_WHITE, "Du bist kein Admin!");
    }
    }
    return 1;
    }

  • Ok, allerdings bekomm ich folgende 6 Errors:


    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1640) : error 017: undefined symbol "tmp"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1641) : error 017: undefined symbol "tmp"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1649) : error 017: undefined symbol "ReturnUser"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1650) : error 017: undefined symbol "tmp"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1651) : error 017: undefined symbol "tmp"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1652) : error 017: undefined symbol "tmp"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.




    Gruß
    Colin

  • Nun gut, dann hol dir strget aus dem Wiki:


    if(!strcmp(strget(cmdtext,0),"/giveweapon"))
    {
    new player = strval(strget(cmdtext,1));
    new waffe = strval(strget(cmdtext,2));
    new ammo = strval(strget(cmdtext,3));
    if(!strlen(strget(cmdtext,1))) { return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /giveweapon [playerid][weapon][ammo]"); }
    if(GetPlayerLevel >= 1)
    {
    GivePlayerWeapon(player,waffe,ammo);
    new string[128],name[18],name2[18];
    GetPlayerName(playerid,name,sizeof name);
    GetPlayerName(player,name2,sizeof name2);
    format(string,sizeof string,"%s hat dir eine Waffe(%d) gegeben.",name,waffe);
    SendClientMessage(player,0xFF0000FF,string);
    format(string,sizeof string,"Du gibst %s eine Waffe(%d).",name2,waffe);
    SendClientMessage(playerid,0xFF0000FF,string);
    }
    return 1;
    }

  • LOl, fast die gleichen Errors :D


    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1636) : error 017: undefined symbol "strget"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1638) : error 017: undefined symbol "strget"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1639) : error 017: undefined symbol "strget"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1640) : error 017: undefined symbol "strget"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1641) : error 017: undefined symbol "strget"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1642) : error 076: syntax error in the expression, or invalid function call
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    6 Errors.




    Gruß
    Colin

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Jap, du mögest bitte dir aus dem Wiki strget holen.
    strget platzierst du dann ausserhalb jeden Callbacks ;)
    Ich suchs dir schnell raus..


    Edit: Bitte schö:


    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }


  • if(!strcmp(strget(cmdtext, 0),"/getip"))
    {
    new target = strval(strget(cmdtext, 1));
    if(!strlen(strget(cmdtext, 1))) { SendClientMessage(playerid,MSG2,"Benutze: /getip [ID]"); return 1; }
    if(!IsPlayerConnected(target)) { SendClientMessage(playerid,COLOR_RED,"Diese ID ist nicht vergeben"); return 1; }
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
    new ipadress[128],string[128],name[24];
    GetPlayerName(target,name,sizeof name);
    GetPlayerIp(target,ipadress,sizeof ipadress);
    format(string,sizeof string,"Name: %s IP: %s",name,ipadress);
    SendClientMessage(playerid,MSG2,string);
    }
    return 1;
    }

  • if(!strcmp(strget(cmdtext,0),"/getip"))
    {
    new id = strval(strget(cmdtext,1));
    if(!strlen(strget(cmdtext,1))) { return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /getid [playerid]"); }
    if(GetPlayerLevel >= 1)
    {
    new ipstr[24],str[128];
    GetPlayerIP(id,ipstr,sizeof ipstr);
    format(str,sizeof str,"IP von %d: %s",id,ipstr);
    SendClientMessage(playerid,0xFF0000FF,str);
    }
    return 1;
    }


    EDIT: Da war er schneller ;)

  • Bei beiden,


    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1630) : error 017: undefined symbol "GetPlayerIP"
    C:\Program Files\GTA San Andreas\Server\filterscripts\Zadmin.pwn(1630) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.




    Gruß
    Colin