Beiträge von Tomsen

    Das fehlt nurnoch das er prüft ob jemand drin sitzt oder? wäre ja klüger damit es nicht einen bei der Streife etc. weg beamt ^^

    das ist der stock.


    Das ist das mit drin wo der das Objekt erstellt.


    Auf jeden Fall gehen die Kaputt ^^


    enum eNagelBand {
    ID,Float:NagelBandX, Float:NagelBandY, Float:NagelBandZ, nErstellt
    new NagelBand[MAX_NAGELBAENDER][eNagelBand];
    new NagelBandErstellt[MAX_PLAYERS];


    Das brauchst du allerdings noch.


    Ist aber alles vom GF. Sieht man ja an enum ^^


    Aber versuchs. Viel Glück.


    Lg byBSE

    Ja ist es ;)


    if(strcmp(cmdtext, "/nagelband", true) == 0 || strcmp(cmdtext, "/nb", true) == 0) //der befehl den man eingeben muss
    {
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Cop!"); //abfragen ob er ein Cop ist. wenn nein dann kommt die Message
    if(PlayerInfo[playerid][pRank] < 3) // abfragen ob er mindestens Rang 3 ist
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst mindestens Rang 3 haben, um diesen Befehl nutzen zu können!"); //das passiert wenn unter Rang 3
    return 1;
    }
    if(NagelBandErstellt[playerid] == 1)// hier erstellt es ein Nagelband (NagelBandErstellt ist ein Object das im Script nochmal definiert ist, kommt unten)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast bereits ein Nagelband aufgestellt, bau sie erst wieder ab (/nbw)"); //eine message als info
    return 1;
    }
    AddNagelBand(playerid);
    NagelBandErstellt[playerid] = 1;
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Nagelband aufgestellt (Abbauen mit /nbw).");
    return 1;
    }


    stock AddNagelBand(playerid) {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerPos(playerid,x,y,z); //spielerposition "merken"
    GetPlayerFacingAngle(playerid, a);
    for(new i = 0; i < sizeof(NagelBand); i++) {
    if(NagelBand[i][nErstellt] == 0) {
    NagelBand[i][NagelBandX] = x;
    NagelBand[i][NagelBandY] = y; //nagelband an der "gemerkten" position hinlegen
    NagelBand[i][NagelBandZ] = z - 0.7; // hier allerdings -0.7 z bedeutet 0.7 (m im game denk ich mal) nach unten, als der spieler. macht man zB bei x +4 ist es weiter links bzw. rechts vom spieler.
    NagelBand[i][nErstellt] = 1;
    NagelBand[i][ID] = CreateDynamicObject(2899, x, y, z - 0.7, 0.0, 0.0, a - 90.0); //nagelband erstellen
    return 1;
    }
    }
    return 0;
    }


    Das muss ganz unten hin. Das ist der Teil wo das Nagelband erstellt wird, und so weiter. Oben wird der Stock nur aufgerufen damit er es erstellt ;)


    Das kannst du nun an sich kopieren.


    hier der teil zum löschen.


    if(strcmp(cmdtext, "/nagelbandweg", true) == 0 || strcmp(cmdtext, "/nbw", true) == 0)
    {
    if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Cop!");
    if(NagelBandErstellt[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast kein Nagelband aufgestellt!");
    return 1;
    }
    RemoveNagelBand(playerid);
    return 1;
    }


    Lg byBSE

    Also, ich versuchs mal theoretisch. Den rest musst du dir zusammensuchen ^^


    Also erstmal machst du einen Befehl,
    /frakrepspawn von mir aus.


    Dann musst du Fragen ob er der Leader der Fraktion, zB. SAPD ist, und dann irgentwie was mit IsAPoliceCar, oder wie es bei dir im Script ist.
    Wenn es eins ist kommt in die geschweiften Klammern rein: Das diese respawnt werden. also SetSpawn oder sowas. Musst halt mal schauen wie der/die befehle dafür sind.



    //edit:


    Also das ist wenn man Alle Respawnt:


    if(strcmp(cmd,"/respawnall",true) == 0) //befehl
    {
    if(PlayerInfo[playerid][pAdmin] >= 4) //abfragen ob er Admin Level 4 oder höher ist
    {
    for(new v=0; v<MAX_VEHICLES; v++) //allen autos (MAX_VEHICLES) definieren
    {
    SetVehicleToRespawn(v); //alle autos (v, oben definiert) respawnen
    }
    }
    else SendClientMessage(playerid,COLOR_RED," Du bist nicht befugt!"); //was passiert wenn du nicht Admin level 4 bist.
    return 1;
    }


    Allerdings musst du ne Abfrage rein bauen, statt Admin zB so:
    (aus GF)
    if(PlayerInfo[playerid][pLeader] ==1) //ist er Leader der Frak. 1 bzw. Team 1 (zB Polizei)


    Dann muss das for(new... weg weil das sagt ja aus, definiere alle autos. Wir wollen ja nur Frak vehs haben. Also musst du es machen wie Firefan gesagt hat, das es abfragt ob es ein zB PolizeiVeh ist.


    Wenn ja, resapwnen, wenn nein lassen.


    Also zB.: for(new v=0; v<PolizeiVehs;v++) Das hab ich aber gerade mir logisch zusammen gedacht. Obs funktioniert muss nicht sein.
    Bin halt auch nur Schüler ^^ probier es einfach aus, kann nicht falsch sein anstatt immer alles zu kopieren ;)


    Lg byBSE


    //edit 2: Das alles kommt außerdem unter OnPlayerCommandText ;)

    Ich würd sagen wenn du einen Befehl machst, das er kein Leben verliert, verliert er nie leben. Deswegen sollte man eher mit SetHealt bzw. GiveHealt oder wie das heißt ^^ arbeiten.



    Die Frage ist, wer ist wer. Also, rein theoretisch, müsste er bei einem Treffer Prüfen in welchem Team er ist.
    Ist es Team A SetHealth, ist es Team B dann passiert nichts bzw. zieht es HP ab.


    Die Frage ist eher wie man das Scriptet. Allerdings bin ich da überfragt. Am besten du Fragst mal wiki. oder "weiße" User ^^


    Und wenn du eine Art DM Server machen willst, dann arbeitest du ja wahrscheinlich eh mit gTeam oder?


    Lg byBSE

    Natürlich ;)


    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : error 029: invalid expression, assumed zero
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : warning 215: expression has no effect
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : error 001: expected token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    In der Zeile:


    else if (item == 11 && GetPlayerMoney(playerid) >= 199)

    Nein ich hab nur ein Komma dahinter wie bei allen anderen auch


    enum pInfo
    {
    pKey[128],
    pLevel,
    pAdmin,
    pSupporter,
    pDonateRank,
    gPupgrade,
    pConnectTime,
    pReg,
    pSex,
    pAge,
    (...)
    Text:LetterboxTop,Text:LetterboxBottom2, Text:LetterboxBottom,
    pTot,
    pFarmTime,
    pGDeaths,
    pGKills,
    pMeldung,
    pEST,
    pKamera,


    //edit: auch ohne komma kommen die errors ^^

    pKamera; pKamera mit hinzugefügt
    PlayerInfo[playerid][pKamera] = 0; beim registrieren pKamera auf 0 bzw. nicht vorhanden
    format(var, 32, "Kamera=%d\n",PlayerInfo[playerid][pKamera]);fwrite(hFile, var); Das müsste dazu sein das dies im Account.txd steht
    if( strcmp( key , "Kamera" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKamera] = strval( val ); } keine ahnung ^^
    if(strcmp(cmdtext,"/kamera",true)==0) das ist der befehl um die kamera rauszuholen wenn man eine hat
    {
    if(IsPlayerConnected(playerid))
    {


    if(PlayerInfo[playerid][pKamera] == 1)
    {
    SendClientMessage(playerid,GELB,"Du hast deine Kamera herrausgeholt!");
    GivePlayerWeapon(playerid,43,1000);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast noch keine Kamera, kauf dir im 24/7 eine!");
    }
    }
    return 1;
    }


    else if (item == 11 && GetPlayerMoney(playerid) >= 199) //das ist der teil im shop also /buy 11
    {
    GivePlayerMoney(playerid, - 200);
    format(string, sizeof(string), "~r~-$%d", 50);
    GameTextForPlayer(playerid, string, 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Eine Kamera gekauft.");
    SendClientMessage(playerid, COLOR_GRAD4, string);
    PlayerInfo[playerid][pKamera] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genug Geld Dafür!");
    }
    Das ist alles.


    Ich hab einfach was anderes aus dem Shop genommen (Zigaretten) und nach pZigaretten (oder wie das hieß) gesucht, und das ensprechende für Kamera hinzugefügt bzw. angepasst soweit ich wusste wie.


    Hoffe das hilft :)


    Lg byBSE

    Nenene :D


    Ich hab einen Befehl /kamera. Der Dient dazu das er die Kamera rausholt.


    Bedeutet: Hat er eine, gibt er /kamera ein eine Message kommt und er bekommt eine Kamera.


    Hat er noch keine gekauft, hat er halt keine. Der Befehl /kamera ist wie /helm. Es ist damit man es jederzeit herrausholen kann


    //edit: geht nicht, da kommen diese errors :


    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(19054) : error 001: expected token: ";", but found "-identifier-"
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28044) : error 029: invalid expression, assumed zero
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28044) : warning 215: expression has no effect
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28044) : error 001: expected token: ";", but found "if"
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28044) : error 017: undefined symbol "listitem"
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28044) : fatal error 107: too many error messages on one line


    //edit 2:Ok, habe deins reingemacht, allerdings kommen trotzdem die beiden error


    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : error 029: invalid expression, assumed zero
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : warning 215: expression has no effect
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : error 001: expected token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Die betreffen immernoch die Zeile:


    else if (item == 11 && GetPlayerMoney(playerid) >= 199)

    Ne, das ist irgentwie nicht richtig, hab das ja bei /buy schon drin ^^


    Außerdem kommen dann noch mehr Errors.


    Trotzdem danke.


    Ich zeige nochmal kurz was ich jetzt gemacht (versucht) habe:


    Also erst einmal den /kamera befehl:


    if(strcmp(cmdtext,"/kamera",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {


    if(PlayerInfo[playerid][pKamera] == 1)
    {
    SendClientMessage(playerid,GELB,"Du hast deine Kamera herrausgeholt!");
    GivePlayerWeapon(playerid,43,1000);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast noch keine Kamera, kauf dir im 24/7 eine!");
    }
    }
    return 1;
    }


    Dann noch den Teil im 24/7 /buy bereich, damit man die auch kaufen kann (in der Ersten zeile sind die 2 errors die oben schon erwähnt)


    else if (item == 11 && GetPlayerMoney(playerid) > 200)
    {
    GivePlayerMoney(playerid, - 200);
    format(string, sizeof(string), "~r~-$%d", 50);
    GameTextForPlayer(playerid, string, 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Eine Kamera gekauft.");
    SendClientMessage(playerid, COLOR_GRAD4, string);
    PlayerInfo[playerid][pKamera] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genug Geld Dafür!");
    }


    dann hab ich oben im PlayerInfo bereich noch pKamera definiert.


    (das müsste alles gewesen sein. )


    Und was ist nun der Fehler?


    Lg byBSE


    //edit: muss man villt. irgentwo noch definieren das es 11 items gibt?

    Ok habs soweit alleine hinbekommen, außer bei einer Zeile da kommen 2 Errors:


    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : error 029: invalid expression, assumed zero
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : warning 215: expression has no effect
    D:\Spiele\Rockstar Games\San Andreas\GLR\gamemodes\GLR.pwn(28048) : error 001: expected token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Das ist die Betreffende Zeile


    else if (item == 11 && GetPlayerMoney(playerid) > 200)

    Hey,


    ich hab ein GF und will das man sich im 24/7 eine Kamera kaufen kann.


    Diese soll man dann mit /kamera benutzen bzw. rausholen können.


    Denn befehl /kamera hab ich, aber alles andere mit dem Kaufen etc. nicht. Wie stell ich das an?


    Lg byBSE

    Lol?!


    Das was 3D geschrieben hat war schon richtig. Da sind meine Savegames auch her.


    Da hat man alle mission ;)


    Bedeutet: Du kannst dir aussuchen welche Mission die letzte war, die stehen ja alle unten drunter, und mit der nächsten machste weiter -.-


    Ist die beste Seite ;)


    Lg byBSE