[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
  • Bin seit heute dabei und komm hier irgendwie nicht klar,



    C:\Users\David\Desktop\LnD-Awesome Selfmade\gamemodes\Awesome.pwn(42) : error 021: symbol already defined: "AddStaticVehicle"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    Ich kann nirgendswo anders nochmal im Script AddstaticVehicle finden -.-



  • Da ist doch ne Zeilenangabe, schau Sie dir mal an.
    Zeile: 42


  • Zeig mal..

  • Moin moin,


    ich wollte einen /show Befehl erstellen, gleichzeitig nutzbar mit oder ohne Parameter [ID]. Wie kann ich das realisieren?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Wozu soll der dienen ? Statistiken ?

    Dann hieße der eher /stats ;)
    Ganz einfach. Man kann sich der Allgemeinheit auf dem Server zeigen ODER einer einzelnen Person. Momentan geht der Befehl ohne Parameter. Ich weiss grad nur nicht, wie man dies gleichzeitig mit UND ohne schreiben soll.

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Dann hieße der eher /stats ;)
    Ganz einfach. Man kann sich der Allgemeinheit auf dem Server zeigen ODER einer einzelnen Person. Momentan geht der Befehl ohne Parameter. Ich weiss grad nur nicht, wie man dies gleichzeitig mit UND ohne schreiben soll.


    entweder mit einem optionalen specifer oder in dem du das ganze anders abfrägst


    if(sscanf(params,"u",pID)){
    .. Hier der code für den Spieler


    }else{
    hier der code für die jeweilige person
    }


    mit einem optionalen parameter würde das so aussehen

    if(sscanf(params,"U(-1)",pID))

    wird nix eingegeben wird pID den wert -1 haben den darauf hin abfragen

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • mit einem optionalen parameter würde das so aussehen

    if(sscanf(params,"U(-1)",pID))

    wird nix eingegeben wird pID den wert -1 haben den darauf hin abfragen

    Das hat bei mir leider nicht geklappt, habe daraufhin mich für die andere Variante entschieden.


    Neue Frage:


    Hallo,


    Wollte fragen ob es das Script etwas optimiert, wenn man dies so schreibt:


    new string[128];format(string,sizeof(string),"blablabla %s blabla",name)




    oder



    new string[128];format(string,128,"blablabla",name)



    Gruß

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Ich hab nen Problem
    Der nimmt mit den Abschnitt nicht an.
    Wenn ich den sscanf wert leer lasse, wird mir was angezeigt schreibe ich aber was dahinter überspringt er die gesammte Funktion
    bcmd:create(playerid,params[])
    {
    if(!CheckAdmin(playerid,5))
    return ADMError(playerid,5);
    new Text[50];
    if(sscanf(params,"s",Text))
    {
    SendClientMessage(playerid,cRed,"• /create [Befehl (Supermarkt, Waffenladen, Binco, Haus, Bank, Jroute)]");
    return 1;
    }
    ......
    if(!strcmp(Text,"Jroute",true))
    {
    if(GPI(playerid,"newJobCreate")!=0)
    {
    DeletePVar(playerid,"newJID");
    DeletePVar(playerid,"newJFlag");
    DeletePVar(playerid,"newJName");
    DeletePVar(playerid,"newJCar");
    SPI(playerid,"newJobCreate",0);
    SendClientMessage(playerid,cYellow,"• Der Job wurde erstellt");
    return 1;
    }
    new vehid,flaggess,jjnnaa[50];
    if(sscanf(Text,"ds",vehid,jjnnaa))
    return SendClientMessage(playerid,cRed,"• /create Jroute [Car Model] [Name]");
    if(vehid < 400 || vehid > 610 )
    return SendClientMessage(playerid,cRed,"• /v [model (400-610)]");
    flaggess = GetRoutID(vehid)+1;
    SPI(playerid,"newJID",flaggess);
    SPI(playerid,"newJFlag",0);
    SPS(playerid,"newJName",jjnnaa);
    SPI(playerid,"newJCar",vehid);
    SPI(playerid,"newJobCreate",1);
    SendClientMessage(playerid,cYellow,"• Laufe oder fahre zu den Punkten und nutze die Z Taste. zum beenden gebe /create Jroute ein");
    return 1;
    }
    SendClientMessage(playerid,cRed,"• /create [Befehl (Supermarkt, Waffenladen, Binco, Haus, Jroute)]");//das bekomm ich dann wieder angezeigt :/
    return 1;
    }
    Wo habe ich da ein Fehler drin?

    All in all it's just another brick in the wall

  • Wie kann ich Abfragen ob der Name des Spielers in einer Datei steht?


    Also wenn der Spielername in der Datei Blacklist.txt steht, soll er gekickt werden.


    Function AddPlayerToBlackList(name[])
    {
    new entry[256];
    format(entry, sizeof(entry),"%s\n",name);
    new File:hFile;
    hFile = fopen("/AntiCheat/Blacklist.txt", io_append);
    fwrite(hFile, entry);
    fclose(hFile);
    }


    Hoffe einer kann mir Helfen.

  • Hi Leute,


    ich habe eine kurze Frage bezüglich Timer...


    Ich habe mehrere Tore:


    if(IsPlayerInRangeOfPoint(playerid,5,1795.40,-1094.90,25.10))
    {
    if(isPlayerInFrakt(playerid,3) || isPlayerInFrakt(playerid,1) || isPlayerInFrakt(playerid,2) || isPlayerInFrakt(playerid,6) || isPlayerInFrakt(playerid,16) || isPlayerAnAdmin(playerid,6) && Spieler[playerid][pAdminOnduty] == true)
    {
    if(torstatus[94] == 0)
    {
    MoveDynamicObject(tor[94],1795.40,-1094.90,25.10 + 5,1);
    torstatus[94] = 1;
    PlayerHearMusicInRange(x,y,z,1035,5,1,500);
    return 1;
    }
    else
    {
    MoveDynamicObject(tor[94],1795.40,-1094.90,25.10,1);
    torstatus[94] = 0;
    PlayerHearMusicInRange(x,y,z,1035,5,1,500);
    return 1;
    }
    }
    return SendClientMessage(playerid,GRAU,"Du bist nicht in der jeweiligen Fraktion.");
    }
    if(IsPlayerInRangeOfPoint(playerid,5,1801.10,-1094.90,25.10))
    {
    if(isPlayerInFrakt(playerid,3) || isPlayerInFrakt(playerid,1) || isPlayerInFrakt(playerid,2) || isPlayerInFrakt(playerid,6) || isPlayerInFrakt(playerid,16) || isPlayerAnAdmin(playerid,6) && Spieler[playerid][pAdminOnduty] == true)
    {
    if(torstatus[95] == 0)
    {
    MoveDynamicObject(tor[95],1801.10,-1094.90,25.10 + 5,1);
    torstatus[95] = 1;
    PlayerHearMusicInRange(x,y,z,1035,5,1,500);
    return 1;
    }
    else
    {
    MoveDynamicObject(tor[95],1801.10,-1094.90,25.10,1);
    torstatus[95] = 0;
    PlayerHearMusicInRange(x,y,z,1035,5,1,500);
    return 1;
    }
    }
    return SendClientMessage(playerid,GRAU,"Du bist nicht in der jeweiligen Fraktion.");
    }
    // FBI Neuer Parkplatz Tor Anfang
    if(IsPlayerInRangeOfPoint(playerid,5, 1167.00537, 1204.32202, 12.49770))
    {
    if(isPlayerInFrakt(playerid,3) || isPlayerInFrakt(playerid,2) || isPlayerInFrakt(playerid,16) || isPlayerAnAdmin(playerid,6) && Spieler[playerid][pAdminOnduty] == true)
    {
    if(torstatus[96] == 0)
    {
    MoveDynamicObject(tor[96],1167.00537, 1204.32202, 12.49770 -10,5);
    torstatus[96] = 1;
    PlayerHearMusicInRange(x,y,z,1035,5,1,500);
    return 1;
    }
    else
    {
    MoveDynamicObject(tor[96],1167.00537, 1204.32202, 12.49770 ,5);
    torstatus[96] = 0;
    PlayerHearMusicInRange(x,y,z,1035,5,1,500);
    return 1;
    }
    }
    return SendClientMessage(playerid,GRAU,"Du bist nicht in der jeweiligen Fraktion.");


    Dies ist nur ein kleiner Auszug ... ;)


    Nun möchte ich das diese und alle anderen Tore sich nach 5 Sekunden wieder schließen.


    Muss ich für jedes Tor einen eigenen Timer erstellen oder gibt es eine Möglichkeit alle Tore über einen Timer zu schieben.


    Mfg:
    OTD

  • ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3d, (C)2005-2011 SA-MP Team


    [16:47:22] hostname = "SA:MP Server" (string)
    [16:47:22] weburl = "www.sa-mp.com" (string)
    [16:47:22]
    [16:47:22] Server Plugins
    [16:47:22] --------------
    [16:47:22] Loading plugin: streamer.dll
    [16:47:22]


    *** Streamer Plugin v2.6.1 by Incognito loaded ***


    [16:47:22] Loaded.
    [16:47:22] Loaded 1 plugins.


    [16:47:22]
    [16:47:22] Ban list
    [16:47:22] --------
    [16:47:22] Loaded: samp.ban
    [16:47:22]
    [16:47:22]
    [16:47:22] Filterscripts
    [16:47:22] ---------------
    [16:47:22] Loading filterscript 'Junkbuster.amx'...
    [16:47:22] [junkbuster] Loading JunkBuster...
    [16:47:22]
    [16:47:22] [junkbuster] Current JunkBuster configuration:
    [16:47:22] [junkbuster] - WeaponHack = 1
    [16:47:22] [junkbuster] - MoneyHack = 1
    [16:47:22] [junkbuster] - Jetpack = 1
    [16:47:22] [junkbuster] - HealthHack = 1
    [16:47:22] [junkbuster] - ArmourHack = 1
    [16:47:22] [junkbuster] - DriveBy = 0
    [16:47:22] [junkbuster] - Spam = 1
    [16:47:22] [junkbuster] - CommandSpam = 1
    [16:47:22] [junkbuster] - BadWords = 1
    [16:47:22] [junkbuster] - CarJackHack = 1
    [16:47:22] [junkbuster] - TeleportHack = 1
    [16:47:22] [junkbuster] - MaxPing = 700
    [16:47:22] [junkbuster] - SpectateHack = 1
    [16:47:22] [junkbuster] - Blacklist = 1
    [16:47:22] [junkbuster] - IpBans = 1
    [16:47:22] [junkbuster] - TempBans = 1
    [16:47:22] [junkbuster] - SpawnKill = 3
    [16:47:22] [junkbuster] - CapsLock = 0
    [16:47:22] [junkbuster] - 3DSpeed = 0
    [16:47:22] [junkbuster] - MaxSpeed = 230
    [16:47:22] [junkbuster] - AdminImmunity = 1
    [16:47:22] [junkbuster] - Advertisement = 0
    [16:47:22] [junkbuster] - FreezeUpdate = 0
    [16:47:22] [junkbuster] - SpawnTime = 10
    [16:47:22] [junkbuster] - CheckpointTeleport = 1
    [16:47:22] [junkbuster] - Airbrake = 150
    [16:47:22] [junkbuster] - TankMode = 0
    [16:47:22] [junkbuster] - WarnPlayers = 1
    [16:47:22] [junkbuster] - SingleplayerCheats = 1
    [16:47:22] [junkbuster] - MinFPS = 3
    [16:47:22] [junkbuster] - DisableBadWeapons = 1
    [16:47:22] [junkbuster] - CBug = 0
    [16:47:22] [junkbuster] - AntiBugKill = 1
    [16:47:22] [junkbuster] - NoReload = 30
    [16:47:22] [junkbuster] - NoReloadForSawnOff = 4
    [16:47:22] [junkbuster] - ActiveGMC = 2
    [16:47:22] [junkbuster] - GMCBan = 0
    [16:47:22] [junkbuster] - ServerSideHealth = 1
    [16:47:22] [junkbuster] - CheckVMPos = 0
    [16:47:22] [junkbuster] - QuickTurn = 0
    [16:47:22] [junkbuster] - VehicleTeleport = 1
    [16:47:22] [junkbuster] - Wallride = 0
    [16:47:22] [junkbuster] - DisplayTextDraw = 1
    [16:47:22] [junkbuster] - AFK = 0
    [16:47:22] [junkbuster] - PickupTeleport = 1
    [16:47:22] [junkbuster] - FlyHack = 20
    [16:47:22] [junkbuster] - JunkBusterChrome = 1
    [16:47:22] [junkbuster] - CheckWalkAnims = 1
    [16:47:22] [junkbuster] - ReportMoneyHack = 1
    [16:47:22] [junkbuster] - SpeedhackAdvanced = 30
    [16:47:22] [junkbuster] - Joypad = 2
    [16:47:22] [junkbuster] - ArmedVehicles = 0
    [16:47:22] [junkbuster] - VehicleRepair = 0
    [16:47:22] [junkbuster] - TuningHack = 0
    [16:47:22] [junkbuster] - PayForGuns = 1
    [16:47:22] [junkbuster] - SpawnVehicles = 0
    [16:47:22] [junkbuster] - MaxTotalWarnings = 15
    [16:47:22] [junkbuster] - TooManyWarningsAction = 1
    [16:47:22] [junkbuster] - AirbrakeDetection = 1
    [16:47:22] [junkbuster] - SpeedhackDetection = 1
    [16:47:22]
    [16:47:22] [junkbuster] 0 IP-bans have been loaded.
    [16:47:22] [junkbuster] 0 temporary bans have been loaded.
    [16:47:22] [junkbuster] 0 whitelist entries have been loaded.
    [16:47:22] [junkbuster] 5 blacklist entries have been loaded.
    [16:47:22] [junkbuster] 45 bad words have been loaded.
    [16:47:22] [junkbuster] 4 forbidden weapons have been loaded.
    [16:47:22] [junkbuster] JunkBuster has been configurated.
    [16:47:22] [junkbuster] JunkBuster (v11) has successfully been loaded.
    [16:47:22] Loaded 1 filterscripts.


    [16:47:22] Script[gamemodes/Nol.amx]: Run time error 19: "File or function is not found"
    [16:47:22] Number of vehicle models: 0

  • Was habe ich falsche gemacht ? :x
    Ich habe ein Tuning system rein gemacht und dafür musste ich includes neu rein machen :D


    Die errors :
    C:\Users\Aimen\Desktop\German Street Light - ALT\gamemodes\GSL.pwn(67515) : error 025: function heading differs from prototype
    C:\Users\Aimen\Desktop\German Street Light - ALT\gamemodes\GSL.pwn(67515 -- 67545) : error 021: symbol already defined: "command"
    C:\Users\Aimen\Desktop\German Street Light - ALT\gamemodes\GSL.pwn(67544) : warning 203: symbol is never used: "command"



    Die Zeilen zu den Errors :D

    command(garage, playerid, params[])
    {
    #pragma unused params
    if(!IsPlayerInAnyVehicle(playerid))
    return SendClientMessage(playerid, COLOR_BRIGHTRED, "Du bist in keinem Fahrzeug!");
    if(TgateB == 1)
    return SendClientMessage(playerid, COLOR_BRIGHTRED, "Die Tuninggarage wird gerade schon benutzt!");
    if(IsPlayerInRangeOfPoint(playerid,3,1521.5718,-1474.5720,9.5712))
    {
    MoveObject(tgate0,1518.26220700,-1476.00231900,8.48960700,2);
    MoveObject(tgate,1529.72448700,-1474.88757300,13.53587000 ,2);
    MoveObject(tgate1,1518.25378400,-1474.64648400,8.46458500 ,2);
    MoveObject(tgate2,1520.91699200,-1475.98803700,8.48958300 ,2);
    MoveObject(tgate3,1520.91577100,-1474.64892600,8.48958300 ,2);
    MoveObject(tgate4,1523.55273400,-1475.99853500,8.48960800 ,2);
    MoveObject(tgate5,1523.57202100,-1474.65380900,8.48960800 ,2);
    MoveObject(tgate6,1518.24743700,-1473.30639600,8.46460800 ,2);
    MoveObject(tgate7,1520.91491700,-1473.30334500,8.46460800 ,2);
    MoveObject(tgate8,1523.57458500,-1473.29760700,8.46460800 ,2);
    MoveObject(tgate9,1516.72961400,-1476.32873500,9.60031800 ,2);
    MoveObject(tgate10,1517.60376000,-1476.72082500,10.29875500 ,2);
    MoveObject(tgate11,1517.60107400,-1472.48510700,10.24875500 ,2);
    TgateB = 1;
    StartGarage(playerid);
    }
    else return SendClientMessage(playerid,COLOR_BRIGHTRED,"Du bist nicht in der Tuninggarage!");
    return 1;
    }


    command(tuningcredits, playerid, params[])
    {
    #pragma unused params
    SendClientMessage(playerid,COLOR_YELLOW,"Dieser Server benutzt das Tuningsystem von Nemesus!");
    return 1;
    }

  • So ;´)


    command:garage(playerid, params[])
    {
    #pragma unused params
    if(!IsPlayerInAnyVehicle(playerid))
    return SendClientMessage(playerid, COLOR_BRIGHTRED, "Du bist in keinem Fahrzeug!");
    if(TgateB == 1)
    return SendClientMessage(playerid, COLOR_BRIGHTRED, "Die Tuninggarage wird gerade schon benutzt!");
    if(IsPlayerInRangeOfPoint(playerid,3,1521.5718,-1474.5720,9.5712))
    {
    MoveObject(tgate0,1518.26220700,-1476.00231900,8.48960700,2);
    MoveObject(tgate,1529.72448700,-1474.88757300,13.53587000 ,2);
    MoveObject(tgate1,1518.25378400,-1474.64648400,8.46458500 ,2);
    MoveObject(tgate2,1520.91699200,-1475.98803700,8.48958300 ,2);
    MoveObject(tgate3,1520.91577100,-1474.64892600,8.48958300 ,2);
    MoveObject(tgate4,1523.55273400,-1475.99853500,8.48960800 ,2);
    MoveObject(tgate5,1523.57202100,-1474.65380900,8.48960800 ,2);
    MoveObject(tgate6,1518.24743700,-1473.30639600,8.46460800 ,2);
    MoveObject(tgate7,1520.91491700,-1473.30334500,8.46460800 ,2);
    MoveObject(tgate8,1523.57458500,-1473.29760700,8.46460800 ,2);
    MoveObject(tgate9,1516.72961400,-1476.32873500,9.60031800 ,2);
    MoveObject(tgate10,1517.60376000,-1476.72082500,10.29875500 ,2);
    MoveObject(tgate11,1517.60107400,-1472.48510700,10.24875500 ,2);
    TgateB = 1;
    StartGarage(playerid);
    }
    else return SendClientMessage(playerid,COLOR_BRIGHTRED,"Du bist nicht in der Tuninggarage!");
    return 1;
    }


    command:tuningcredits(playerid, params[])
    {
    #pragma unused params
    SendClientMessage(playerid,COLOR_YELLOW,"Dieser Server benutzt das Tuningsystem von Nemesus!");
    return 1;
    }

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward