Beiträge von Monte

    if(strcmp(cmd, "/nos", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    new vehmodel = GetVheicleMode(vehicle);
    if(vehmodel == NRG-ID) { SendClientMessage(playerid,0xFF0000FF,"Du kannst keine NRG tunen!"); return 1; }
    AddVehicleComponent(vehicle,1010);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast Nos in deinen Wagen eingebaut");
    }
    }
    return 1;
    }


    Wenn du bei NRG-ID die ID von der NRG einfügst, dann wird vorm tunen, nochmal abgefragt ob es eine NRG ist, wenn ja, dann wird der Text gesendet und der CMD abgebrochen.
    Wenn nein, wird getunt ;D

    Strget:
    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;
    }


    OnPlayerCommandText:
    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if(!strcmp(strget(cmdtext,0),"/vehicle"))
    {
    new id = strval(strget(cmdtext,1));
    new col1 = strval(strget(cmdtext,2));
    new col2 = strval(strget(cmdtext,3));
    if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,0xFF0000FF,"Benutzung: /vehicle [vehicleid] [color1] [color2]"); return 1; }
    if(id > 610 || id < 400) { SendClientMessage(playerid,0xFF0000FF,"Vehicleid nicht größer als 610 und nicht kleiner als 400"); return 1; }
    if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid,0xFF0000FF,"Du bist schon in einem Fahrzeug!"); return 1; }
    if(IsPlayerAdmin(playerid)) // Wenn der Spieler als Admin eingeloggt ist...
    {
    new Float:X,Float:Y,Float:Z,Float:Rot;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,Rot);
    new vehikel;
    vehikel = CreateVehicle(id,X,Y,Z,Rot,col1,col2,-1);
    PutPlayerInVehicle(playerid,vehikel,1);
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Admin!(/rcon login [RconPW]");
    }
    return 1;
    }
    return 0;
    }


    Siedler:


    Siedleracc:
    Strget:
    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;
    }
    Unter den Includes:
    new bool:iAllowed[MAX_PLAYERS];
    OnPlayerCommandText:
    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if(!strcmp(strget(cmdtext,0),"/allowsavespawn"))
    {
    new ziel = strval(strget(cmdtext,1));
    if(!strlen(strget(cmdtext,1))) { SendClientMessage(playerid,0xFF0000FF,"Benutzung: /allowsavespawn [playerid]"); return 1; }
    if(!IsPlayerConnected(ziel)) { SendClientMessage(playerid,0xFF0000FF,"Dieser Spieler ist nicht connected!"); return 1; }
    if(IsPlayerAdmin(playerid)) // Wenn der Spieler als Admin eingeloggt ist...
    {
    if(iAllowed[ziel] == false)
    {
    Allowed[ziel] = true;
    SendClientMessage(ziel,0xFF0000FF,"Dir wurde es erlaubt deinen Spawn zu setzen!");
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Diesem Spieler wurde es schon erlaubt!");
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Admin!(/rcon login [RconPW]");
    }
    return 1;
    }
    if(strcmp(cmdtext,"/command",true) == 0)
    {
    if(iAllowed[playerid] == true) // Wenn es ihm erlaubt wurde...
    {
    // ...tue das
    }
    else // Wenn es ihm nicht erlaubt wurde..
    {
    // ...tue das
    }
    return 1;
    }
    return 0;
    }


    Nene, Klinsen.
    Dann wird die playerid für alle sichtbar.
    [wiki]SetPlayerMarkerForPlayer[/wiki] oderso heisst die gescuchte Funktion ;D


    //EDIT: Es war SetPlayerMarkerForPlayer(playerid,wem soll das gezeigt werden,farbe);
    Beispiel in nem Timer:

    if(gTeam[playerid] == COP)
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(gTeam[i] == BUNDESWEHR)
    {
    SetPlayerMarkerForPlayer(playerid,i,0x0000FFFF);
    }
    }
    }
    }

    Yeah, das erste Mal nennt mich jemand nicht Monti sondern Spearrow.
    Erfolg auf ganzer Linie ;D

    Zitat von pillepalle

    und wie will man das scripten das er wenn schon eins existiert nen 2. macht

    Sorry, da kann ich dir nicht weiterhelfen...soweit bin ich noch nicht gekommen ^^

    Ich bin mir nicht sicher aber meins ist ins Register System eingepflanzt.
    Ich speicher im Register System noch mit
    CarAct
    CarID
    CarX
    CarY
    CarZ
    CarCol1
    CarCol2


    Bei OnPlayerSpawn frage ich ab ob der Spieler ein Auto besitzt.(Also ob CarAct auf 1 steht)
    Wenn ja, dann erstelle ich ein Vehicle mit den Koordinaten ausm Savesystem.
    Und für /lock benutze ich das Passwort als Schlüssel ;)

    Den ACTION_KEY kann man nicht umstellen.
    Jeder User kann sich seinen Action Key in den Optionen einstellen!
    Im WIki stehen nochmal alle Keys..such dir dort einen raus oder lass es so wie es ist.. :D

    Wie BlackFox sagt...Copyright muss erhalten werden.
    Außerdem zählt es dann zu Mods like Snow Andreas und GTA United..
    Dann stellt man sich die Frage:"Wenn es verboten wäre, wieso existieren dann die beiden obenstehenden?"
    Und die Antwort:"Es ist gar nicht verboten!"
    Einfach mal logisch denken ;)

    Gibt es irgendwelche Errors oder Warnings?
    Ein Fehler seh ich jetzt gerade nicht..ist es denn auch in OnPlayerCommandText?



    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if (strcmp(cmdtext, "/aa3", true) == 0)
    {
    MoveObject(g_gate,-2671.138184, 1269.625854, 55.488937, 0.0000, 359.1406, 0.0000);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Sehr stark bewachtes Gelände!");
    return 1;
    }


    if (strcmp(cmdtext, "/zz3", true) == 0)
    {
    MoveObject(g_gate,-2671.170166, 1269.633179, 55.488937, 0.0000, 89.3814, 0.0000);
    SendClientMessage(playerid, COLOR_YELLOW,"ACHTUNG: Haste schiss?");
    return 1;
    }
    return 0;
    }


    Das müsste auf jedenfall gehen.
    VIelleicht hast du auch die Koordinaten vertauscht?


    Wie machst du diese Schrift? :D
    EDIT: wtf...das ist ein tag von oben.
    Die Schriftart heisst Dungeon.

    Komische Schriftart...

    Kann mir wer sagen wieso dies nicht funktioniert?
    Testern zufolge, steigt man in ein Vehikel ein, der Tank geht auf 100 und dann auf 'Tank leer!" :(
    Bitte um Hilfe ^^
    EDIT: Ich habe es verbessert, es geht nun teilweise.
    Neuer Fehler - wenn du ein Bullet spawnst..
    ..du steigst ein..fährst den Tank auf 95 Liter runter..
    ..nun steigst du aus..spawnst einen neuen Bullet..
    ..und du steigst ein und :(..der neue Bullet hat auch nurnoch 95 Liter im Tank ;(
    Bitte helft mir...es ist nicht leicht so ein Benzin Script ;)

    #include <a_samp>
    new Fuel[MAX_VEHICLES];
    new Text:Anzeige;
    new fuelstr[50];
    forward UpdateAnzeige(playerid);
    new timer;
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Benzin Script by Monti|Spearrow (www.sampfish.de)");
    print("--------------------------------------\n");
    Anzeige = TextDrawCreate(0.0,434.0,"Benzin: 100");
    for (new i; i<MAX_VEHICLES; i++)
    {
    Fuel[i] = 100;
    }
    return 1;
    }


    public UpdateAnzeige(playerid)
    {
    new veh = GetPlayerVehicleID(playerid);
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(Fuel[veh] > 0)
    {
    Fuel[veh] = Fuel[veh] - 1;
    format(fuelstr,sizeof fuelstr,"Benzin: %d",Fuel[veh]);
    TextDrawSetString(Anzeige,fuelstr);
    }
    else
    {
    format(fuelstr,sizeof fuelstr,"Benzin leer!");
    TextDrawSetString(Anzeige,fuelstr);
    }
    }
    return 1;
    }


    public OnPlayerStateChange(playerid,newstate,oldstate)
    {
    if(newstate == 2 && IsPlayerInAnyVehicle(playerid))
    {
    timer = SetTimerEx("UpdateAnzeige",2500,1,"i",playerid);
    TextDrawShowForPlayer(playerid,Anzeige);
    }
    return 1;
    }


    public OnPlayerExitVehicle(playerid,vehicleid)
    {
    KillTimer(timer);
    TextDrawHideForPlayer(playerid,Anzeige);
    return 1;
    }

    Decompiling ist eh so schlecht möglich im Moment, da reicht es zur Sicherheit einfach, dein Script nur die AMX hochzuladen und die PWN nur auf deinem Rechner oder die eines Vertrauten zu tun...