Beiträge von SoulMan

    Guten Abend, Com!


    Habe gerade ein enum erstellt, um Bots alle unter einem Dach fassen zu können, jedoch gibt es ein Problem, welches ich
    nicht zu lösen vermag.
    Habe schon danach gesucht, aber keine Hilfe dazu gefunden, vielleicht stehe ich auch nur auf dem Schlauch..


    Möchte quasi eine Bezeichnung(Variable) wie diese in das enum integrieren
    new etwas;


    Bekomme aber erwarteter Weise Fehler bei der folgenden enum Struktur..


    enum server_bots
    {
    Float:npc_x,
    Float:npc_y,
    Float:npc_z,
    npc_name[MAX_PLAYER_NAME],
    npc_script_name[32],
    npc_veh_var, <- Betroffene Zeile
    npc_veh_id
    }
    new npc_data[MAX_NPCS][server_bots] = {
    {1731.0669,-1951.1475,14.1172,"NPC_Zug","Zug",train,538}, <- train
    {-2006.5000,137.9100,27.9973,"NPC_Tram","Tram",tram,449} <- tram
    };

    Godfather ist das beste, was uns je passiert ist. Ohne die Veröffentlichung hätten wir nie so viele Spieler.
    Den Showroom schließen ist dämlich. Die Russen haben genau so Zugriff auf die Scripte auf sa-mp.com. Trotzdem macht nicht jeder einen eigenen Server auf.


    Aber was für Spieler haben wir jetzt?
    Du kannst mir nicht erzählen, dass die dt. Sa-Mp Community angenehm ist..

    Schwachsinn! Die, die es benutzen ohne das sie auch nur eine Zeile Code geaendert haben machen es kaputt.


    Es gibt einfach zu wenig GF alternativen...


    P.S.: LoG ist auch aus einem GF entstanden ist der Server jz vom Script her deswegen auch scheisse?


    Schwachsinn? Ich denke nicht, denn das Godfather ist ja wohl die Basis aller schlechten Server.
    Das Script kenne ich nicht, es gibt Ausnahmen, aber wegen wenigen Ausnahmen die Problematik abstreiten? DAS ist Schwachsinn.

    Warum sollte das nichts ändern?
    Die ganzen Kinder kommen nicht mehr an die fertigen Scripts ran und können keinen Server auf die
    Beine stellen. Problem gelöst.


    Der Showroom sollte keine Gamemodes enthalten, sondern nur Filterscripts , Includes etc.

    Wie BlueFox es schon vorgeschlagen hat, man schließt den Showroom, dann kommt niemand mehr an die
    Scripts ran. Weiterhin müssten Verlinkungen auf das Godfather Script gelöscht werden, denn meiner Meinung nach hat
    das Godfather Script erst alles kaputt gemacht.

    Die Bezeichnung der modelid ist doch völlig unerheblich :D
    Und das mit dem Filterscript oben liegt daran, dass ich eigentlich keine Filterscripts schreibe, ich änder das mal eben.


    Danke für die Bewertungen!
    Hat jemand noch Vorschläge?


    //

    Zitat

    Mach mal weiter mit TRP :)

    Sorry, aber ich hab das Ganze erstmal beendet.
    Werde mich irgendwann nochmal damit befassen einen Gamemode zu scripten, aber dann mit mehr
    Koordination etc.

    Guten Abend, breadfish'ler!


    Ich stelle euch mein neustes System hier zum Download frei. Habe es nur aus Langweile entworfen, aber vielleicht findet
    ja jemand Verwendung für dieses einfache, aber effiziente System.


    Das Prinzip ist einfach, man gibt im Array die Start und Ziel - Koordinaten (+Rotation) ein und das Objekt kann Ingame hin und her bewegt werden
    über die Tasten 'Z' und 'N'.


    Oben im Script kann man noch ein paar Einzelheiten definieren z.B. ob sich das Objekt automatisch zurückbewegen soll.


    Viel Spaß damit!


    Erwähnung meines Namens bei Verwendung ist nicht erwünscht. Macht damit was ihr wollt.


    Pastebin


    Download im Anhang.

    Hab mich eben reingelesen, lt. der Wiki sind das hier die
    verschiedenen Bereiche zum anfügen des Objekts: Klick


    Daraus schließe ich, du musst 2 Objekte hinzufügen, daher noch folgende Zeile einfügen:
    SetPlayerAttachedObject(giveplayerid, 0, 19418, 5, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);


    Und die Animation nicht ausklammern.


    Sind jetzt nur Lösungansätze, da ich die Funktion selber noch nicht genutzt habe.


    LG

    So, hab's mal eingebaut, funktioniert aber nicht.


    stock CreateWantedLabel(attachid,forplayerid)
    {
    new label[128];
    format(label,sizeof(label),"[%d] %s\nWantedlevel: %i\nGrund: %s",attachid,SpielerName[attachid],pInfo[attachid][Wanteds],pInfo[attachid][lastreason]);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(attachid,X,Y,Z);
    if(pInfo[forplayerid][Fraktion] == 4 || pInfo[forplayerid][Fraktion] == 9)
    {
    if(pInfo[attachid][Wanteds] > 0)
    {
    if(HaveWantedLabel[attachid] == 0)
    {
    wantedlabel[attachid] = CreatePlayer3DTextLabel(forplayerid,label,COLOR_RED,X,Y,Z,20.0,attachid,INVALID_VEHICLE_ID,0);
    HaveWantedLabel[attachid] = 1;
    }
    else if(HaveWantedLabel[attachid] == 1)
    {
    UpdatePlayer3DTextLabelText(forplayerid,wantedlabel[attachid],COLOR_RED,label);
    }
    }
    else DeletePlayer3DTextLabel(forplayerid,wantedlabel[attachid]);
    }
    else DeletePlayer3DTextLabel(forplayerid,wantedlabel[attachid]);
    }


    stock DeleteWantedLabel(attachid,forplayerid)
    {
    if(pInfo[forplayerid][Fraktion] == 4 || pInfo[forplayerid][Fraktion] == 9)
    {
    DeletePlayer3DTextLabel(forplayerid,wantedlabel[attachid]);
    HaveWantedLabel[attachid] = 0;
    }
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    CreateWantedLabel(playerid,forplayerid);
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    DeleteWantedLabel(playerid,forplayerid);
    return 1;
    }


    Hat jmd. Vorschläge? Hab schon überlegt, man erstellt für alle ein Label und für nicht Cops wird es dann eben beim StreamIn gelöscht, sonst eben ein normales Label.

    Und was wäre mit den Labels, die für nicht bereits vorhandene Wanteds beim Login erstellt werden?
    Also beim Mord?


    //Edit:


    Wann wird denn das Callback aufgerufen? Kenne die Funktion nicht ^^

    Guten Abend, breadfish'ler!


    Habe zur Zeit das Problem, dass das Wantedlabelsystem nicht funktioniert.
    Scripttechnisch müsste es eigentlich zu 100% klappen, aber in der Praxis schaut das leider ganz anders aus, denn die Labels werden nicht gesetzt.


    Es sollen Labels sein, die nur Cops sehen können.


    Meine Funktion dazu sieht folgendermaßen aus:


    stock SetWantedLabel(attachid)
    {
    new label[128];
    format(label,sizeof(label),"[%d] %s\nWantedlevel: %i\nGrund: %s",attachid,SpielerName[attachid],pInfo[attachid][Wanteds],pInfo[attachid][lastreason]);
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(attachid,X,Y,Z);
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(pInfo[i][Fraktion] == 4 || pInfo[i][Fraktion] == 9)
    {
    if(pInfo[attachid][Wanteds] > 0)
    {
    if(HaveWantedLabel[attachid] == 0)
    {
    wantedlabel[attachid] = CreatePlayer3DTextLabel(i,label,COLOR_RED,X,Y,Z,20.0,attachid,INVALID_VEHICLE_ID,0);
    HaveWantedLabel[attachid] = 1;
    }
    else if(HaveWantedLabel[attachid] == 1)
    {
    UpdatePlayer3DTextLabelText(i,wantedlabel[attachid],COLOR_RED,label);
    }
    }
    else DeletePlayer3DTextLabel(i,wantedlabel[attachid]);
    }
    else DeletePlayer3DTextLabel(i,wantedlabel[attachid]);
    }
    }


    Jede Hilfe ist willkommen! Das System wäre sehr wichtig für mich.


    Mit freundlichen Grüßen,


    Soul