Beiträge von Templer

    Mann kann es umgehen, jedoch wie du es beschreibst kann man es nicht so direkt blocken, sondern den Spieler direkt zum Spawn zwingen.. Du könntest uns den Callback OnPlayerRequestClass zeigen, damit wir den Crash beheben können ^^.

    Der Befehl ist in Ordnung, es kann aber sein das bei einem Timer oder so DisablePlayerCheckpoint verwendet wird und somit der Checkpoint wieder verschwindet. Such mal in einem Timer nach.

    So habe mal versucht es nachzuscripten dein Problem, aber bei stehen dann 4 Zeilen ^^:
    C:\Dokumente und Einstellungen\LaVey\Desktop\server\filterscripts\test.pwn(232) : error 017: undefined symbol "CheckPointShown"
    C:\Dokumente und Einstellungen\LaVey\Desktop\server\filterscripts\test.pwn(232) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\LaVey\Desktop\server\filterscripts\test.pwn(232) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\LaVey\Desktop\server\filterscripts\test.pwn(232) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\LaVey\Desktop\server\filterscripts\test.pwn(232) : fatal error 107: too many error messages on one line


    und in dem Fall wäre das wichtige was bei undefined Symbol steht, also bitte das posten, wenn vorhanden.


    p.S.: Diese Fehler haben nix mit deinem Code zu Tun!

    Doch es funktioniert, nur du bemerkst den Unterschied nicht, dass ein anderer Fehler kam ^^ Mach das was Julian sagte und ersetze deine Fahrzeuge hiermit:


    TerrorVehs[1] = AddStaticVehicleEx(595,-2481.4436,1526.2207,0.0251,268.2478,0,0,-1); // Hamas Kriegsboot
    TerrorVehs[2] = AddStaticVehicleEx(595,-2461.4282,1525.2800,0.1366,267.2681,0,0,-1); // Hamas Kriegsboot
    TerrorVehs[3] = AddStaticVehicleEx(595,-2436.6777,1525.0327,0.2475,270.9311,0,0,-1); // Hamas Kriegsboot
    TerrorVehs[4] = AddStaticVehicleEx(595,-2403.2166,1521.8992,0.3396,269.0130,0,0,-1); // Hamas Kriegsboot
    TerrorVehs[5] = AddStaticVehicleEx(595,-2367.8567,1522.7163,0.1232,274.9085,0,0,-1); // Hamas Kriegsboot
    TerrorVehs[6] = AddStaticVehicleEx(595,-2333.3911,1525.4038,0.1858,273.6132,0,0,-1); // Hamas Kriegsboot
    TerrorVehs[7] = AddStaticVehicleEx(595,-2300.9636,1534.5143,0.2903,286.2645,0,0,-1); // Hamas Kriegsboot
    TerrorVehs[8] = AddStaticVehicleEx(487,-2312.1335,1538.6935,18.9504,294.5751,123,123,-1); // Hamas Heli
    TerrorVehs[9] = AddStaticVehicleEx(487,-2312.6802,1552.5103,18.9464,251.0633,123,123,-1); // Hamas Heli
    TerrorVehs[10] = AddStaticVehicleEx(487,-2318.3909,1545.7523,18.9507,83.5587,123,123,-1); // Hamas Heli
    TerrorVehs[11] = AddStaticVehicleEx(591,-1741.4410,1418.2731,7.7939,181.0959,123,123,-1); // Truck Anhänger
    TerrorVehs[12] = AddStaticVehicleEx(403,-1720.1632,1410.2327,7.7863,46.1523,123,123,-1); // Truck Hamas
    TerrorVehs[13] = AddStaticVehicleEx(455,-1730.5532,1530.6033,7.6240,179.7526,123,123,-1); // Hamas Pickup LKW
    TerrorVehs[14] = AddStaticVehicleEx(455,-1730.4781,1514.7410,7.6243,180.3963,123,123,-1); // Hamas Pickup LKW
    TerrorVehs[15] = AddStaticVehicleEx(455,-1730.3358,1494.3882,7.6238,180.3922,123,123,-1); // Hamas Pickup LKW
    TerrorVehs[16] = AddStaticVehicleEx(543,-1729.8390,1484.8927,7.0113,179.6807,123,123,-1); // Hamas Pickup
    TerrorVehs[17] = AddStaticVehicleEx(543,-1729.9095,1472.2480,7.0051,179.6808,123,123,-1); // Hamas Pickup
    TerrorVehs[18] = AddStaticVehicleEx(543,-1729.9728,1460.8234,7.0059,179.6808,123,123,-1); // Hamas Pickup
    TerrorVehs[19] = AddStaticVehicleEx(549,-1730.0833,1444.2904,6.8847,181.5064,123,123,-1); // Hamas Schrott wagen iwas
    TerrorVehs[20] = AddStaticVehicleEx(549,-1730.0724,1432.9821,6.8848,180.2240,123,123,-1); // Hamas Schrott wagen iwas


    und ich glaube ich mache mal ein eigenes Fahrzeug Tutorial, weil ich das ned ansehen kann ^^.

    Ich wette oberhalt diesem Befehl ist ein return. Kopier dieses return dort aus und füg es am Ende des Callbacks hinein, also dorthin wo kein Befehl mehr ist ^^.

    Wow Taz, verspür ich da ein 20Sekunden trauer, weil du genau nach 20 Sekunden deinen Beitrag sofort editierst und schreibst "niemand antwortet mir"? ^^


    Zu deinem Thema haben wir eigentlich mehrere Varianten, aber ich bestehe nun irgendwie auf die neuen PVar´s seit 0.3, obwohl sie soviel auch nicht bringen, aber was sollst...


    new zollvalidtimer;


    forward ValidateZoll();


    stock GetName(playerid)
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, sizeof(SpielerName));
    return SpielerName;
    }


    public OnGameModeInit()
    {
    zollvalidtimer = SetTimer("ValidateZoll", 3600000, 1);
    return 1;
    }


    public OnGameModeExit()
    {
    KillTimer(zollvalidtimer);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    SetPVarInt(playerid, "Zollpass", 0);
    new rstring[MAX_PLAYER_NAME+6], File:zollfile, cache[8];
    format(rstring, sizeof(rstring), "%s.zoll", GetName(playerid));
    if(fexist(rstring))
    {
    zollfile = fopen(rstring, io_read);
    fread(zollfile, cache);
    SetPVarInt(playerid, "Zollpass", strval(cache));
    fclose();
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid)
    {
    if(GetPVarInt(playerid, "Zollpass") > 0)
    {
    new rstring[MAX_PLAYER_NAME+6], File:zollfile, cache[8];
    format(cache, sizeof(cache), GetPVarInt(playerid, "Zollpass"));
    format(rstring, sizeof(rstring), "%s.zoll", GetName(playerid));
    zollfile = fopen(rstring, io_write);
    fwrite(zollfile, cache);
    fclose();
    }
    DeletePVar(playerid, "Zollpass");
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[128];
    if(!strcmp(cmdtext, "/zollpass", false))
    {
    new zollwert = 1000; //Wieviel der Zollpass kostet.
    if(!IsPlayerConnected(playerid)) return 1;
    else if(GetPVarInt(playerid, "Zollpass") > 0) format(string, sizeof(string), "Du besitzt bereits einen Zollpass der noch für %dStunden gültig ist!", GetPVarInt(playerid, "Zollpass"));
    else if(!IsPlayerInRangeOfPoint(playerid, 2.5, X, Y, Z)) format(string, sizeof(string), "Du bist nicht an einer Verkaufstelle, wo man einen Zollpass bekommt!");
    else if(GetPlayerMoney(playerid) < zollwert) format(string, sizeof(string), "Du hast keine %d$ für einen Zollpass!", zollwert);
    else
    {
    SetPVarInt(playerid, "Zollpass", 120);
    GivePlayerMoney(playerid, -zollwert);
    format(string, sizeof(string), "Du hast einen Zollpass für %d$, welcher für %dStunden gültig ist, erworben!", zollwert GetPVarInt(playerid, "Zollpass"));
    }
    return SendClientMessage(playerid, 0xFFFFFF00, string);
    }
    return 1;
    }


    public ValidateZoll()
    {
    new playerid = 0;
    for(; playerid < MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid) && GetPVarInt(playerid, "Zollpass") > 0)
    {
    SetPVarInt(playerid, "Zollpass", GetPVarInt(playerid, "Zollpass")-1);
    }
    }
    }


    und zu deinem TorBefehl einfach abfragen ob er einen gültigen Zollpass hat ^^.


    Abfrage:
    if(GetPVarInt(playerid, "Zollpass") == 0) //Wenn Spieler keinen Zollpass hat


    Mfg Templer

    Gut dann lassen wir ihm halt das return false; am Ende..
    stock mysqlget(table[],bedien[],abfrag[],data[])
    {
    new query[256];
    format(query,sizeof(query),"SELECT %s FROM %s WHERE %s",abfrag,table,bedien);
    new ergebnis = samp_mysql_query(query);
    if(ergebnis == 0) return false;
    samp_mysql_store_result();
    if(samp_mysql_num_rows())
    {
    samp_mysql_get_field(abfrag, data);
    samp_mysql_free_result();
    return true;
    }
    return false;
    }

    Ändere bei Zeile 117 und 122 das kick zu Kick (Groß- und Kleinschreibung beachten)


    Zeile 191 und 193 haben einen falschen Einzug/Ausrichtung.


    Und dazu bitte Zeile 190 mit nem deftigem Steak. Danke.

    Nein, wenn dann so:


    format(query, sizeof(query), "INSERT INTO '%s' (name, passwort) VALUES ('%s', '%s')", mysql_usertable, playername, inputtext);


    aber dann müsste er auch vom stock das tables[] wegnehmen und dann auch bei jeder Zeile wo er den Stock verwendet das mysql_usertable weglöschen.

    Ok sry, also:


    Zeile 109:
    if(strcmp(inputtext,"GEHEIMZAHL") == 0)


    Zeile 100 zu dem ändern:
    SetPlayerPos(playerid,1537.6620,-1677.8092,13.5469);
    SetPlayerFacingAngle(playerid, 94.0);


    das folgende von OnPlayerConnect nach OnPlayerSpawn:
    ShowPlayerDialog(playerid,DIALOG_BETAKEY,1,"BETAKEY","Bitte gebe deinen Betakey ein!","Weiter","Abbrechen");