[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Kleine frage von mir ^^
    Kann ich OnVehicleStreamIn einfach mit das hier direkt aufrufen?:
    OnVehicleStreamIn(carid,playerid);
    wenn 'ja', werden dann aber auch die sachen im callback aufgerufen ?


    Wenn 'nein', gibt es dann eine möglichkeit, fahrzeuge neu einzustreamen sodass es OnVehicleStreamIn aufruft ?


    -------------------------------------------------------------------------------------------------------------------------


    Hier wieder alles verständlich mit beispielen und so XD:
    z.B. ich habe das hier im callback:
    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    new string[64];
    format(string,sizeof(string),"Vehicle %d Streamed In.",vehicleid);
    SendClientMessage(forplayerid,0xFFFFFFAA,string);
    return 1;
    }
    wenn ich nun OnVehicleStreamIn direkt mit 'OnVehicleStreamIn(carid, playerid);' aufrufe, wird dann auch alles was im callback ist aufgerufen bzw. die textmessage gesendet ?
    Wenn 'nein', gibt es dann eine andere möglichkeit den fahrzeug neu einzustreamen damit das callback auch aufgerufen wird ??

  • was hast du für nen streamer?

    Boar ne, hammer frage.
    Die einzige möglichkeit, vehicles einzustreamen, ist, den spieler dort in die nähe zu setzen. Das aufrufen von OnPlayerConnect ruft auch keinen Spieler aus dem nichts hervor ;)

  • Nein nein ihr habts falsch verstanden. ICh benutze keinen streamer.
    Also wenn man z.B. von einem interior nach draußen geht, sieht es ja so aus als ob die autos vom himmel fallen und OnVehicleStreamIn (die funktion von SA-MP 0.3) wird aufgerufen.
    Ich meine mit dem einstreamen die funktion von samp 0.3 ^^


    EDIT://
    Beispiel:
    Also ich habe ein system gemacht mit dem die cars geschlossen sind wenn man net fraktionsmember ist, es funzt schön und geil :thumbup:
    Aber z.B. ich bin bei den COPcars, und bin auch ein cop, ja das auto ist für mich gut offen.
    Aber wenn ich z.B. '/makeleader Fox 4' mache, bin ich medic und die cars sind immernoch offen und man kann damit fahren.
    Also meine bitte ist, wie man in Sa-Mp 0.3 so macht dass OnVehicleStreamIn für ein bestimmtes auto neu aufgerufen wird.


    PS: Habe einen command gemacht: '/resync'
    Der teleportiert den spieler auf die coords 0.0, 0.0, -1000.000, und dann wieder zurück.
    Aber da werden die autos auch nicht neu eingestreamt X(

    Einmal editiert, zuletzt von FoxHound ()

  • dcmd(farbe,5,cmdtext);


    dcmd_farbe(playerid,params[])
    {
    new col1,col2;
    if(!IsPlayerInAnyVehicle(playerid)) { return 1; }
    if(sscanf(params,"dd",col1,col2)) { return SendClientMessage(playerid,0xAFAFAFAA,"SYNTAX: /farbe [farbe1] [farbe2]"); }
    if(col1 < 0 || col1 > 126 || col2 < 0 || col2 > 126) { return 1; }
    ChangeVehicleColor(GetPlayerVehicleID(playerid),col1,col2);
    return 1;
    }
    brauchst aber sscanf und dcmd.


    ---
    und jetzt pls mir helfen ^^

  • So, und ich habe ein Login und Register System gemacht, und es funktionier auch hervorragend, bis auf:


    Es wird zwar der Skin des Spielers gespeichert, doch wenn man sich wieder einloggt kommt man wieder zur Skin Auswahl. Wie kann ich das umgehen?


    Ich hab folgendes versucht:


    public OnGameModeInit()
    {
    if (Spieler[playerid][hat_skin] = 0)
    {
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    }
    return 1;
    }


    Nur kommt ein Error: C:\Users\Patrick\Desktop\Samp server\gamemodes\freeroam.pwn(39) : error 017: undefined symbol "playerid" Was ja klar ist, nur wie bringe ich den Error nun weg?

    LG cinema


  • Abfrage kannst du auch nochmal verkürzen


    if(!Spieler[playerid][hat_skin])AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);


    Nein Foxhound da beim entladen wieder alle Daten über den Wagen verloren gehen, da beim Laden nur alle Standard angaben geladen werden

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wie kann ich Floats in Dateien speichern.
    Weil so gehts nicht


    new Float:vx,Float:vy,Float:vz,Float:vangle,Float:vhealth;


    GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
    GetVehicleZAngle(GetPlayerVehicleID(playerid),vangle);
    GetVehicleHealth(GetPlayerVehicleID(playerid),vhealth);

    dini_Create(string);
    dini_IntSet(string,"x",vx);
    dini_IntSet(string,"y",vy);
    dini_IntSet(string,"z",vz);
    dini_IntSet(string,"angle",vangle);



    Und wie kann ich die Farbe eines Autos oder den Paintjob auslesen ?

  • frage mein bot ist irgendwie komig Also er connectet einfach nicht hier mal meine zeilen:


    Ganz oben:
    new ADMINBOTCAR;


    dann bei OnGameModeInit:


    ConnectNPC("Admin","ADMINBOT");
    ADMINBOTCAR = CreateVehicle(458, 2000.0, 2000.0, 2000.0, 7.0, 0, 0, -1);


    dann habe ich bei OnPlayerSpawn:


    if(IsPlayerNPC(playerid))
    {
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, npcname, sizeof(npcname));
    if(!strcmp(npcname, "Admin", true))
    {


    PutPlayerInVehicle(playerid, ADMINBOTCAR, 0);
    SetPlayerSkin(playerid, 255);
    return 1;
    }
    }


    dann habe ich bei dem ordner samp0.3 stehen im ordner npcmode bei recording drinne
    Die ADMINBOT.REC Datei und die ADMINBOT.pwn und AMX und in der pwn datei steht drinne:

    #include <a_npc>


    // name der recordeten datei (im beispiel war es CARBOT oder ZIVIBOT)
    #define RECORDING "ADMINBOT"
    // Record typ, 1 = in einen fahrzeug, 2 = zu fuß
    #define RECORDING_TYPE 1


    main()
    {
    }


    public OnRecordingPlaybackEnd()
    StartRecordingPlayback(RECORDING_TYPE, RECORDING);


    public OnNPCEnterVehicle(vehicleid, seatid)
    StartRecordingPlayback(RECORDING_TYPE, RECORDING);


    public OnNPCExitVehicle()
    StopRecordingPlayback();


    Es ist in meinem GM Drinne und include <a-npc>


    ist auch drinne


    Bitte helft mir einer
    MFG
    Winplayer

    **-Adventure-of-San Andreas-**
    Forum: www.Ao-Sa.de
    **-Kommt Drauf :D-**

  • Hey...könnte mir jemand den befehl für /setskin geben und das wichtige ist, dass der skin gespeichert wird auch wenn man in einer fraktion ist etc. habee bis jetzt nur welche gefunden die nur die skins von zivis dauerhaft geändert haben...wäre echt nett
    MFG Nuvoxu

    MFG MrTadäus

  • Speichern gehört nicht zum Befehl!
    Setskin:
    dcmd_setskin(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid))return 1;
    if(sscanf(params,"ud",user,id))return SendClientMessage(playerid,0xFFFFFFFF,"/setskin [playerid/name] [skinid]");
    switch(id)
    {
    case 3,4,5,6,7,8,42,65,74,86,119,149,208,268,273,289:goto bug;
    default: goto ok;
    }
    if(id>300||id<0)
    {
    bug:
    return SendClientMessage(playerid,0xFFFFFFFF,"Fehlerhafte Skinid");
    }
    ok:
    return SetPlayerSkin(user,id);
    }

  • sry aber ich raff dass mit demdcmd nie klappt i wie bei mir nie geht das auch mit strcmp? wenn ja wärs nett wenn ihr schreiben würdet wie gesagt so dass man wenn man in ner gang is nich immerwieder nachdem man tot is den skin von einem admin bekommen muff
    MFG Nuvoxu

    MFG MrTadäus

  • einfach unter public OnPlayerCommandText
    dcmd(setskin,7,cmdtext);


    und das irgendwo in dein script
    dcmd_setskin(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid))return 1;
    if(sscanf(params,"ud",user,id))return SendClientMessage(playerid,0xFFFFFFFF,"/setskin [playerid/name] [skinid]");
    switch(id)
    {
    case 3,4,5,6,7,8,42,65,74,86,119,149,208,268,273,289:goto bug;
    default: goto ok;
    }
    if(id>300||id<0)
    {
    bug:
    return SendClientMessage(playerid,0xFFFFFFFF,"Fehlerhafte Skinid");
    }
    ok:
    return SetPlayerSkin(user,id);
    }

  • hey kurze frage,
    ist es möglich die Spielerliste (die durch die tab taste geöffnet wird)
    auch durch einen befehl zu öffnen ?


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------