DM scripts

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, scripte noch nicht solange gamemodes, deshalb hab ich n paar fragen:


    Wie mache ich, das wenn sich jemand teleportiert links die anzeige kommt: PLAYER hat sich nach /dm teleportiert kommt?


    Dann habe ich auf meinen Server eine extra dm map eingefügt. Jetzt will ich das wenn sich jemand innerhalb dieser DM-Zone befindet nicht mehr wenn er stirbt zum startpunkt sondern irgendwo in die DM-Zone gespawnt wird. Außerdem brauch ich eine UHR die die Restzeit einer DM Runde anzeigt,... nur alles soll nur innerhalb der bestimmten Zone passieren. Wie mache ich das?


    Und geht es das wenn man sich wieder aus dm rausteleportiert sich wieder dort befindet wo man sich zuvor wegteleportiert hat.


    EDIT: Sry für n00b fragen. aber wie kann ch ein /kick comment machen bei dem dann auch der grund und der admin dortsteht der geckickt hat so wie hier(nur des geht nicht bei mir):



    Des warn jets viele Fragen aber ich hoff ich bekomm Hilfe.

  • Zitat


    Wie mache ich, das wenn sich jemand teleportiert links die anzeige kommt: PLAYER hat sich nach /dm teleportiert kommt?


    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }
    //Unter deinen Command
    new string[128];
    format(string,128,"Der Spielername von ID %d ist %s",playerid,PlayerName(playerid));
    SendClientMessageToAll(COLOR_YELLOW,string);


    Für deinen Kick Problem
    Das ist ein Basisscript,musst es noch erweitern wie du es möchtest:
    //Under OnPlayerCommandText(playerid,cmdtext[])
    new index, cmd[128];
    cmd = strtok(cmdtext, index);
    if (!strcmp("/kick",cmd,true,5)) {
    new tmp[128],id;
    tmp=strtok(cmdtext,index);
    id=strval(tmp);
    if(!strlen(tmp) || !strlen(cmdtext[strlen(cmd)+strlen(tmp)+2]) || !IsNumeric(tmp)) {
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /kick [playerid] [text]");
    }
    else if(!IsPlayerConnected(id)) {
    return SendClientMessage(playerid,COLOR_RED,"The Player is not connected");
    }
    else {
    //What should happen
    printf("id is %d and text is %s",id,cmdtext[strlen(cmd)+strlen(tmp)+2]); //Debug msg
    }
    //Example for a Command like /pm [playerid] [msg]
    return 1;
    }


    //-----
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }
    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }



    //-----
    stock IsNumeric(const string[]) { // by DracoBlue
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
    if (
    (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
    || (string[i]=='-' && i!=0) // A '-' but not at first.
    || (string[i]=='+' && i!=0) // A '+' but not at first.
    ) return false;
    }
    if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
    return true;
    }