Was ist an dem Script falsch?

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
  • mein erstes script könnt ihr haben ist aus tutorials aus dem forum


    es sind 5 fehler






    // This is a comment
    // uncomment the line below if you want to write a filterscript
    //#define FILTERSCRIPT


    #include <a_samp>


    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Blank Filterscript by your name here");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    main()
    {
    print("\n----------------------------------");
    print(" Blank Gamemode by your name here");
    print("----------------------------------\n");
    }


    #endif


    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


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


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


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    return 1;
    }


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }
    forward schildtimer();
    SetTimer("schildtimer",1,0);
    public schildtimer()
    {
    for(new i = 0; i < sizeof(PolizeiAuto); i++)
    {
    SetVehicleNumberPlate(PolizeiAuto[i], "Polizei");
    }
    return 0;
    }
    new TicketGeschrieben[MAX_PLAYERS];//Ob ein Ticket geschrieben wurde
    new DeinSupport[MAX_PLAYERS];//Dein Supporter id
    new InSupport[MAX_PLAYERS];//Ob du im Support bist
    ocmd:supduty(playerid, params[])//supduty ist hier der Befehl
    {
    if(SpielerInfo[playerid][Adminlevel] > 0) //Prüft ob der jenige Supporte ist, müsst ihr mit euren Variablen austauschen
    {
    new Name[MAX_PLAYER_NAME],string[128];//sollte klar sein
    GetPlayerName(playerid,Name,sizeof(Name));//sollte auch klar sein
    format(string,sizeof(string),"%s hat sich als Supporter angemeldet. Du kannst ihn mit /support erreichen!",Name);//klar sein
    SendClientMessageToAll(COLOR_GOLD,string);//klar sein
    SupDuty[playerid] = 1;//Der Supporter ist angemeldet
    }
    return 1;
    }
    ocmd:support(playerid, params[])//support ist hier wieder der Befehl
    {
    new Name[MAX_PLAYER_NAME],string[128],text[128];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"s",text))//sscanf prüft ob ein Text geschrieben wurde wenn nicht
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /support [Text/Frage]");//gibt er das hier aus
    }
    if(TicketGeschrieben[playerid] == 1)//Wenn er schon ein Ticket geschrieben hat
    {
    return SendClientMessage(playerid,COLOR_RED,"Du hast bereits einem Supporter geschrieben");//Gibt er den Text aus
    }
    for(new i=0; i<GetMaxPlayers(); i++)//Eine schleife in der wir schauen ob ein Supporter angemeldet ist
    {
    if(SupDuty[i] == 1)//SupDuty = Ob der Spieler angemeldet ist [i] = Die SPielerid vom Supporter
    {
    format(string,sizeof(string),"%s(ID:%d) hat ein Support geschrieben. Text: %s",Name,playerid,text);//jetzt gibt er an alle Supporter die onlien sind diesen text aus
    SendClientMessage(i,COLOR_GOLD,string);
    TicketGeschrieben[playerid] = 1;//Wir setzen Ticketgeschrieben auf 1 damit er kein weiteres Ticket schreiben kann
    }
    else if(SupDuty[i] == 0)//Wenn kein Supporter angemeldet ist
    {
    SendClientMessage(playerid,COLOR_RED,"Es ist kein Supporter anwesend!");//Erscheint das
    }
    }
    return 0;
    }
    ocmd:ansup(playerid, params[])
    {
    new id;
    if(sscanf(params,"i",id))//er prüft ob eine id eingegeben wurde wenn nicht
    {
    return SendClientMessage(playerid,COLOR_GRAU,"Verwende /ansup [PlayerID]");//gibt er das aus
    }
    if(TicketGeschrieben[id] == 1)//wenn die id ein Ticket geschrieben hat
    {
    new Name[MAX_PLAYER_NAME], string[128];
    GetPlayerName(playerid,Name,sizeof(Name));
    format(string,sizeof(string),"Der Supporter %s hat dein Support angenommen. Du kannst nun mit ihm schreiben!",Name);//Erscheint dieser Text
    SendClientMessage(id,COLOR_GREEN,string);
    InSupport[id] = 1;//hier wird die Variable auf 1 gesetzt das heisst er ist Im Support
    InSupport[playerid] = 1;//das gleiche
    DeinSupport[id] = playerid;
    DeinSupport[playerid] = id;
    TicketGeschrieben[id] = 0;//Wieder auf null setzen


    }
    return 1;
    }
    ocmd:closesup(playerid ,params[])
    {
    if(SpielerInfo[playerid][Adminlevel] > 0)//er schaut ob der SPieler Supporter ist
    {
    if(InSupport[playerid] == 1)//wenn er im Support ist
    {
    for(new i=0; i<GetMaxPlayers(); i++)//sucht er nach den Spieler, mit dem er im Support ist
    {
    if(DeinSupport[i] == playerid)
    {
    new string[128];
    SendClientMessage(i,COLOR_GREEN,"Der Supporter hat den Support beendet");//und beendet
    SendClientMessage(playerid,COLOR_GRAU,"Supportchat geschlossen!");//den Support
    InSupport[i] = 0, DeinSupport[i] = 0;// hier werden alle 2 dinge
    InSupport[playerid] = 0, DeinSupport[playerid] =0;// auf 0 gesetzt
    return 1;
    }
    }
    }
    }
    return 1;
    }
    if(InSupport[playerid] == 1)//Wenn der Spieler im Support ist
    {
    for(new i=0; i<GetMaxPlayers(); i++)//Wird nach geschaut wer sein
    {
    if(DeinSupport[i] == playerid)//Supporter ist
    {
    new str[128], GetName[MAX_PLAYER_NAME];//sollte klar sein
    GetPlayerName(playerid,GetName,sizeof(GetName));
    format(str,sizeof(str),"%s: %s",GetName,text);
    SendClientMessage(i,COLOR_GOLD,str);
    }
    }
    }
    return 0;
    }
    InSupport[playerid] = 0;
    DeinSupport[playerid] = 0;
    TicketGeschrieben[playerid] = 0;
    SupDuty[playerid] = 0;[pwn]

    Einmal editiert, zuletzt von markthekillan () aus folgendem Grund: detailreicher

  • Oben musst du erstmal bearbeiten, ob das nun ein Filterscript oder ein Gamemode sein soll...


    Danach wäre es sehr toll, wenn du eine ausführliche Fehlerbeschreibung abgibst, und nicht denn Quellcode postest, und sagst ja sucht mal.