Beiträge von Mike_Traceur

    hay @ all
    und zwar hab ich mein script auf dcmd ungestellt und nun bekomme ich immer bei werbung (/ad) das der string 0 zeichen lang sei
    //----------------------------------[advertise]-----------------------------------------------
    dcmd_ad(playerid,params[]){return dcmd_advertise(playerid,params);}
    dcmd_advertise(playerid,params[])
    {
    new sendername[MAX_PLAYER_NAME],string[256];
    new idx;
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist derzeit nicht eingeloggt !");
    return 1;
    }
    if(PlayerInfo[playerid][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du musst mindestens Level 3 sein !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new result[64];
    new length = strlen(params);//ab hier
    while ((idx < length) && (params[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;//bis hier wird gezählt
    if(sscanf(params,"s",result))
    {
    return 1;
    }
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: (/ad)vertise [advert text]");
    return 1;
    }
    if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
    {
    format(string, sizeof(string), " Es wurde bereits geworben warte %d sekunden !", (addtimer/1000));
    SendClientMessage(playerid, COLOR_GRAD2, string);
    return 1;
    }
    new payout = idx * 25;
    if(GetPlayerMoney(playerid) < payout)
    {
    format(string, sizeof(string), "* Du hast %d erreicht dies kostet dich $%d, du hast nicht genug Geld.", offset, payout);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    PlayerMoney[playerid] -= payout;
    SBizzInfo[7][sbTill] += payout;
    ExtortionSBiz(7, payout);
    format(string, sizeof(string), "Werbung: %s, Nummer: %s Ph: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
    OOCNews(TEAM_GROVE_COLOR,string);
    format(string, sizeof(string), "~r~Paid $%d~n~~w~Message contained: %d Characters", payout, idx);
    GameTextForPlayer(playerid, string, 5000, 5);
    if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
    }
    return 1;
    }

    da muss ich Jason zustimmen
    außerdem bei den andren Code beispielen wird die Pos nich gesaved sondern geht da hoch wo der player nach den 5 sek ist
    er kann also fliehen aber die Bombe holt ihn ein :D

    if(strcmp(cmd, "/load", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new newcar = GetPlayerVehicleID(playerid);
    if(!IsATruck(newcar))//hier war der fehler, guck mal genauer hin
    {
    GameTextForPlayer(playerid, "~r~Du bist nicht in einem Truck", 5000, 1);
    return 1;
    }
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[newcar][pLoad],PlayerHaul[newcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    }
    return 1;
    }

    so hastenur model 515 als truck definiert
    nimm das hier lieber:
    public IsATruck(carid)
    {
    new tmpmodel = GetVehicleModel(carid);
    if(tmpmodel == 456 || tmpmodel == 440 || tmpmodel == 403 || tmpmodel == 514 || tmpmodel == 515 || tmpmodel == 455 || tmpmodel == 414)
    {
    return 1;
    }
    return 0;
    }

    name[MAX_PLAYER_NAME];
    denn ein MAX_PLAYER_NAME ist 24
    und dein SetPlayerPos ist nicht richtig
    SetPlayerPos(playerid,X,Y,Z); //wobei x,y,z float sein müssen

    besser
    forward Heal(playerid);


    if(strcmp("/minigun", cmdtext, true) == 0) {
    new
    str[64],
    name[16];
    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s ist bei Minigun(/minigun)", name);
    SendClientMessageToAll(0xFF00FFFF, str);
    SetPlayerPos(playerid, 0.0/* X Coord*/, 0.0/* Y Coord */, 0.0/* Z Coord */);
    GivePlayerWeapon(playerid, 38, 99999);
    SetPlayerHealth(playerid,200.0);
    SetPlayerArmor(playerid,20000.0);
    SetTimerEx("Heal",1000,1,"i",playerid);//um health neu zu setzen
    return 1;
    }


    public Heal(playerid)
    {
    SetPlayerHealth(playerid,200.0);
    SetPlayerArmor(playerid,20000.0);
    return 1;
    }

    kommt halt drauf an was man im FS testen will und kann
    als Beispiel was man im FS testen könnte wäre zb Blitzer
    wenn es um Sachen geht die im GM sind gibts halt keine Chance

    stimmt
    aber wenn du was neues einbauen willst und nicht immer den gesamten GM neustarten willst(wegen Usern) dann mach einfach es erstmal in einen FS und bau es in den GM wenn es fertig ist.
    mach ich auch so

    if(strcmp(cmdtext, "/mybefehlt", true) == 0)
    {
    if(PlayerToPoint(2.0,playerid,deinX,deinY,deinZ))
    {
    //hier was passieren soll
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"du kannst diesen Befehl hier nicht nutzen");
    }
    return 1;
    }