Beiträge von Hoscht

    Heyho,


    ich hab ein problem. und zwar hab ich ein fs geladen zum testen darin sind die befehle per dcmd gemacht aber sonst hab ich überall nur die befehle per strcmp und wenn ich jetzt ingame bin gehen nur die befehle mit strcmp und die anderen nicht O.o


    muss ich da noch irgendwas definieren oder so?



    mfg Hoscht

    /*
    *
    * Sicherheitsgurte aka "Durch die Scheibe fliegen" aus GTA IV
    * by NeoPhoenix aka ArgonX5
    *
    * www.NeoPhoenix.de
    *
    * Ein herzlichen Dank an Julian von gta-servers.de für den
    * Testserver.
    *
    * Dieses Filterscript steht unter CreativeCommon Licenses. Aber
    * weil sich eh keiner dran hält ist es mir auch egal, ob ihr
    * die Copyrights löscht oder nicht.
    *
    *
    * Thanks to:
    * - NeoPhoenix (FS, Tester)
    * - Julian (Testserver)
    *
    */


    #include <a_samp>


    #define KEY_ANSCHNALL KEY_LOOK_BEHIND
    #define MAX_SPIELER 20
    #define COLOR_GIFT 0xCCFF00CA
    #define SCM SendClientMessage
    #define COLOR_RED 0xFF6347AA
    #define ZEIT 12000
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    new Float:AlteHP[MAX_VEHICLES];


    main()
    {
    print("\n");
    print("-- Sicherheitsgurte by NeoPhoenix\n");
    print("\n");
    }


    public OnFilterScriptInit()
    {
    AddPlayerClass(295, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0);
    for(new car=0; car<MAX_VEHICLES; car++)
    {
    AlteHP[car] = 1000.0;
    }
    return 1;
    }


    stock InvalidVehicle(id)
    {
    if(id == 448 || id == 461 || id == 462 || id == 463 || id == 468 || id == 481 || id == 509 || id == 510) return true;//Motorräder
    if(id == 521 || id == 522 || id == 581 || id == 586) return true;//+ Fahrräder


    if(id == 430 || id == 446 || id == 452 || id == 453 || id == 545 || id == 472 || id == 473 || id == 485) return true;//Boote
    if(id == 493 || id == 595) return true;//und alles was dazu gehört


    if(id == 417 || id == 425 || id == 447 || id == 460 || id == 469 || id == 476 || id == 487 || id == 488) return true;//Flugzeuge,
    if(id == 497 || id == 511 || id == 512 || id == 513 || id == 519 || id == 520 || id == 548 || id == 553) return true;//Helikopter
    if(id == 563 || id == 577 || id == 592 || id == 593) return true;//und weitere Flugvehicle
    return false;
    }


    public OnPlayerConnect(playerid)
    {
    SetPVarInt(playerid, "IstAngeschnallt", 0);
    return 1;
    }


    public OnVehicleDamageStatusUpdate(vehicleid, playerid)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return true;
    if(InvalidVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)))) return true;
    new Float: vHP;
    GetVehicleHealth(vehicleid, vHP);
    if((AlteHP[vehicleid] - vHP) <= 50)
    {
    AlteHP[vehicleid] = vHP;
    return true;
    }
    if(GetPVarInt(playerid, "IstAngeschnallt") == 0)
    {
    new Float:PosX, Float:PosY, Float:Angle, Float:PosZ, Float:HP, Float:nHP;
    RemovePlayerFromVehicle(playerid);
    GetPlayerPos(playerid, PosX, PosY, PosZ);
    GetPlayerFacingAngle(playerid, Angle);
    SetPlayerPos(playerid,PosX+2,PosY+2,PosZ+0.1);
    GetPlayerHealth(playerid, HP);
    SetPlayerHealth(playerid, HP-20);
    if(GetPlayerHealth(playerid, nHP) > 0)
    {
    ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, ZEIT);
    }
    GameTextForPlayer(playerid, "~r~Du bist durch die Scheibe geflogen", 5000, 5);
    }
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(InvalidVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)))) return true;
    SetPVarInt(playerid, "IstAngeschnallt", 0);
    SCM(playerid, COLOR_RED, "Du bist nicht angeschnallt. Gebe /gurt [anlegen/ablegen] ein um dich an/abzuschnallen.");
    }
    return 1;
    }


    /*public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys && KEY_ANSCHNALL)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(InvalidVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)))) return true;
    if(GetPVarInt(playerid, "IstAngeschnallt") == 0)
    {
    SCM(playerid, COLOR_GIFT, "Du hast dir den Sicherheitsgurt angelegt.");
    SetPVarInt(playerid, "IstAngeschnallt", 1);
    return 1;
    }
    if(GetPVarInt(playerid, "IstAngeschnallt") == 1)
    {
    SCM(playerid, COLOR_GIFT, "Du hast den Sicherheitsgurt abgelegt.");
    SetPVarInt(playerid, "IstAngeschnallt", 0);
    return 1;
    }
    }
    }
    return 1;
    }*/


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(gurt,4,cmdtext);
    return 1;
    }


    stock n_SetVehicleHealth(car, Float:hp)
    {
    AlteHP[car] = hp;
    SetVehicleHealth(var, hp);
    return 1;
    }


    dcmd_gurt(playerid,params[])
    {
    new xxx[50];
    if(sscanf(params, "s",xxx))
    {
    return SendClientMessage(playerid,COLOR_RED,"HINWEIS: /gurt [anlegen/ablegen]");
    }
    if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_RED, "Du bist in keinem Fahrzeug");
    if(InvalidVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)))) return SCM(playerid, COLOR_RED, "Dein jetziges Vehicle hat keine Sicherheitsgurte.");
    if(strcmp(xxx,"anlegen",true) == 0)
    {
    if(GetPVarInt(playerid, "IstAngeschnallt") == 1) { SCM(playerid, COLOR_RED, "Du bist schon angeschnallt"); return 1; }
    SCM(playerid, COLOR_GIFT, "Du hast dir den Sicherheitsgurt angelegt.");
    SetPVarInt(playerid, "IstAngeschnallt", 1);
    return 1;
    }
    else if(strcmp(xxx,"ablegen",true) == 0)
    {
    if(GetPVarInt(playerid, "IstAngeschnallt") == 0) { SCM(playerid, COLOR_RED, "Du bist gar nicht angeschnallt"); return 1; }
    SCM(playerid, COLOR_GIFT, "Du hast dir den Sicherheitsgurt abgelegt.");
    SetPVarInt(playerid, "IstAngeschnallt", 0);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "HINWEIS: /gurt [Aktion]. Aktionen: angelegen, ablegen");
    }
    return true;
    }





    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (string[stringPos] && string[stringPos] <= ' ')
    {
    stringPos++;
    }
    while (paramPos < paramCount && string[stringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = string[stringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = string[++stringPos];
    }
    do
    {
    stringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = string[stringPos];
    do
    {
    stringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }

    LOL


    jetzt findet er anscheinend die include aber jetzt kommt folgendes


    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(67) : error 017: undefined symbol "SetPVarInt"
    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(71) : warning 235: public function lacks forward declaration (symbol "OnVehicleDamageStatusUpdate")
    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(82) : error 017: undefined symbol "GetPVarInt"
    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(105) : error 017: undefined symbol "SetPVarInt"
    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(159) : error 017: undefined symbol "GetPVarInt"
    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(161) : error 017: undefined symbol "SetPVarInt"
    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(166) : error 017: undefined symbol "GetPVarInt"
    D:\Gta San Andreas 3\filterscripts\Gta4scheibefliegen.pwn(168) : error 017: undefined symbol "SetPVarInt"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    7 Errors.


    wtf?

    moin moin,


    ich hab n problem undzwar, ich hab eine include eingefügt, die ich für ein filterscript brauche^^ (hab vorher errors bekommen)
    dann will ich wieder compilen, die fehler sind weg, aaaaaber da steht jetzt

    Zitat

    fatal error 100: cannot read from file: "neo_inc_feature_gurt"


    obwohl ichs im pawno/includes ordner hab X(
    was is das?^^



    mfg Hoscht

    #define FILTERSCRIPT


    #include <a_samp>


    new tschranke;


    forward TerroristenSchranke();


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Terroristen Base");
    print("--------------------------------------\n");

    {
    CreateObject(12942, -789.361877, 2445.030518, 156.077271, 0.0000, 0.0000, 180.0001);
    CreateObject(11440, -774.631714, 2430.651123, 155.692413, 0.0000, 0.0000, 191.2502);
    CreateObject(751, -815.973511, 2364.463623, 150.826080, 0.0000, 0.0000, 0.0000);
    CreateObject(966, -812.021423, 2363.218994, 150.482544, 0.0000, 356.2615, 157.5000);
    tschranke = CreateObject(968, -812.032104, 2363.208252, 151.366837, 0.8594, 94.7094, 337.5000);
    CreateObject(967, -813.649597, 2363.912598, 150.586945, 0.0000, 0.0000, 247.5000);
    CreateObject(751, -804.100098, 2359.678955, 149.765747, 0.0000, 0.0000, 213.7499);



    CreateVehicle(505,-812.7223,2422.9885,157.0509,225.9114,44,44,1500); // jeep1
    CreateVehicle(505,-814.8560,2418.4524,156.9125,222.3363,44,44,1500); // jeep2
    CreateVehicle(500,-816.0045,2419.8125,156.9059,221.5357,44,44,1500); // jeep2richtig
    CreateVehicle(468,-786.0939,2395.7126,156.2615,15.9117,44,44,1500); // sanchez1
    CreateVehicle(468,-783.8835,2396.1401,156.3603,14.2950,4,4,1500); // sanchez2
    CreateVehicle(468,-781.4929,2397.1072,156.4907,17.4964,44,44,1500); // sanchez3
    CreateVehicle(468,-778.6634,2397.9390,156.5994,20.7757,4,4,1500); // sanchez4
    CreateVehicle(471,-778.0492,2406.6475,156.5521,89.2579,44,44,1500); // quad1
    CreateVehicle(471,-778.1838,2409.5842,156.5658,95.9376,44,44,1500); // quad2
    CreateVehicle(471,-778.3491,2412.9172,156.5782,93.9154,44,44,1500); // quad3
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/topen", true)==0)
    {
    MoveObject(tschranke,-812.032104,2363.208252,151.366837, 2);
    SetTimer("TerroristenSchranke", 12000,0);
    return 1;
    }
    return 1;
    }


    public TerroristenSchranke()
    {
    MoveObject(tschranke,-812.032104, 2363.208252, 151.366837, 2);
    return 1;
    }


    ich finde den fehler einfach nicht, die schranke öffnet sich nicht -.-

    ah xD kk


    aber bei mir kommt ne fehlermeldung wenn ich das so mache


    AddStaticVehicle(432, -1447.503662, 426.322723, 1.308493, 338, 107, 107, 1500);


    Zitat

    warning 202: number of arguments does not match definition

    O.o

    lol da kann man auch fahrzeuge einfügen im map editor? LOL wusste ich gar nich X( sry xDD


    ich probiers mal^^


    edit:


    öhm ja....


    ich hab jetzt fahrzeuge "gemappt" also als spawnpoint.... aber wenn ich das jetzt in den map converter einfüge die .map datei, stehen immernoch nur die objecte drinnen und nicht die spawnpoints O.o


    edit2:


    moment ich habs glaub ich xDD habs mitm editor geöffnet


    edit3:


    -.- next problem


    Zitat

    <spawnpoint name="spawnpoint (6)">
    <position>-1447.503662 426.322723 1.308493</position>
    <rotation>338</rotation>
    <vehicle>432</vehicle>
    </spawnpoint>

    so steht das in der map datei der spawnpoint, aber da fehlen noch coords damit ich das als car einfügen kann X( x,y,z hab ich car id auch rotation weiß ich nich genau wo ich die hinmachen soll und da fehlen noch 1 oder 2 sachen damit der compiler sich nich aufpisst xD

    boah ich glaub ich steh grad aufm schlauch xD


    also


    ich geh in den map editor, mappe mein zeug bla bla bla
    dann öffne ich die .map datei und weiter? da sehe ich doch nur die objekte die ich gemappt habe und ihre coords und nicht die coords wo ich das car haben will^^

    und woher bekomm ich die coords von dem punkt wo ich die fahrzeuge hinhaben will?^^
    das gemappte ist ja nur da, wenn ich aufm server gehe und da kann ich ja keine coords speichern -.-

    Heyho,


    wie kann ich Fahrzeuge spawnen bzw. die position herrausfinden wenn ich etwas gemappt habe im wasser und darauf die fahrzeuge haben möchte?
    im debug modus is das ja nicht da und im single player kann ich keine fahrzeuge speichern (also die pos)


    wie macht man das am dümmsten?^^


    mfg Hoscht

    Moinsen,


    da ich zuviele obj drinnen hab, wollte ich einen object streamer reinhaun... das hab ich dann auch gemacht, alles geändert was dort stand aber wenn ich jetzt zu der stelle gehe, wo die objecte eig. sein SOLLTEN sind keine da -.-


    #include <a_samp>
    #include <Obj_Streamer>
    #if defined FILTERSCRIPT


    new ArmyPlattform1;
    new ArmyPlattform2;


    forward ArmyPlattformback();


    public OnFilterScriptInit()
    {
    StreamObject_OnGameModeInit();
    print("\n--------------------------------------");
    print(" Army Base");
    print("--------------------------------------\n");

    {
    ArmyPlattform1 = CreateObjectToStream(7024, -1425.788086, 419.349609, -12.267847, 0.0000, 0.0000, 180.0000);
    ArmyPlattform2 = CreateObjectToStream(7024, -1355.468384, 429.078796, -12.267847, 0.0000, 0.0000, 180.0000);
    CreateObjectToStream(987, -1512.905151, 481.520233, 6.187501, 0.0000, 0.0000, 180.0000);
    CreateObjectToStream(986, -1536.919434, 482.617493, 6.865364, 0.0000, 0.0000, 0.0000);
    CreateObjectToStream(986, -1521.901367, 482.629059, 6.865762, 0.0000, 0.0000, 180.0000);
    }
    return 1;
    }


    public OnFilterScriptExit()
    {
    StreamObject_OnGameModeInit();
    return 1;
    }





    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmdtext, "/armycars", true)==0)
    {
    MoveObjectToStream(ArmyPlattform1, -1425.788086, 419.349609, -6.455412, 2.0);
    MoveObjectToStream(ArmyPlattform2, -1355.468384, 429.078796, -6.452737, 2.0);
    SetTimer("ArmyPlattformback", 20000,0);

    return 1;
    }
    return 1;
    }


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


    public ArmyPlattformback()
    {
    MoveObjectToStream(ArmyPlattform1, -1425.788086, 419.349609, -12.267847, 2.0);
    MoveObjectToStream(ArmyPlattform2, -1355.468384, 429.078796, -12.267847, 2.0);
    return 1;
    }


    #endif


    wisst ihr iwas?