[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
  • SetTimerEx wird bei Funktionen verwendet die Parameter haben und SetTimer die keine haben... zB.:


    forward Test(playerid);
    public Test(playerid)
    {
    SendClientMessage(playerid, 0xFFFFFF00, "Kauf dir ein Reallife!");
    return 1;
    }
    Dann wäre SetTimerEx praktisch...


    SetTimerEx("Test", 1000, 0, "d", playerid);


    oder wenn dein public so aussieht:
    forward Test();
    public Test()
    {
    SendClientMessageToAll(0xFFFFFF00, "Kauf dir ein Reallife!");
    return 1;
    }
    dann reicht vollkommen SetTimer

    SetTimer("Test", 1000, 0);

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Jo wäre klug ;)

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Hey,
    kann man im script vom server gemoddette skins reinmachen?
    MFG
    Pipapaul

  • Immer ist es so, das ich helfe aber keine hilfe bekomme (im scripting fragen) -.-


    Hatte mal ein Tutorial darüber geschrieben, wer SUCHFUNKTION benutzt, BEKOMMT was er will ! ...
    [ SCRIPTING ] Dialoge erstellen (Info Dialog & Listen Dialog)

    ehm ja das bringt mir nur leider nix ich will ungefähr 50 dinge in nem DIALOG_STYLE_LISTITEM
    da kommt ja immer das die line zu lang ich ich will nun aber das haben das die nich mehr zu lang is ;D

  • Hallo ich habe in dieser zeile 1 error und ich weis nicht wie ich den weg bekommen bitte um hilfe :




    GetPlayerPos(i, 205,1874,17);




    Error : C:\Users\Smiddy\Desktop\samp\samp 0.3\gamemodes\TDM.pwn(101) : error 035: argument type mismatch (argument 2)





    Public sache :
    public isPlayerInArea()
    {
    new Float:X, Float:Y, Float:Z; //We use this to store player position
    for(new i=0; i < MAX_PLAYERS; i++) //This line defines a name for all player, the name is "i"
    {
    GetPlayerPos(i, 205,1874,17); //Here we are storing the player position on the variables X, Y, and Z defined previously
    if (X <= -3915 && X >= -3694 && Y <= 401 && Y >= 37)
    /* This line is the important one!. Here, is where you change those numbers, by the ones
    you get from the /pos command. As you can see, those coordinates, are only the X and Y ones, the Z
    doesnt matter*/
    {
    SetPlayerHealth(i, -999999.9); //This will ensure, that our player gets killed if he tries to enter
    }
    }
    }




    C:\Users\Smiddy\Desktop\samp\samp 0.3\gamemodes\TDM.pwn(98) : warning 203: symbol is never used: "Z"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • public isPlayerInArea()
    {
    new Float:X, Float:Y, Float:Z; //We use this to store player position
    for(new i=0; i < MAX_PLAYERS; i++) //This line defines a name for all player, the name is "i"
    {
    GetPlayerPos(i, X,Y,Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
    if (X <= -3915 && X >= -3694 && Y <= 401 && Y >= 37)
    /* This line is the important one!. Here, is where you change those numbers, by the ones
    you get from the /pos command. As you can see, those coordinates, are only the X and Y ones, the Z
    doesnt matter*/
    {
    SetPlayerHealth(i, -999999.9); //This will ensure, that our player gets killed if he tries to enter
    }
    }
    }


    ?

  • oben new Gangzone;


    Dann unter OnGameModeInit oder OnFilterscriptinit je nachdem was du hast:
    Gangzone = GangZoneCreate(-2989.536, 1763.359, 2977.858, 2989.536); //hier die Koords deiner Gangzone kannst auch im englischen samp FOrum nach Xtreme vehicle Plotter suchen das programm ist sehr gut


    Und unter OnPlayerSpawn
    GangZoneShowForAll(Schutzone, 0x000000FF); // zuerst die Gangzonen bzw den namen den du benutzt hast und dann die Farbe (bei mir ist es jetzt schwarz die farben kannst du ganz einfach hier mit machen

  • Hey
    Hat wer nen Public für die einzelne Stadtteile.
    Wo der Stadtteil als string wieder gegeben wird.
    Z.B Los Santos PD usw
    hat wer so was fänd ich nett

  • return ist nur für den Programmierer selbst gedacht um ihm Werte von einer Funktion rückzugeben bzw. es wird verwendet um CodeTeile "abzubrechen", sozusagen der Code endet hier für den Spieler. Beispiel zu sehen bei dem Admin Befehl /kick, wenn Spieler kein Admin ist kriegt er einen Text und der Code wird mit return abgebrochen. Für stocks wird jedoch return oft verwendet um Werte zurückzugeben, z.B.: ein nahestehendes Auto wie bei dem Beispiel hier unten:


    stock GetCloseVehicle(playerid) //by Templer
    {
    if(!IsPlayerConnected(playerid)) return -1;
    new Float:X, Float:Y, Float:Z, Float:pX, Float:pY, Float:pZ, Float:dist = 0.0, vehicles = 0, Float:cdist = 0.000000, vehicleid = -1;
    GetPlayerPos(playerid, pX, pY, pZ); GetVehiclePos(0, X, Y, Z);
    cdist = floatadd(floatadd(floatsqroot(floatpower(floatsub(X,pX),2)),floatsqroot(floatpower(floatsub(Y,pY),2))),floatsqroot(floatpower(floatsub(Z,pZ),2)));
    for(; vehicles < MAX_VEHICLES; vehicles++)
    {
    GetVehiclePos(vehicles, X, Y, Z);
    dist = floatadd(floatadd(floatsqroot(floatpower(floatsub(X,pX),2)),floatsqroot(floatpower(floatsub(Y,pY),2))),floatsqroot(floatpower(floatsub(Z,pZ),2)));
    if(dist < cdist && vehicles != GetPlayerVehicleID(playerid))
    {
    cdist = dist;
    vehicleid = vehicles;
    }
    }
    return vehicleid;
    }


    Bei dem wird also die FahrzeugID zurückgegeben! Wenn man genauer hinschaut wird oben auch vehicleid mit -1 definiert, bedeutet, wenn kein Auto in der Nähe ist, wird auch die Variable vehicleid nicht überschrieben und der Wert -1 wird zurückgegeben um den Abfragen zu sagen, dass dort kein Fahrzeug ist! Das einzige Callback bei dem das return eine Rolle spielt ist OnPlayerCommandText, ansonsten ist bei den Callbacks ein einfaches return 1; ausreichend ^^ Hoffe du verstehst es nun

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Gibt es eigentlich eine Möglichkeit festzustellen, wie viele Dateien sich in einem Unterordner von Scriptfiles befinden und wie diese heißen ?


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

  • PixeL: Das gibt "falsch" zurück.


    Beispiel:


    stock IsAdmin(playerid)
    {
    if(SpielerInfo[playerid][Admin] > 1) return 1;//Wenn der Spieler Admin>1 ist, ist die Abfrage 1 (wahr)
    return 0;//Wenn nicht ist die Abfrage 0 (falsch)
    }


    Verwendung

    dcmd_kick(playerid, params)
    {
    if(IsAdmin(playerid))//es geht auch if(IsAdmin(playerid) == 1)
    {
    ...