Beiträge von IPrototypeI

    Meinste ein Timer wäre sinnvoll? In meinen Augen nicht, es muss doch iwie ein Funktion geben.
    Wie machen das denn die Großen Server? Bei No-DM Zonen , z.B. GRP?(Ich brauch das für ein Anderes System, kein NO-DM)


    Du benutzt doch bestimmt das streamer plugin lass doch die Zonen per
    CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
    erstellen.
    Bei dem Plugin hat es sogar ein callback , welches aufgerufen wird wenn ein spieler diese Zone betretet.
    OnPlayerEnterDynamicArea(playerid, areaid);



    Für weitere Infos siehe [REL] Streamer Plugin v2.6.1
    http://forum.sa-mp.com/showthread.php?t=102865

    dann addier ganz einfach solllte dies bei jeder position sein nur in eine richtung einfach einen wert dazu.


    Simple Math you know.


    zu dem hast du die funktion demenstrechend angepasst.
    also mit RNPC_SetAngleQuats

    Ohh ok wäre der Code sonst richtig ?
    Denn ich will noch paar dinge versuchen ^^


    //edit Hast du bei Material Index -1 Gemacht oder wie haste alle geändert ?


    Der code ist ja richtig ^^ siehst ja auch an den anderen Teilen des Objektes, ich hab zwar nicht auf die ganzen indexe geachtet aber bis 50 gehen die nicht :D
    du kannst immer ein schnell check machen mit einer schleife :D

    Ach das meinst du mit replacement :D
    Wenn das Objekt erstellt wurde hast du vllt den falschen index genommen?
    Ansonsten einfach mal das Dynamic bei beiden Streichen, es also mal mit den normalen Funktionen probieren.


    Naja dies sache ist bei dem Objekt es ist nicht möglich die knast wand zu verändern oder den boden bei den zellen.Hier bei diesem Objekt.


    sry falsch geschaut ich habe die -10 nicht gesehen



    so
    das liegt an dem else mit dem return 1; du brichst die schleife ab daher geht er nicht durch die ganzen tore durch.


    ocmd:zoll(playerid, params[])
    {
    new bool:no;
    for(new z=0; z < sizeof(ZollInfo); z++) {
    if(IsPlayerInRangeOfPoint(playerid,5,ZollInfo[z][zX],ZollInfo[z][zY],ZollInfo[z][zZ])) {
    GivePlayerMoney(playerid,-500);
    //SendClientMessage();
    MoveObject(ZollInfo[z][ObjectID],ZollInfo[z][zX],ZollInfo[z][zY]-10,ZollInfo[z][zZ],5);
    SetTimerEx("Tore",4000, false, "i",z);
    no = false;
    break;


    }else no=true;
    }
    if(no)return SendClientMessage(playerid, COLOR_RED,"Sie Sind an keiner Zoll Station");
    return 1;
    }
    forward Tore(id);
    public Tore(id)return MoveObject(ZollInfo[id][ObjectID],ZollInfo[id][zX],ZollInfo[id][zY],ZollInfo[id][zZ],5);


    Mein Lieber dies sind Floats daher fehlt dir .0 siehe 0 zu 0.0



    {979, 51.0, -1536.09998, 5.0, 0.0, 0.0, 82.5},

    mysql_function_query


    in dem man lernt einen Syntax zu lesen.
    mysql_function_query(connectionHandle,query[sql3],bool:cache,callback[],format[],{Float,_}:...)


    mysql_function_query(verbindung, query, cache:ja/nein, callback( Grund Threadet querys), die parameter des callbacks,die Werte wo mitgegeben werden sollen);


    also als beispiel:


    new MySql = mysql_connect(...);
    mysql_function_query(MySQL,"SELECT * FROM `table` WHERE `Spalte` = 'Eintrag'",true,"LoadAccount","i",playerid);


    forward LoadAccount(playerid);
    public LoadAccount(playerid){
    ....
    }


    Ich brauch aber kein callback oder parameter ! Kein Problem.
    mysql_function_query(MySQL,"SELECT * FROM `table` WHERE `Spalte` = 'Eintrag'",true,"","");


    brauch ich dieses true überhaupt.
    Ja das braucht man , wenn man die cache funktionen benutzt sonst kann man dies ausschalten oder an lassen
    es macht kein unterschied.

    Verstehe ich jetzt nicht so ganz :X


    Was sollen die 200/90 und 120/20 darstellen?
    Und wie kommst du auch 200 und 60? :(


    pass mal auf ich weiß das erste bild war falsch gebe ich auch zu falsch beschriftet.


    Also nehmen wir an das sind koordinaten so kannst du mit der x und y koordinate die zwei anderen punkte berechnen
    und natürlich auch die hypotenuse also die seite c mit GetPlayerDistanceFromPoint.


    //edit siehe link
    die funktion
    http://forum.sa-mp.de/san-andr…eschnipsel-41#post1324998


    Ich hoffe du konntest dein Selbstwertgefühl mit meiner korrektur des wortes Trigonometrie pushen.
    aber zurück zum Thema da gibt es auch so nette rechtwinklichen Dreiecke die man sich her leiten kann.



    CallLocalFunction


    jo habs mal umgeändert ahja ich hab noch was vergessen und zwar bei
    die fumktion noch aufzurufen so aber.


    #include <a_samp>


    new PlayerText:ueberschrift,
    PlayerText:insidetext;


    public OnPlayerConnect(playerid)
    {
    ueberschrift = CreatePlayerTextDraw(playerid,501.000000, 222.000000, "Info");
    PlayerTextDrawBackgroundColor(playerid,ueberschrift, 50);
    PlayerTextDrawFont(playerid,ueberschrift, 2);
    PlayerTextDrawLetterSize(playerid,ueberschrift, 0.320000, 1.299999);
    PlayerTextDrawColor(playerid,ueberschrift, -1);
    PlayerTextDrawSetOutline(playerid,ueberschrift, 1);
    PlayerTextDrawSetProportional(playerid,ueberschrift, 1);
    PlayerTextDrawUseBox(playerid,ueberschrift, 1);
    PlayerTextDrawBoxColor(playerid,ueberschrift, 6062591);
    PlayerTextDrawTextSize(playerid,ueberschrift, 586.000000, 0.000000);

    insidetext = CreatePlayerTextDraw(playerid,501.000000, 237.000000, "~");
    PlayerTextDrawBackgroundColor(playerid,insidetext, 50);
    PlayerTextDrawFont(playerid,insidetext, 0);
    PlayerTextDrawLetterSize(playerid,insidetext, 0.270000, 1.000000);
    PlayerTextDrawColor(playerid,insidetext, -1);
    PlayerTextDrawSetOutline(playerid,insidetext, 1);
    PlayerTextDrawSetProportional(playerid,insidetext, 1);
    PlayerTextDrawUseBox(playerid,insidetext, 1);
    PlayerTextDrawBoxColor(playerid,insidetext, 150);
    PlayerTextDrawTextSize(playerid,insidetext, 586.000000, 0.000000);
    CallRemoteFunction("ScriptInit_OnPlayerConnect","i",playerid);
    return 1;
    }


    #if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
    #else
    #define _ALS_OnPlayerConnect
    #endif
    #define OnPlayerConnect ScriptInit_OnPlayerConnect


    forward ScriptInit_OnPlayerConnect(playerid);



    stock CreateBox(playerid, color ,header[],text[],sekunden)
    {
    SetTimerEx("CloseBox", sekunden*1000, 0, "i", playerid);
    return CallLocalFunction("ShowBox","ixss",playerid,color,header,text);
    }


    forward CloseBox(playerid);
    public CloseBox(playerid)
    {
    PlayerTextDrawHide(playerid,ueberschrift);
    PlayerTextDrawHide(playerid,insidetext);
    return 1;
    }
    forward ShowBox(playerid,color, header[],text[]);
    public ShowBox(playerid,color, header[],text[])
    {
    PlayerTextDrawSetString(playerid,ueberschrift,header);
    PlayerTextDrawBoxColor(playerid,ueberschrift, color);
    PlayerTextDrawShow(playerid,ueberschrift);
    PlayerTextDrawSetString(playerid,insidetext,text);
    PlayerTextDrawShow(playerid,insidetext);
    PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
    }


    ich gebe zu ich arbeite kaum mit hooks jedoch sollte ich es mir mal angewöhnen
    bei größere sachen da damit die funktionen schneller aufgerufen werden.


    Und wie soll ich das nun konkret auf die Textdraws übertragen ?



    MfG


    Logan tut mir leid das ich das nicht ganz gelesen habe habs die ganze include nochmal neu geschrieben


    #include <a_samp>


    new PlayerText:ueberschrift,
    PlayerText:insidetext;


    public OnPlayerConnect(playerid)
    {
    ueberschrift = CreatePlayerTextDraw(playerid,501.000000, 222.000000, "Info");
    PlayerTextDrawBackgroundColor(playerid,ueberschrift, 50);
    PlayerTextDrawFont(playerid,ueberschrift, 2);
    PlayerTextDrawLetterSize(playerid,ueberschrift, 0.320000, 1.299999);
    PlayerTextDrawColor(playerid,ueberschrift, -1);
    PlayerTextDrawSetOutline(playerid,ueberschrift, 1);
    PlayerTextDrawSetProportional(playerid,ueberschrift, 1);
    PlayerTextDrawUseBox(playerid,ueberschrift, 1);
    PlayerTextDrawBoxColor(playerid,ueberschrift, 6062591);
    PlayerTextDrawTextSize(playerid,ueberschrift, 586.000000, 0.000000);

    insidetext = CreatePlayerTextDraw(playerid,501.000000, 237.000000, "~");
    PlayerTextDrawBackgroundColor(playerid,insidetext, 50);
    PlayerTextDrawFont(playerid,insidetext, 0);
    PlayerTextDrawLetterSize(playerid,insidetext, 0.270000, 1.000000);
    PlayerTextDrawColor(playerid,insidetext, -1);
    PlayerTextDrawSetOutline(playerid,insidetext, 1);
    PlayerTextDrawSetProportional(playerid,insidetext, 1);
    PlayerTextDrawUseBox(playerid,insidetext, 1);
    PlayerTextDrawBoxColor(playerid,insidetext, 150);
    PlayerTextDrawTextSize(playerid,insidetext, 586.000000, 0.000000);
    return 1;
    }
    #if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
    #else
    #define _ALS_OnPlayerConnect
    #endif
    #define OnPlayerConnect ScriptInit_OnPlayerConnect


    forward ScriptInit_OnPlayerConnect(playerid);



    stock CreateBox(playerid,header[],text[],sekunden)
    {
    SetTimerEx("CloseBox", sekunden*1000, 0, "i", playerid);
    return CallRemoteFunction("ShowBox","iss",playerid,header,text);
    }


    forward CloseBox(playerid);
    public CloseBox(playerid)
    {
    PlayerTextDrawHide(playerid,ueberschrift);
    PlayerTextDrawHide(playerid,insidetext);
    return 1;
    }
    forward ShowBox(playerid,header[],text[]);
    public ShowBox(playerid,header[],text[])
    {
    PlayerTextDrawSetString(playerid,ueberschrift,header);
    PlayerTextDrawShow(playerid,ueberschrift);
    PlayerTextDrawSetString(playerid,insidetext,text);
    PlayerTextDrawShow(playerid,insidetext);
    PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
    }


    //edit


    es sollte so gehen so gehts bei mir auch ich kann gern noch funktionen hinzufügen

    Benutz doch die normalen NPC funktionen von samp um den RNPC auszurichten. Es sollte gehen da das RNPC plugin kein eigenes NPCsystem enthält es erweiter nur
    die funktionsmöglichkeit der NPCs von samp. Jedoch brauchst du eine berechnung um den rotation des npcs zu bekommen damit er
    zum spieler steht. Da musst die position vom npc ermitteln und die des spielers und daraus die rotation den winkel errechnen.
    Trigonomie ist dein freund :D.


    Hm ich hab es jetzt mal getestet bei mir und es geht. Jedoch probier es mal wie oben schon genannt
    mysql_fetch_field ("Passwort",PlayerInfo[playerid][Passwort],SQL);


    im gesammten durchgang also 1000 mal war sogar die variante schneller. Dennoch kann ich das problem leider nicht nach vollziehen