Beiträge von apoolecu

    Dieses Ding, kann man doch gar nicht Tool nennen. Es hat keine nennenswerte Funktionen? Bitte sehe dir doch andere Tools an und lern noch ein wenig Script...


    MfG: Apoolecu

    Hey,


    danke schon mal jetzt habe ich aber das Problem das mein TankSystem mit Floats funktioniert :D jetzt muss ich das ja umrechnen in einen String habe ich via. strval(string); gemacht.
    Problem ist nun bei mir ich habe if und eine else if abfrage aber es wird beides durch geführt :S

    Hey leute,


    ne ich habe es gedacht:


    Player X geht an eine Tankstelle und gibt /tanken ein und erscheint z.B. via TextDraw die Zahl wie viel noch rein passt diese sollte sich dann aber auch Aktualisieren. Daher sollte es nicht
    einfach auf MaxGas gesetzt werden :D finde ich irgendwie unreal :S

    Hey leute,


    könnte mir jemand evtl einen Countdown machen der abfragt ob noch etwas in den Tank rein passt bzw. ob er voll ist.


    Ist er nicht voll soll er cmd. eine Nachricht schicken ,,Der Tank ist nicht voll" bei voll sein ,,Der Tank ist voll"


    würde mich freuen wenn jemand so etwas machen könnte, ich habe es selber probiert aber bei mir stürtzt der Server wegen dem Timer ab :S



    MfG: Apoolecu

    Hey leute,


    habe mir etwas zu recht geschrieben.


    Der Code wäre:
    public VehicleTanken(playerid)
    {
    for(new i=0; i< MAX_TANKEN; i++)
    {
    new TankeL[playerid] = CarInfo[GetPlayerVehicleID(playerid)][aBenzin] - CarInfo[GetPlayerVehicleID(playerid)][aMBenzin];
    if(!TankeL[playerid] = 0)
    {
    CarInfo[GetPlayerVehicleID(playerid)][aBenzin] ++;
    TankeL[playerid] --;
    tanke[i][tLiter] --;
    }
    else if(TankeL[playerid] = 0)
    {
    SendClientMessage(playerid,COLOR_RED,"Das Fahrzeug ist voll getankt.");
    SendClientMessage(playerid,COLOR_RED,"Schönen Tag ihnen noch.");
    tanke[i][tLiter] --;
    KillTimer(VehicleTanken);
    }
    }
    return 1;
    }



    die Fehler aber sind:


    C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : error 008: must be a constant expression; assumed zero
    C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : error 008: must be a constant expression; assumed zero
    C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : error 036: empty statement
    C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.4.pwn(2303) : fatal error 107: too many error messages on one line


    der Fehler ist angeblicht in der Zeile new TankeL[playerid];


    woran liegt das :S?


    MfG: Apoolecu

    Hey Leute,


    was haltet ihr davon?


    Zitat

    Merkblatt
    Arbeitnehmerfreizügigkeit in der EU–
    Neuregelung ab 1. Mai 2011
    Arbeitnehmer aus den neuen EU-Beitrittsländern genießen ab dem 1. Mai 2011
    uneingeschränkte Arbeitnehmerfreizügigkeit. Das heißt, dass zur Arbeitsaufnahme
    in Deutschland keine Arbeitserlaubnis mehr notwendig ist.


    Quelle: http://www.scribd.com/doc/3973…Neuregelung-ab-1-Mai-2011


    würde gerne eure persönliche Meinung hören.

    Hey,


    janein von SAMP her ist es nicht möglich aber es wurde ein Audio Plugin entwickelt, mit dem man Musik Streamen bzw. abspielen kann.
    Benutze mal die SuchFunktion und suche da nach Audio Plugin :)
    findest bestimmt was.


    MfG: Apoolecu

    Hallo,


    hier in diesem Tutorial erkläre ich euch wie ihr ein Dynamisches Car System erstellt.


    Benötigt wird:


    -Dini
    -Fortgeschrittenes PAWN wissen


    Include einbinden:


    #include <dini>


    Ganz oben unter #include <a_samp>


    Enum Struktur:


    enum Car_System
    {
    aID,
    aModel,
    Float:aX,
    Float:aY,
    Float:aZ,
    Float:aAngle,
    }


    new CarInfo[MAX_VEHICLES][Car_System];


    Hier haben wir nun eine Enum Struktur erstellt, diese enthält:


    -Die Model ID & die Car ID & die Floats X,Y,Z u. Angle


    für was brauchen wir das?


    Das wird gebraucht um das Car beim Laden an diesen Punkten zu erstellen, wenn wir jetzt aber keine Model haben wir irgendwo ein Auto gespawnt sprich ihr habt 2 Cars
    das eine ist ein Infernus das andere ein Sultan. Der Sultan ist in LS, das andere Fahrzeug hingegen in LV. Wir starten das Script neu und schwups werden die Cars an diesen Orten gespawnt aber sie haben nicht die gewünschte Model ID.


    die Car ID hingegen ist dazu da für ein Abfrage ob man Besitzer ist ( Ist hier im Tutorial nicht enthalten!) dazu wird die Car ID abfragt wer denn der Besitzer ist.


    CarInfo ist dazu da, das jedes Vehicle diese Enum Struktur bekommt.



    Speichern & Laden:


    forward SpeicherFahrzeug(carid);
    forward LadeFahrzeug(carid);


    wie die Include oben im Script einbringen



    public SpeicherFahrzeug(carid)
    {
    if(carid <= 0)
    {
    return 1;
    }
    CarInfo[carid][aModel] = GetVehicleModel(carid);
    new str[25];
    format(str, sizeof(str), "%d.car", carid);
    dini_Create(str);
    {
    dini_IntSet(str,"ID",CarInfo[carid][aID]);
    dini_FloatSet(str,"aX", CarInfo[carid][aX]);
    dini_FloatSet(str,"aY", CarInfo[carid][aY]);
    dini_FloatSet(str,"aZ", CarInfo[carid][aZ]);
    dini_FloatSet(str,"aAngle", CarInfo[carid][aAngle]);
    dini_IntSet(str,"Model",CarInfo[carid][aModel]);
    }
    return 1;
    }


    Ganz unten im Script einfügen


    hier bekommt jedes Car eine eigene Datei zugewiesen die im CMD (Weiter unten) die von der Car ID bestimmt wird ausgenommen die Car ID: 0
    sprich Fahrzeug Nummer 1 hat die Datei Nummer 1.car


    dini_IntSet speichert ein Integer z.B. Model ist ein Integer
    dini_FloatSet speichert einen Float wert
    dini_Create erstellt eine Datei :)


    (Ich verweise hiermit auf ein Dini Tutorial : [ SCRIPTING ] Dateiensystem dini - Dateien erstellen, löschen, speichern, laden)


    public LadeFahrzeug(carid)
    {
    new str[25];
    format(str, sizeof(str), "%d.car", carid);
    if(carid == 0)
    {
    return 1;
    }
    if(fexist(str))
    {
    CarInfo[carid][aID] = dini_Int(str, "ID");
    CarInfo[carid][aX] = dini_Float(str, "aX");
    CarInfo[carid][aY] = dini_Float(str, "aY");
    CarInfo[carid][aZ] = dini_Float(str, "aZ");
    CarInfo[carid][aAngle] = dini_Float(str, "aAngle");
    CarInfo[carid][aModel] = dini_Int(str, "Model");
    }
    return 1;
    }


    Ganz unten im Script einfügen


    dini_Int lädt eine Integer
    dini_Float lädt einen Float Wert herraus


    hierbei wird mit if(fexist(str)) überprüft ob die Datei existiert wenn nicht dann passiert nicht.



    for(new i = 1; i < MAX_VEHICLES; i++)
    {
    new string[32];
    format(string, sizeof(string), "%d.car", i);
    if(fexist(string))
    {
    LadeFahrzeug(i);
    CreateVehicle(CarInfo[i][aModel], CarInfo[i][aX], CarInfo[i][aY], CarInfo[i][aZ], CarInfo[i][aAngle],0, 0, -1);
    }
    }


    dies kommt unter OnGameModeInit() rein.
    hierbei wird eine ForSchleife durch gelaufen die MAX_VEHICLES entspricht (ich glaube das ist 2000) bei jeder Datei wo existiert, wird ein Fahrzeug mit der Model ID aus der Datei erstellt und genau an den X,Y,Z u. Angle Kordinaten gespawnt.



    CMD:


    new cmd[256], idx; //Strtok
    cmd = strtok(cmdtext, idx); // Strtok
    if(strcmp(cmd, "/veh", true) == 0)
    {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_RED, "BENUTZUNG: /veh [modelid(400-611)]");
    return 1;
    }
    new carid, Float:x, Float:y, Float:z, Float:angle, pname[MAX_PLAYER_NAME];
    GetPlayerPos(playerid, x,y,z);
    GetPlayerFacingAngle(playerid, angle);
    carid = strval(tmp);
    if(GueltigesFahrzeug(carid))
    {
    GetPlayerName(playerid,pname,sizeof(pname));
    new id = CreateVehicle(carid, x+2,y,z,angle+4,0,0,-1);
    CarInfo[id][aID] = id;
    CarInfo[id][aX] = x;
    CarInfo[id][aY] = y;
    CarInfo[id][aZ] = z;
    CarInfo[id][aAngle] = angle;
    CarInfo[id][aModel] = carid;
    SpeicherFahrzeug(id);
    SendClientMessage(playerid, COLOR_RED, "Car gespawnt!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "IDs von 400 bis 611 sind nur erlaubt!");
    }
    return 1;
    }


    ich denke dies klärt sich von selbst, wenn man alles vorher durch gelesen hat das einzigste wäre, das hier die Enum Struktur die Werte zugewiesen bekommt z.B. /veh 451
    das Fahrzeug hat damit die Model ID 451.



    forward GueltigesFahrzeug(carid);


    bei wie bei den anderen Forward erfolgt die einfügung!


    public GueltigesFahrzeug(carid)
    {
    if(carid >= 400 && carid <= 611)
    {
    return 1;
    }
    return 0;
    }


    ganz Unten im Script wie die anderen Publics
    hier bei wird die eingabe abgefragt ob sie in dem Rahmen der Model IDs ist


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


    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;
    }


    Hier erfolgt keine Erklärung wenn benötigt im SAMP Wikipedia nachsehen


    Ich hoffe euch hat das Tutorial gefallen :)



    -MfG: Apoolecu

    Hey,


    ich hab mir etwas zurecht gescriptet, wenn man KEY_WALK betätigt, das man in ein Interior kommt problem ist nur das ganze passiert nicht sprich POS wird geändert aber von einem Interior ist nichts zusehen..


    Code: if (PRESSED( KEY_WALK ))
    {
    for(new i = 1; i < MAX_TANKEN; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,1,tanke[i][tPX], tanke[i][tPY], tanke[i][tPZ]))
    {
    SetPlayerInterior(playerid,tanke[i][tInt]);
    // SetPlayerVirtualWorld(playerid, tanke[i][tID]+1);
    SetPlayerPos(playerid, tanke[i][tIX],tanke[i][tIY],tanke[i][tIZ]);
    }
    }
    }


    so er soll aus der datei die Cords auslesen in diesem Fall wären es die von dem Dialog:


    Code:
    if(listitem == 0) //Groß I
    {
    new stringT[25],Float:TX1,Float:TY1,Float:TZ1;
    GetPlayerPos(playerid, TX1,TY1,TZ1);
    Tankeerstellt ++;
    TankeDialog = Tankeerstellt;
    tanke[TankeDialog][tX] = TX1;
    tanke[TankeDialog][tY] = TY1;
    tanke[TankeDialog][tZ] = TZ1;
    tanke[TankeDialog][tInt] = 17;
    tanke[TankeDialog][tIX] = -25.884;
    tanke[TankeDialog][tIY] = -185.868;
    tanke[TankeDialog][tIZ] = 1003.549;
    format(stringT,sizeof stringT,"Tankstelle (%d) erstellen: Liter angeben",TankeDialog);
    ShowPlayerDialog(playerid,DIALOG_TerstellenL,DIALOG_STYLE_INPUT,stringT,"Gebe nun die Liter anzahl ein\n100L-2000L","Weiter","Zurück");
    }


    in der Datei steht auch alles schön richtig



    ich bin gerade nur am verzweifeln -.-

    Hey,


    ich habe ein CMD geschrieben, der Auslesen soll ob ich an einer Tankstelle bin, wenn ja soll ein Dialog erscheinen
    Probem ist jetzt bei dem Code passiert bei Else das eine Nachricht kommt mit ,,0" diese erscheint aber immer egal obich in der nähe bin oder nicht, sprich das vor Else wird
    garnicht dran genommen :O


    if(strcmp(cmd,"/ctankstellenpickup", true) == 0)
    {
    printf("TankeDialog ID = %d",TankeDialog);
    if(IsPlayerInRangeOfPoint(playerid,20.0,tanke[TankeDialog][tX],tanke[TankeDialog][tY],tanke[TankeDialog][tZ]))
    {
    ShowPlayerDialog(playerid,DIALOG_TerstellenP,DIALOG_STYLE_MSGBOX,"Tankestelle erstellen: Pickup","Möchtes du hier das Pickup erstellen?","Ja","Nein");
    SendClientMessage(playerid,COLOR_RED,"1");
    print("TankeErstellt!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"0");
    }
    return 1;
    }


    habe schon gedacht das es am Radius liegt, kann ja aber auch nicht sein :S

    Hey,


    nein der Print text kommt auch nicht :S


    habe es jetzt mal so probiert:


    if(strcmp(cmd,"/ctankstellenpickup", true) == 0)
    {
    for(new t = 1; t < MAX_TANKEN; t++)
    {
    if(IsPlayerInRangeOfPoint(playerid,20.0,tanke[t][tX],tanke[t][tY],tanke[t][tZ]))
    {
    ShowPlayerDialog(playerid,DIALOG_TerstellenP,DIALOG_STYLE_MSGBOX,"Tankestelle erstellen: Pickup","Möchtes du hier das Pickup erstellen?","Ja","Nein");
    print("TankeErstellt!");
    }
    }
    return 1;
    }


    kommt aber auch nichts -.-


    mfG: Apoolecu