Wo liegt der Fehler

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


    #include <a_samp>


    new Personen[][MAX_PLAYER_NAME] = { "caRn" };
    new Auto;
    forward payday();
    forward Werbetext();


    #if defined FILTERSCRIPT


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" TEST");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    main()
    {
    print("\n----------------------------------");
    print(" TEST");
    print("----------------------------------\n");
    }


    #endif


    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("SELFMADE-TEST");
    AddPlayerClass(120, 1958.3783, 1343.1572, 15.3746, 269.1425, 24, 99, 66, 100, 52, 50);
    Auto=AddStaticVehicle(560, 2033.9364,1344.1719,10.8203,270.3123, 1, 90);
    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;
    }


    SetTimer("payday",30000,1);
    public payday() {
    for (new i = 0; i < MAX_PLAYERS; i++) {
    SendClientMessage(i,<TEXTFARBE>,"<TEXT>"); //Nachricht die der Spieler erhält beim Payday
    GivePlayerMoney(i, <der betrag>); //gibt dem spieler einen gewissen Betrag von Geld
    }
    return 1;
    }


    SetTimer("Werbetext", 60000, 1);
    public Werbetext()
    {
    SendClientMessageToAll(COLOR_YELLOW, "Hier ist MEIN Werbetext.");
    return 1;
    }


    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) //Prüft ob der Spieler der Fahrer ist
    {
    new pname[24]; //pname definieren
    new pcar = GetPlayerVehicleID(playerid); //Speichert die Auto-ID in die Variable "pcar"
    GetPlayerName(playerid, pname, 24); //Den namen des Spielers in Variable "pname" speichern
    if(pcar == Auto) //Falls das Auto in dem der spieler sitzt, das auto ist, das wir nur für die bestimmten personen freigegeben haben
    {
    if(strcmp(pname,sizeof(Personen),false)) //Falls der Name vom Spieler nicht in Variable "Personen" reingeschrieben ist (FALSE = Groß/Kleinschreibung beachten)
    {
    SendClientMessage(playerid, 0xFFFFFFAA, "Du darfst dieses Auto nicht benutzen !"); //Falls er das Auto nicht benutzen darf, bekommt er diese Meldung
    RemovePlayerFromVehicle(playerid); //Wirft den Spieler aus dem Wagen.
    return 1; //Alles fertig x)
    }
    }
    }


    Tag.


    Also irgendwie stürzt mein Compiler immer sofort ab, denke mal das irgendwo ein Fehler liegt.
    Ich bin nue im Pawn Scripting, hab also ka davon =)


    greez none.


    €:
    Hab jetzt ein wenig eingedrückt usw. klappt trotzdem nicht.
    FoxHound dein Tut ist mit drinnen =)

    Einmal editiert, zuletzt von none ()


  • Du darfst keine "Sachen einfach so in´s Script legen".
    Sie müssen in Funktionen stehen, damit der Server weiß, was sie sind, und wann sie aufgerufen werden sollen.


    Gruß Hauke

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Timer gehören in ein Public, in deinem falle am besten unter OnGameModeInit wenn du sie bei Serverstart starten willst


    //E: |-|auke war schneller deshalb code wieder raus sonst zieht sich der Thread so in die Länge ^^

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Ich stimme den 2 oben zu.
    Ich wollte mal das ganze ding für dich korrigieren, aber das würde zu lang dauern, weil da mehrere Sachen sind, die gefixxt werden müssen.
    wie z.B. "<TextFarbe>" bei Farbcode-Parameter.
    Da musst du eine Farbcode reinmachen, hier mal die meisten Farbcodes:

    #define AQUAGREEN 0x03D687FF
    #define COLOR_ORANGE 0xFF9900AA
    #define COLOR_GRAD1 0xB4B5B7FF
    #define COLOR_GRAD2 0xBFC0C2FF
    #define COLOR_GRAD3 0xCBCCCEFF
    #define COLOR_GRAD4 0xD8D8D8FF
    #define COLOR_GRAD5 0xE3E3E3FF
    #define COLOR_REPORT 0x990000FF
    #define COLOR_GRAD6 0xF0F0F0FF
    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_GREEN 0x33AA33AA
    #define COLOR_BUSFUNK 0x4F98B0FF
    #define LIGHTGREEN 0x00FF00FF
    #define COLOR_RED 0xAA3333AA
    #define COLOR_BLUE 0x33CCFFAA
    #define COLOR_RED2 0xAA3333AA
    #define COLOR_LIGHTRED 0xFF6347AA
    #define COLOR_LIGHTBLUE 0x33CCFFAA
    #define COLOR_LIGHTGREEN 0x9ACD32AA
    #define COLOR_LIGHTYELLOW 0xFFFF99FF
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_YELLOW2 0xC6C310FF
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_FADE1 0xE6E6E6E6
    #define COLOR_FADE2 0xC8C8C8C8
    #define COLOR_FADE3 0xAAAAAAAA
    #define COLOR_FADE4 0x8C8C8C8C
    #define COLOR_FADE5 0x6E6E6E6E
    #define COLOR_PURPLE 0xC2A2DAAA
    #define COLOR_DBLUE 0x2641FEAA
    #define COLOR_ALLDEPT 0xFF8282AA
    #define COLOR_NEWS 0xFFA500AA
    #define COLOR_OOC 0xE0FFFFAA
    #define COLOR_SUP 0x11FF52FF
    #define OBJECTIVE_COLOR 0x64000064
    #define TEAM_GREEN_COLOR 0xFFFFFFAA
    #define TEAM_JOB_COLOR 0xFFB6C1AA
    #define TEAM_HIT_COLOR 0xFFFFFF00
    #define TEAM_BLUE_COLOR 0x8D8DFF00
    #define COLOR_ADD 0x63FF60AA
    #define TEAM_GROVE_COLOR 0x00D900C8
    #define TEAM_VAGOS_COLOR 0xFFC801C8
    #define TEAM_BALLAS_COLOR 0xD900D3C8
    #define TEAM_AZTECAS_COLOR 0x01FCFFC8
    #define TEAM_CYAN_COLOR 0xFF8282AA
    #define TEAM_ORANGE_COLOR 0xFF830000
    #define TEAM_COR_COLOR 0x39393900
    #define TEAM_BAR_COLOR 0x00D90000
    #define TEAM_TAT_COLOR 0xBDCB9200
    #define TEAM_CUN_COLOR 0xD900D300
    #define TEAM_STR_COLOR 0x01FCFF00
    #define TEAM_ADMIN_COLOR 0x00808000
    #define COLOR_INVIS 0xAFAFAF00
    #define COLOR_SPEC 0xBFC0C200
    #define NICESKY 0x99FFFFAA


    Das machst du unter die Zeile wo "include <a_samp>" steht.
    Danach kannst du bei jeder SendClientMessage diese Farbcodes benutzen wie z.B. "COLOR_GREEN" etc.


    Aber das wirst du bestimmt auch nicht verstehen da du ja neu bist...
    Ich würde dir vorschlagen, von http://wiki.sa-mp.de/ die Grundkenntnisse zu lernen, oder im Tutorial bereich müsste ja auch soein Tutorial geben welches die Grundkenntnisse erklært ;)

  • Ja, du bist klug und verstehst es sofort.
    So wird es bei dir nicht Zeit nehmen, Pawno zu verstehen ;)
    Hier die korrigierte Version, unnötige Sachen sind draussen:

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


    #include <a_samp>


    #define AQUAGREEN 0x03D687FF
    #define COLOR_ORANGE 0xFF9900AA
    #define COLOR_GRAD1 0xB4B5B7FF
    #define COLOR_GRAD2 0xBFC0C2FF
    #define COLOR_GRAD3 0xCBCCCEFF
    #define COLOR_GRAD4 0xD8D8D8FF
    #define COLOR_GRAD5 0xE3E3E3FF
    #define COLOR_REPORT 0x990000FF
    #define COLOR_GRAD6 0xF0F0F0FF
    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_GREEN 0x33AA33AA
    #define COLOR_BUSFUNK 0x4F98B0FF
    #define LIGHTGREEN 0x00FF00FF
    #define COLOR_RED 0xAA3333AA
    #define COLOR_BLUE 0x33CCFFAA
    #define COLOR_RED2 0xAA3333AA
    #define COLOR_LIGHTRED 0xFF6347AA
    #define COLOR_LIGHTBLUE 0x33CCFFAA
    #define COLOR_LIGHTGREEN 0x9ACD32AA
    #define COLOR_LIGHTYELLOW 0xFFFF99FF
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_YELLOW2 0xC6C310FF
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_FADE1 0xE6E6E6E6
    #define COLOR_FADE2 0xC8C8C8C8
    #define COLOR_FADE3 0xAAAAAAAA
    #define COLOR_FADE4 0x8C8C8C8C
    #define COLOR_FADE5 0x6E6E6E6E
    #define COLOR_PURPLE 0xC2A2DAAA
    #define COLOR_DBLUE 0x2641FEAA
    #define COLOR_ALLDEPT 0xFF8282AA
    #define COLOR_NEWS 0xFFA500AA
    #define COLOR_OOC 0xE0FFFFAA
    #define COLOR_SUP 0x11FF52FF
    #define OBJECTIVE_COLOR 0x64000064
    #define TEAM_GREEN_COLOR 0xFFFFFFAA
    #define TEAM_JOB_COLOR 0xFFB6C1AA
    #define TEAM_HIT_COLOR 0xFFFFFF00
    #define TEAM_BLUE_COLOR 0x8D8DFF00
    #define COLOR_ADD 0x63FF60AA
    #define TEAM_GROVE_COLOR 0x00D900C8
    #define TEAM_VAGOS_COLOR 0xFFC801C8
    #define TEAM_BALLAS_COLOR 0xD900D3C8
    #define TEAM_AZTECAS_COLOR 0x01FCFFC8
    #define TEAM_CYAN_COLOR 0xFF8282AA
    #define TEAM_ORANGE_COLOR 0xFF830000
    #define TEAM_COR_COLOR 0x39393900
    #define TEAM_BAR_COLOR 0x00D90000
    #define TEAM_TAT_COLOR 0xBDCB9200
    #define TEAM_CUN_COLOR 0xD900D300
    #define TEAM_STR_COLOR 0x01FCFF00
    #define TEAM_ADMIN_COLOR 0x00808000
    #define COLOR_INVIS 0xAFAFAF00
    #define COLOR_SPEC 0xBFC0C200
    #define NICESKY 0x99FFFFAA


    new Personen[1][MAX_PLAYER_NAME] = { "caRn" };
    new Auto;


    forward payday();
    forward Werbetext();


    public OnGameModeInit()
    {
    SetTimer("payday",30000,1);
    SetTimer("Werbetext", 60000, 1);
    return 0;
    }


    public payday()
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    SendClientMessage(i,COLOR_GREEN,"PayDay!"); //Nachricht die der Spieler erhält beim Payday
    GivePlayerMoney(i, 1000); //gibt dem spieler einen gewissen Betrag von Geld
    }
    return 1;
    }



    public Werbetext()
    {
    SendClientMessageToAll(COLOR_YELLOW, "< Hier Werbetext eingeben >");
    return 1;
    }


    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) //Prüft ob der Spieler der Fahrer ist
    {
    new pname[24]; //pname definieren
    new pcar = GetPlayerVehicleID(playerid); //Speichert die Auto-ID in die Variable "pcar"
    GetPlayerName(playerid, pname, 24); //Den namen des Spielers in Variable "pname" speichern
    if(pcar == Auto) //Falls das Auto in dem der spieler sitzt, das auto ist, das wir nur für die bestimmten personen freigegeben haben
    {
    for(new i=0; i<sizeof(Personen);i++) //Das hier ist eine Schleife, erklærung könnt ihr auf www.wiki.sa-mp.de finden
    {
    if(strcmp(pname, Personen[i], false)) //Da wir eine Zahl mit Variable "Personen" gegeben haben, wird diese alle Zahlen bzw. auch alle Namen durchgehen, und gucken ob der Spielername und die Namen der erlaubten Personen zusammenpassen (FALSE = Groß/Kleinschreibung beachten)
    {
    SendClientMessage(playerid, 0xFFFFFFAA, "Du darfst dieses Auto nicht benutzen !"); //Falls er das Auto nicht benutzen darf, bekommt er diese Meldung
    RemovePlayerFromVehicle(playerid); //Wirft den Spieler aus dem Wagen.
    return 1; //Alles fertig x)
    }
    }
    }
    }