Hilfe zu einem Befehl

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
  • Hey leute


    ich hab ne cmd erstellt, aber wenn ich die eingebe dann schließt sich immer die "samp-server.exe" und im client kommt dann natürlich "lost connection". also hier mal der code:



    forward timer(playerid); //is natürlich oben unter den #includes
    new jailid; //is über "OnFilterScriptInit"
    //blablabla
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(jail,4,cmdtext);
    return 0;
    }
    dcmd_jail(playerid,params[])
    {
    new
    time;
    if(sscanf(params,"ui",jailid,time)) SendClientMessage(playerid,WEISS,"USAGE: /jail [ID] [TIME]");
    else if(jailid == INVALID_PLAYER_ID) SendClientMessage(playerid,WEISS,"Das ist kein aktiver Spieler");
    else if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid,WEISS,"Du darfst diesen Befehl nicht nutzen");
    else
    {
    new string[48],string2[48],admin[MAX_PLAYER_NAME],player[MAX_PLAYER_NAME];
    GetPlayerName(playerid,admin,sizeof(admin));
    GetPlayerName(jailid,player,sizeof(player));
    format(string,sizeof(string),"**(%s*1000)** hat dich für %d Sekunden eingesperrt",admin,time);
    format(string2,sizeof(string2),"Du hast **%s** für %d Sekunden eingesperrt",player,time);
    SendClientMessage(jailid, ROT,string);
    SendClientMessage(playerid, ROT,string2);
    SetPlayerInterior(jailid,3);
    SetPlayerPos(jailid,199,162,1004);
    SetTimer("timer",time,false);
    }
    return 1;
    }
    public timer(playerid)
    {
    SetPlayerInterior(jailid,0);
    SetPlayerPos(jailid,1553.3182,-1675.5175,16.1953);
    SendClientMessage(jailid,WEISS,"Du hast deine Strafe abgesessen");
    }
    also so in etwa sieht das script aus (hab natürlich die sachen die nix mit dem /jail zu tuen ham weggelassen).
    was ist da falsch?
    danke im vorraus


    //EDIT: Der Compiler findet keine Erorrs/Warnings

  • if(jailid == INVALID_PLAYER_ID) SendClientMessage(playerid,WEISS,"Das ist kein aktiver Spieler");
    if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid,WEISS,"Du darfst diesen Befehl nicht nutzen");


    So ich glaub es sollte an dieser Stelle so aussehen.

  • was soll das bringen? ich hab zb so nen befehl
    dcmd_sethealth(playerid, params[])
    {
    new
    id,
    health,
    grund[48];
    if (sscanf(params, "uis",id,health,grund)) SendClientMessage(playerid, 0xFF0000AA, "USAGE: /sethealth [ID] [HEALTH] [GRUND]");
    else if (!IsPlayerConnected(jailid)) SendClientMessage(playerid, 0xFF0000AA, "Player not found");
    else if (!IsPlayerAdmin(playerid)) SendClientMessage(playerid, ROT,"Du darfst diesen Befehl nicht nutzen");
    else
    {
    new string[48],string2[48],string3[48],admin[MAX_PLAYER_NAME],player[MAX_PLAYER_NAME];
    GetPlayerName(playerid,admin,sizeof(admin));
    GetPlayerName(id,player,sizeof(player));
    format(string,sizeof(string),"**%s** hat deine Leben auf %d gesetzt",admin,health);
    format(string2,sizeof(string2),"Du hast**%s**'s Leben auf %d gesetzt",player,health);
    format(string3,sizeof(string3),"Grund: %s",grund);
    SetPlayerHealth(id,health);
    SendClientMessage(id, 0x00FF00AA,string);
    SendClientMessage(id, 0x00FF00AA,string3);
    SendClientMessage(playerid, 0x00FF00AA,string2);
    }
    return 1;
    }
    und der geht einwandfrei. iwo muss doch ein wurm drin sein. helft mit bitte

  • hast du es versucht? wenn ja und es geht net hmm bin auch ein angfänger und kein profi. aber falls du es nicht versucht hast dann mach das ma kann ja nicht schaden oder? :thumbup: