[RELEASE] Tresorrob System - Re - Release

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
  • //edit: Ja, ich weiß, alte Command-Form...
    //edit2: Bilder hinzugefügt (siehe Anhang)
    //edit3: Aufzug als Tresorraum... hab halt nichts besseres gefunden xD + Spoiler gesetzt


    Hallo,
    ich habe mein altes Tresorrob System heute einmal hergenommen und es zum versprochenen Filterscript umgeschrieben.
    Ich konnte es bisher leider noch nicht testen, es sollte allerdings problemlos funktionieren :)
    Sollten dennoch Probleme auftreten, bitte ich um Rückmeldung, damit ich diese möglichst schnell beiseiteschaffen kann.
    Das Script ist derzeit für 0.3x geschrieben, kann aber innerhalb von Sekunden (includes aktualisieren + compilen) auf 0.3z aktualisiert werden ;)
    Includes (kompatible zu 0.3x) + FIlterscript: http://www.file-upload.net/dow…rrob---samp-0.3x.rar.html


    Zunächst einmal muss folgendes Script in euer Hauptscript (auch bekannt als Gamemode), solltet ihr zwischen mehreren wechseln, sollte es selbstverständlich in alle!
    (Muss minimal angepasst werden; Die Funktion IsACop(playerid); ist oftmals schon vorhanden und darf deshalb nicht kopiert werden!)

    Spoiler anzeigen
    forward SetTresorCriminal(playerid, wanteds);
    public SetTresorCriminal(playerid, wanteds)
    {
    if(IsPlayerConnected(playerid))
    {
    WantedPoints[playerid]+=wanteds; //muss ans entsprechende Script angepasst werden !
    SetPlayerCriminal(playerid,255, "Tresorraus (-versuch)"); //muss ans entsprechende Script angepasst werden !
    }
    }

    Spoiler anzeigen
    forward IsACop();
    public IsACop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader]; //muss ans entsprechende Script angepasst werden !
    new member = PlayerInfo[playerid][pMember]; //muss ans entsprechende Script angepasst werden !
    if(member==1 || member==2 || member==3 || member==16 || member==22) //muss ans entsprechende Script angepasst werden (Fraktionen, die entschärfen und Verbrechern Geldsäcke abnehmen können)
    {
    return 1;
    }
    else if(leader==1 || leader==2 || leader==3 || leader==16 || leader==22) //muss ans entsprechende Script angepasst werden (Fraktionen, die entschärfen und Verbrechern Geldsäcke abnehmen können)
    {
    return 1;
    }
    if(PlayerInfo[playerid][SEKDuty] == 1)
    {
    return 1;
    }
    }
    return 0;
    }

    Pastebin: http://pastebin.com/PPYpLf0d


    Und das Filterscript:

    Spoiler anzeigen
    #include <a_samp>
    #include <utils>

    Spoiler anzeigen
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_ORANGE 0xFF9900AA
    #define COLOR_RED 0xAA3333AA
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_LIGHTBLUE 0x33CCFFAA

    Spoiler anzeigen
    new robtresor[MAX_PLAYERS];
    new tresorrobbing = 0;
    new tresorrobtime = 12; //Angabe für die Wartezeit, wann der Tresor wieder ausgeraubt werden kann (in Stunden; 0 für keine Wartezeit)
    new twanteds = 3; //Anzahl der Wanteds, die für das Platzieren einer Bombe am Tesor, vergeben werden.
    new gmoney = 7500; //Angabe für das Geld, das sich in einer Tasche befindet (wird am Ende *2 genommen)
    new tresorbombe1;
    new tresorbombe2;
    new tbombe = 0;
    new trobm = 0;
    new geldsack[MAX_PLAYERS];
    new TresorTor1;
    new TresorTor2;

    Spoiler anzeigen
    new Float:tresorX,Float:tresorY,Float:tresorZ;

    Spoiler anzeigen
    public OnFilterScriptInit()
    {
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256];
    new tmp[256];
    new string[256];
    new idx;
    new giveplayerid;
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    new moneys;
    GetPlayerName(playerid,sendername,sizeof(sendername));
    cmd = strtok(cmdtext, idx);

    if(strcmp(cmd, "/take", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(CallRemoteFunction("IsACop","d", playerid))
    {
    new x_nr[256];
    x_nr = strtok(cmdtext, idx);
    if(!strlen(x_nr)) {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "________________________________ Take ____________________________");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /take [Sache] [SpielerID]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbar: Geldsack");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "__________________________________________________________________");
    return 1;
    }
    else if(strcmp(x_nr,"Geldsack",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Benutze: /take Geldsack [SpielerID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (ProxDetectorS(8.0, playerid, giveplayerid))
    {
    GetPlayerName(playerid,sendername,sizeof(sendername));
    GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
    format(string, sizeof(string), "Sie haben %s(%d) Geldsäcke abgenommen.",giveplayer,giveplayerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "%s(%d) hat ihnen ihre Geldsäcke abgenommen.", sendername,playerid);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    geldsack[giveplayerid]= 0;
    RemovePlayerAttachedObject(giveplayerid, 3);
    RemovePlayerAttachedObject(giveplayerid, 4);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist nicht in ihrer Nähe.");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist offline.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Nicht verfügbar.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Sie sind kein Staatsdiener.");
    return 1;
    }
    return 1;
    }
    }

    Spoiler anzeigen
    if (strcmp("/defuse", cmdtext, true, 10) == 0)
    {
    if(CallRemoteFunction("IsACop","d", playerid))
    {
    if(PlayerToPoint(5, playerid, 286.43, -1515.56, 25.27))
    {
    if(tbombe == 1)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    tbombe = 0;
    DestroyObject(tresorbombe1);
    DestroyObject(tresorbombe2);
    format(string, sizeof(string), "Die Bombe am Hotel in Los Santos wurde von %s entschärft.", sendername);
    SendClientMessageToAll(COLOR_ORANGE, string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Es befindet sich keine Bombe am Tresor.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Sie befinden sich nicht am Tresor des Hotels.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Nur das SEK und die Army kann Bomben entschärfen.");
    }
    return 1;
    }

    Spoiler anzeigen
    if (strcmp("/einpacken", cmdtext, true, 10) == 0)
    {
    if(PlayerToPoint(5, playerid, 286.43, -1515.56, 25.27))
    {
    if(trobm >= 2)
    {
    if(geldsack[playerid] >= 2)
    {
    SendClientMessage(playerid,COLOR_RED,"Sie können nicht mehr Geldsäcke tragen.");
    }
    else
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    geldsack[playerid] = 2;
    trobm -= 2;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Sie haben sich zwei Geldsäcke geschnappt.");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Die Regierung wird versuchen, Ihnen diese wieder abzunehmen.");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Sie können die Geldsäcke mit /auspacken auspacken und das Geld erhalten (Mindestabstand zum tresor: 500Meter).");
    SetPlayerAttachedObject(playerid, 3, 1550, 5, 0.101, -0.0, 0.0, 5.50, 84.60, 83.7, 1, 1, 1);
    SetPlayerAttachedObject(playerid, 4, 1550, 6, 0.101, -0.0, 0.0, 5.50, 84.60, 83.7, 1, 1, 1);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der Tresorraum ist leer; es gibt nichtsmehr zu holen.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Sie befinden sich nicht am Tresor des Hotels.");
    }
    return 1;
    }

    Spoiler anzeigen
    if (strcmp("/auspacken", cmdtext, true, 10) == 0)
    {
    if(PlayerToPoint(500, playerid, 286.43, -1515.56, 25.27))
    {
    SendClientMessage(playerid,COLOR_RED,"Sie sind nicht weit genug weg vom Tresorraum des Hotels.");
    }
    else
    {
    if(geldsack[playerid] >= 2)
    {
    moneys = geldsack[playerid] * gmoney;
    GivePlayerMoney(playerid, moneys);
    format(string, sizeof(string), "Sie haben das Geld aus den Taschen geholt und $%d erbeutet.", moneys);
    SendClientMessage(playerid,COLOR_ORANGE, string);
    RemovePlayerAttachedObject(playerid, 3);
    RemovePlayerAttachedObject(playerid, 4);
    geldsack[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Sie haben keine Geldsäcke.");
    }
    return 1;
    }
    return 1;
    }

    Spoiler anzeigen
    if (strcmp("/tresorrob", cmdtext, true, 10) == 0 || strcmp("/trob", cmdtext, true, 10) == 0)
    {
    if(PlayerToPoint(5, playerid, 286.43, -1515.56, 25.27))
    {
    new hour,minuite,second;
    gettime(hour,minuite,second);
    if(hour >= 12 && hour <= 20)
    {
    if(tresorrobbing == 0)
    {
    if(tbombe == 0)
    {
    GetPlayerPos(playerid,tresorX,tresorY,tresorZ);
    tresorbombe1 = CreateObject(1654, 287.13, -1515.06, 25.51, 0.00, 0.00, 59.01);
    tresorbombe2 = CreateObject(1654, 287.30, -1514.82, 25.51, 0.00, 0.00, 59.01);
    SendClientMessage(playerid,COLOR_RED,"Die Bombe explodiert in 5 Minuten.");
    SetTimerEx("TresorBombe",100,0,"i",playerid);
    tresorrobbing = 1;
    tbombe = 1;
    SendClientMessageToAll(COLOR_ORANGE,"Eine Dynamitladung wurde am Tresor des Hotels in Los Santos angebracht.");
    CallRemoteFunction("SetTresorCriminal","dd", playerid, twanteds);
    SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+twanteds);
    SetTimerEx("Tresorfrei",3600000 * tresorrobtime,0,"i",playerid);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der Tresor wird gerade ausgeraubt.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der Tresor wurde heute schon ausgeraubt.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Ein Tresorraub ist nur zwischen 12:00 und 21:00 Uhr möglich.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Sie befinden sich nicht am Tresor des Hotels.");
    }
    return 1;
    }
    return 0;
    }

    Spoiler anzeigen
    forward TresorBombe(playerid);
    public TresorBombe(playerid)
    {
    if(tbombe == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 5 Minuten.");
    SetTimerEx("TresorBombe1",60000,0,"i",playerid);
    SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 5 Minuten.");
    return 1;
    }
    else
    {
    SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
    tbombe = 0;
    return 1;
    }
    }

    Spoiler anzeigen
    forward TresorBombe1(playerid);
    public TresorBombe1(playerid)
    {
    if(tbombe == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 4 Minuten.");
    SetTimerEx("TresorBombe2",60000,0,"i",playerid);
    SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 4 Minuten.");
    return 1;
    }
    else
    {
    SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
    tbombe = 0;
    return 1;
    }
    }

    Spoiler anzeigen
    forward TresorBombe2(playerid);
    public TresorBombe2(playerid)
    {
    if(tbombe == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 3 Minuten.");
    SetTimerEx("TresorBombe3",60000,0,"i",playerid);
    SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 3 Minuten.");
    return 1;
    }
    else
    {
    SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
    tbombe = 0;
    return 1;
    }
    }

    Spoiler anzeigen
    forward TresorBombe3(playerid);
    public TresorBombe3(playerid)
    {
    if(tbombe == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 2 Minuten.");
    SetTimerEx("TresorBombe4",60000,0,"i",playerid);
    SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 2 Minuten.");
    return 1;
    }
    else
    {
    SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
    tbombe = 0;
    return 1;
    }
    }

    Spoiler anzeigen
    forward TresorBombe4(playerid);
    public TresorBombe4(playerid)
    {
    if(tbombe == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 60 Sekunden.");
    SetTimerEx("TresorBombe5",60000,0,"i",playerid);
    SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 60 Sekunden.");
    return 1;
    }
    else
    {
    SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
    tbombe = 0;
    return 1;
    }
    }

    Spoiler anzeigen
    forward TresorBombe5(playerid);
    public TresorBombe5(playerid)
    {
    DestroyObject(TresorTor1);
    DestroyObject(TresorTor2);
    DestroyObject(tresorbombe1);
    DestroyObject(tresorbombe2);
    CreateExplosion(tresorX,tresorY,tresorZ,2,6);
    CreateExplosion(tresorX,tresorY,tresorZ,2,6);
    CreateExplosion(tresorX,tresorY,tresorZ,2,6);
    CreateExplosion(tresorX,tresorY,tresorZ,2,6);
    CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
    CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
    CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
    CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
    CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
    CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
    CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
    CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
    CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
    CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
    CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
    CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
    SendClientMessage(playerid,COLOR_RED,"Die Bombe ist explodiert. Der Tresor ist nun geöffnet.");
    SendClientMessage(playerid,COLOR_RED,"Das Geld kann im Tresorraum mit /einpacken eingepackt werden.");
    SetTimerEx("tresortor",900000,0,"i",playerid);
    tbombe = 0;
    trobm = 14;
    CreateObject(2463, 284.67, -1511.61, 25.24, 0.00, 0.00, 53.69);
    CreateObject(2463, 283.79, -1512.72, 25.24, 0.00, 0.00, 53.69);
    CreateObject(1212, 283.65, -1513.11, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 283.71, -1513.04, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 283.77, -1512.96, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 283.83, -1512.88, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 283.89, -1512.80, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 283.96, -1512.72, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.02, -1512.64, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.08, -1512.56, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.14, -1512.48, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.20, -1512.40, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.26, -1512.32, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.32, -1512.24, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.38, -1512.16, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.38, -1512.16, 26.75, 0.00, 0.00, 358.55);
    CreateObject(1212, 284.32, -1512.24, 26.75, 0.00, 0.00, 358.57);
    CreateObject(1212, 284.26, -1512.32, 26.75, 0.00, 0.00, 358.58);
    CreateObject(1212, 284.20, -1512.40, 26.75, 0.00, 0.00, 358.59);
    CreateObject(1212, 284.14, -1512.48, 26.75, 0.00, 0.00, 358.61);
    CreateObject(1212, 284.08, -1512.56, 26.75, 0.00, 0.00, 358.62);
    CreateObject(1212, 284.02, -1512.64, 26.75, 0.00, 0.00, 358.64);
    CreateObject(1212, 283.96, -1512.72, 26.75, 0.00, 0.00, 358.65);
    CreateObject(1212, 283.89, -1512.80, 26.75, 0.00, 0.00, 358.66);
    CreateObject(1212, 283.83, -1512.88, 26.75, 0.00, 0.00, 358.68);
    CreateObject(1212, 283.77, -1512.96, 26.75, 0.00, 0.00, 358.69);
    CreateObject(1212, 283.71, -1513.04, 26.75, 0.00, 0.00, 358.70);
    CreateObject(1212, 283.65, -1513.11, 26.75, 0.00, 0.00, 358.72);
    CreateObject(1212, 284.60, -1511.91, 26.75, 0.00, 0.00, 358.68);
    CreateObject(1212, 284.67, -1511.82, 26.75, 0.00, 0.00, 358.66);
    CreateObject(1212, 284.74, -1511.73, 26.75, 0.00, 0.00, 358.65);
    CreateObject(1212, 284.80, -1511.65, 26.75, 0.00, 0.00, 358.64);
    CreateObject(1212, 284.87, -1511.56, 26.75, 0.00, 0.00, 358.62);
    CreateObject(1212, 284.94, -1511.47, 26.75, 0.00, 0.00, 358.61);
    CreateObject(1212, 285.01, -1511.38, 26.75, 0.00, 0.00, 358.59);
    CreateObject(1212, 285.07, -1511.29, 26.75, 0.00, 0.00, 358.58);
    CreateObject(1212, 285.14, -1511.20, 26.75, 0.00, 0.00, 358.57);
    CreateObject(1212, 285.21, -1511.11, 26.75, 0.00, 0.00, 358.55);
    CreateObject(1212, 285.15, -1511.18, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 285.04, -1511.34, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 285.11, -1511.26, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 285.00, -1511.39, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.95, -1511.46, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.90, -1511.53, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.85, -1511.60, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.74, -1511.73, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.80, -1511.66, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.69, -1511.80, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.64, -1511.87, 26.39, 0.00, 0.00, 0.00);
    CreateObject(1212, 284.59, -1511.93, 26.39, 0.00, 0.00, 0.00);
    return 1;
    }

    Spoiler anzeigen
    forward tresortor();
    public tresortor()
    {
    TresorTor1=CreateObject(2634, 286.43, -1515.56, 25.27, 0.00, 0.00, 54.79);
    TresorTor2=CreateObject(2634, 287.57, -1514.02, 25.27, 0.00, 0.00, 234.79);
    return 1;
    }

    Spoiler anzeigen
    forward Tresorfrei(playerid);
    public Tresorfrei(playerid)
    {
    tresorrobbing = 0;
    robtresor[playerid]=0;
    return 1;
    }

    Spoiler anzeigen
    //Sonstige Funktionen
    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }

    Spoiler anzeigen
    forward ProxDetectorS(Float:radi, playerid, targetid);
    public ProxDetectorS(Float:radi, playerid, targetid)
    {
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    //radi = 2.0; //Trigger Radius
    GetPlayerPos(targetid, posx, posy, posz);
    tempposx = (oldposx -posx);
    tempposy = (oldposy -posy);
    tempposz = (oldposz -posz);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }

    Spoiler anzeigen
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }

    Spoiler anzeigen
    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    Pastebin: http://pastebin.com/sGdjiByj


    Ich bitte ausdrücklich um ein kurzes Feedback

  • Spam hier bitte nicht so unnötig rum, danke. Zu deiner Frage: Nein kannst du nicht.



    B2T -> Sieht schön aus, einige Objekte passen zwar irgendwie nicht ins Gesamtbild aber sieht trotzdem schön aus.


    Danke :D
    suche bereits nach geeigneten objekten, bisher leider ohne erfolg...
    anschließend werde ich das script natürlich updaten