Beiträge von The_OTTO

    ok thx aba ich hab das gleiche problem iwie mit den fahrzeugen


    ein paar autos wollen einfach nicht kommen.....


    kann mir bitte jemand helfen??
    Ich werd jetzt dann gleich verrückt!!


    The_OTTO


    // edit:


    also das opa teil funtzt auch nicht es sind für den script zu viele objecte es sind aber gerade mal knapp über 200......

    hi


    ich hab mich schon den halben tag gewundert warum mein script nicht mehr richtig funktioniert jezt hab ich alles auseinander genommen und probiert


    Resultat:
    sobald ich ein paar CreateObject s auskommentier geht es wieder und sobald ich die ins script aufnehme strikt er wieder gibt es da eine begrenzung wie viele man haben darf?????
    wenn ja wie kann ich das problem lösen??


    bitte schnell antworten
    mfg The_OTTO

    iss mir auch klar dass da nicht mit pawno geht damit wollte ich eig nur sagen dass ich kein son noob binn der glei alles können will aba keine ahnung von niggs hat



    eig wollte ich dass mir jemand bitte sagt wie ich ein mod erstellen kann.....ich hab die Texturen schon die ich einfügen will aba wie mach ich das, dass des nur so verändert iss wenn der auf meinen Server geht??


    mfg The_OTTO

    Hi leute,


    ich will einige Fahrzeuge, Boote bzw. Flugzeuge auf meinem Server austauschen.


    Ich will aber nicht dass bei den Spielern immer die texturen so bleiben wie auf meinem Server weil ich mich darüber selber auch aufregen würde


    ich würde gern einen Mod schreiben den sich der Spieler runterlanden muss und der die nötigen anpassung vornimmt bzw. wenn man in halt nicht gestartet hat dann alles normal ist....


    ich habe schon gute grundkenntnisse in pawno kann mir bitte jemand sagen wie ich sowas schreiben kann???


    mfg The_OTTO

    kann mir bitte das hier richtigstellen so das das auch funktioniert...



    if(ausgabetext == "Falsch")
    {
    return 1;
    }



    also das problem ist folgendes:
    ich muss überprüfen ob ein dieser Variable Falsch drinsteht. Wenn ja dann soll er einfach abbrechen also return 1 ansonsten soll er weiterlaufen lassen...


    ich hoffe ihr könnt mir helfen..


    mfg The_OTTO

    naja noch nicht ganz jetzt kommt das hier:



    C:\Users\Stefan\Desktop\E&S Roleplay Server\E&S Roleplay\gamemodes\beta.pwn(3750) : error 017: undefined symbol "idx"
    C:\Users\Stefan\Desktop\E&S Roleplay Server\E&S Roleplay\gamemodes\beta.pwn(3750) : error 033: array must be indexed (variable "-unknown-")
    C:\Users\Stefan\Desktop\E&S Roleplay Server\E&S Roleplay\gamemodes\beta.pwn(3753) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.



    hi kann mir bitte jemand bewi meinem Carlock helfen





    if(strcmp(strget(cmdtext,0),"/carlock",true)== 0)
    {
    GetPlayerName(playerid, name, sizeof(name));
    format(save, sizeof(save), "Spieler/%s.ini", name);
    new Slot= strval(strget(cmdtext, 1));
    format(ausgabetext, sizeof(ausgabetext), "Auto_Privat_Abgeschlossen_%d", Slot);
    new lock = dini_Int(save, ausgabetext);
    //if(!strval(strget(Slot))
    //{
    //SendClientMessage(playerid, red, "BENUTZUNG: /carlock [ 1, 2, 3]");
    //}
    if(lock == 0)
    {
    SendClientMessage(playerid, red, "Dein Fahrzeug ist nun Abgeschlossen");
    format(ausgabetext, sizeof(ausgabetext), "Auto_Privat_Abgeschlossen_%d", Slot);
    dini_IntSet(save,ausgabetext, 1);
    SetVehicleParamsForAll(CarID[playerid][Slot][1],0,1);
    SetVehicleParamsForPlayer(CarID[playerid][Slot][1],playerid,0,0);
    }
    if(lock == 1)
    {
    SendClientMessage(playerid, green, "Dein Fahrzeug ist nun Aufgeschlossen");
    format(ausgabetext, sizeof(ausgabetext), "Auto_Privat_Abgeschlossen_%d", Slot);
    dini_IntSet(save,ausgabetext, 0);
    SetVehicleParamsForAll(CarID[playerid][Slot][1],0,0);
    SetVehicleParamsForPlayer(CarID[playerid][Slot][1],playerid,0,0);
    }
    return 1;
    }



    mein Problem:


    das auskommentierte ist natürlich falsch aber wie schreibe ich das richtig, dass wenn er hinter dem carlock nichts eingibt eben das SendClientMessage kommt



    ich hoffe es weis jemand ne lösung
    mfg The_OTTO

    hi kann mir bitte jemand bewi meinem Carlock helfen



    if(strcmp(strget(cmdtext,0),"/carlock",true)== 0)
    {
    GetPlayerName(playerid, name, sizeof(name));
    format(save, sizeof(save), "Spieler/%s.ini", name);
    new Slot = strval(strget(cmdtext, 1));
    format(ausgabetext, sizeof(ausgabetext), "Auto_Privat_Abgeschlossen_%d", Slot);
    new lock = dini_Int(save, ausgabetext);
    //if(!strval(strget(Slot))
    //{
    // SendClientMessage(playerid, red, "BENUTZUNG: /carlock [ 1, 2, 3]");
    //}
    if(lock == 0)
    {
    SendClientMessage(playerid, red, "Dein Fahrzeug ist nun Abgeschlossen");
    format(ausgabetext, sizeof(ausgabetext), "Auto_Privat_Abgeschlossen_%d", Slot);
    dini_IntSet(save,ausgabetext, 1);
    SetVehicleParamsForAll(CarID[playerid][Slot][1],0,1);
    SetVehicleParamsForPlayer(CarID[playerid][Slot][1],playerid,0,0);
    }
    if(lock == 1)
    {
    SendClientMessage(playerid, green, "Dein Fahrzeug ist nun Aufgeschlossen");
    format(ausgabetext, sizeof(ausgabetext), "Auto_Privat_Abgeschlossen_%d", Slot);
    dini_IntSet(save,ausgabetext, 0);
    SetVehicleParamsForAll(CarID[playerid][Slot][1],0,0);
    SetVehicleParamsForPlayer(CarID[playerid][Slot][1],playerid,0,0);
    }
    return 1;
    }



    mein Problem:


    das auskommentierte ist natürlich falsch aber wie schreibe ich das richtig, dass wenn er hinter dem carlock nichts eingibt eben das SendClientMessage kommt



    ich hoffe es weis jemand ne lösung
    mfg The_OTTO

    was genau ist denn das problem???? kommt er nicht vom fleg weg oder kann er sich danach nicht mehr bewegen oder was isst den das problem???


    wenn er sich nicht mehr bewegen kann dann mach doch einfach


    TogglePlayerControllable(playerid, 1);


    mfg The_OTTO

    Zu dem Beitrag von [aKoE]nanjo :


    also würd ich die CarID als Enum schreiben wär das grad wieder für die katz weil ich wieder n haufen cod hätte.....


    das was bei CarID in der Public Tank drinsteht ist ja nur der Wert was aus der funktion rauskommt da stehen eigentlich Zahlen drin
    z.b. CarID[playerid][1][1] bedeutet einfach, dass das auto dem player mit der entsprechenden playerid gehört sein erstes auto der Kategorie 1 ist (dies sind Private autos)


    Das CarID[playerid][x][y] ist ein 3 Dimensional-Array (kann sein das ich das ein bischen falsch geschrieben habe)



    naja aber eigentlich ist es eine funktion und keine Public....


    zu dem Beitrag von Goldkiller


    danke so müsste es funktionieren


    mfg The_OTTO

    ok danke das passt jetzt allerdings habe ich jetzt damit das nächste Problem....


    das ganze soll für die Tankanzeige dienen.



    public Tank(playerid)
    {
    GetPlayerName(playerid, name, sizeof(name));
    format(save, sizeof(save), "/Spieler/%s.ini", name);
    new vehicleid = GetPlayerVehicleID(playerid);
    new TypeNumber = WhatTypeNumberOfCar(vehicleid,playerid);
    new TypeName[10] = WhatTypeNameOfCar(vehicleid,playerid);
    new InWhatCar = InWhatCarIsIt(vehicleid, playerid);
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(vehicleid == CarID[playerid][InWhatCar][TypeNumber])
    {
    new speed = GetPlayerSpeed(playerid, true);
    if(speed > 0 && speed < 70)
    {
    format(ausgabetext, sizeof(ausgabetext), "Auto_%s_Verbrauch_Klein_%d", TypeName, InWhatCar);
    new verbrauch = dini_Int(save, ausgabetext);
    format(ausgabetext, sizeof(ausgabetext), "Auto_%s_Tank_%d", TypeName, InWhatCar);
    oldautotankinhalt = dini_Int(save,ausgabetext);
    if(oldautotankinhalt == 0)
    {
    TogglePlayerControllable(playerid, 0);
    }
    else
    {
    newautotankinhalt = oldautotankinhalt-verbrauch;
    format(ausgabetext, sizeof(ausgabetext), "Auto_%s_Tank_%d", TypeName, InWhatCar);
    dini_IntSet(save, ausgabetext, newautotankinhalt);
    new anzeige = newautotankinhalt /10;
    format(ausgabetext, sizeof(ausgabetext), "%d Liter", anzeige);
    TextDrawSetString(TankText[playerid], ausgabetext);
    //SendClientMessage(i,red, ausgabetext);
    }
    }
    if(speed > 70 || speed == 70)
    {
    format(ausgabetext, sizeof(ausgabetext), "Auto_%s_Verbrauch_Gross_%d", TypeName, InWhatCar);
    new verbrauch = dini_Int(save, ausgabetext);
    format(ausgabetext, sizeof(ausgabetext), "Auto_%s_Tank_%d", TypeName, InWhatCar);
    oldautotankinhalt = dini_Int(save,ausgabetext);
    if(oldautotankinhalt == 0)
    {
    TogglePlayerControllable(playerid, 0);
    }
    else
    {
    newautotankinhalt = oldautotankinhalt-verbrauch;
    format(ausgabetext, sizeof(ausgabetext), "Auto_%s_Tank_%d", TypeName, InWhatCar);
    dini_IntSet(save, ausgabetext, newautotankinhalt);
    new anzeige = newautotankinhalt /10;
    format(ausgabetext, sizeof(ausgabetext), "%d Liter", anzeige);
    TextDrawSetString(TankText[playerid], ausgabetext);
    //SendClientMessage(i,red, ausgabetext);
    }
    }
    }
    else
    {
    TextDrawSetString(TankText[playerid], ".");
    }
    }
    }


    hier meckert er jetzt vollgendens:



    C:\Users\Stefan\Desktop\E&S Roleplay Server\E&S Roleplay\gamemodes\beta.pwn(1078) : error 008: must be a constant expression; assumed zero


    die Zeise 1078 ist die Zeile in der folgendes steht:


    new TypeName[10] = WhatTypeNameOfCar(vehicleid,playerid);


    was soll das bedeuten und was kann ich dagegen tun??


    mfg The_OTTO

    Hi


    ich hab eine funktion geschrieben, in der ich mir bei inerer bestimmten eigenschaft einen wert in diesem fall einen Text zurückgeben lass:



    WhatTypeNameOfCar(vehicleid,playerid)
    {


    if(vehicleid == CarID[playerid][1][1] || vehicleid == CarID[playerid][2][1] || vehicleid == CarID[playerid][3][1])
    {
    format(ausgabetext, sizeof(ausgabetext), "%s", "Privat");
    return ausgabetext;
    }
    if(vehicleid == CarID[playerid][1][2])
    {
    format(ausgabetext, sizeof(ausgabetext), "%s", "Mieten");
    return ausgabetext;
    }
    if(vehicleid == CarID[playerid][1][3] || vehicleid == CarID[playerid][2][3] || vehicleid == CarID[playerid][3][3])
    {
    format(ausgabetext, sizeof(ausgabetext), "%s", "Arbeiten");
    return ausgabetext;
    }
    if(vehicleid == CarID[playerid][1][4] || vehicleid == CarID[playerid][2][4] || vehicleid == CarID[playerid][3][4])
    {
    format(ausgabetext, sizeof(ausgabetext), "%s", "Flugzeug");
    return ausgabetext;
    }
    return 1;
    }


    nun meckert er folgendes:



    C:\Users\Stefan\Desktop\E&S Roleplay Server\E&S Roleplay\gamemodes\beta.pwn(771) : error 079: inconsistent return types (array & non-array)


    die Zeile 771 ist die Zeile in der return 1; steht


    weiß jemand eine lösung???


    mfg The_OTTO

    Hi
    ich will ein navi menü erstellen


    also der spieler soll eben beispielsweise /navi autohausls eingeben, dann wird ein checkpoint dort gespawnt.



    wie schreib ich das am besten??
    ich habe es schon mit strval(strget(cmdtext,1)) verucht aber da werden ja nur zahlen zurückgegeben


    weiß da jemand eine Lösung???


    mfg The_OTTO

    so änlich hab ich des jetzt au gemacht ich hab nen Timer gemacht der ne function ausführt


    in der function steht dass er die zurücksetzten soll:
    public BackFunction()
    {
    for(new car = 0; car < sizeof(KauflisteAutohaus); car++)
    {
    SetVehiclePos(KauflisteAutohaus[car][Carid],KauflisteAutohaus[car][cPosX],KauflisteAutohaus[car][cPosY],KauflisteAutohaus[car][cPosZ]);
    }
    }


    die Autocords in der Datei zu speichern ok.....aber in nem enum bzw. nem new iss des viel übersichtlicher....



    also es geht danke fürs helfen Jungs ihr seid der hammer
    mfg The_OTTO
    //closed

    dafür ein tut zu schreiben ist nicht so einfach, da es halt darauf ankommt wie du deine jobs geschrieben hast....


    ich z.b. vergebe jobid´s das heißt wenn einer einen job annimmt hat er halt eine bestimmte jobid diese speicher ich dann in seiner Spieler Datei ab wenn du das auch so gemacht hast bzw. so abänderst kann ich dir helfen.....



    also als musst du dir überlegen wann der payday immer kommen soll. Ich nehm jetzt einfach mal 1 Stunde.


    Um rauszugriegen wie lange der Spieler schon spielt musst du als erstes in seine Spielerdatei follgendes schreiben lassen:
    Stunden, Minuten


    hierzu ein auszug aus meinem Cod:
    dini_IntSet(save, "Stunden", 0);
    dini_IntSet(save, "Minuten", 0);


    ok ich hoffe du kennst dich mit dini aus....
    als nächstes musst du schauen wie lange der spieler spielt das machst du am besten mit hilfe einer Function und einem Timer



    new TimeTimer;

    brauchen wir um den Timer zu deffinieren bzw. um ihn wieder zu löschen



    public OnGameModeInit()
    {
    TimeTimer = SetTimer("TimeFunction", 60000, true);
    }


    das bedeutet er soll die Function "TimeFunction" alle 60000 millisekunden == 60 sekunden aufrufen. Das true steht dafür dass er den Timer solange wiederholen soll bis wir ihn abbrechen.




    public OnGameModeExit ()
    {
    KillTimer(TimeTimer);
    }



    damit brechen bzw. löschen wir den Timer.


    als nächstes müssen wir die function schreiben:


    ich zeig dir jetzt einfach mein beispiel und erklär es dir anschließend



    public TimeFunction(playerid)
    {
    for(new i = 0; i <= MAX_PLAYERS; i++)
    {
    GetPlayerName(i, name, sizeof(name));
    format(save, sizeof(save), "Spieler/%s.ini", name);
    new oldminute = dini_Int(save,"Minuten");
    new oldstunde = dini_Int(save,"Stunden");
    new newminute = oldminute +1;


    if(newminute == 60)
    {
    new newstunde = oldstunde +1;
    dini_IntSet(save, "Minuten", 0);
    dini_IntSet(save, "Stunden", newstunde);
    }
    else
    {
    dini_IntSet(save, "Minuten", newminute);
    }
    }
    return 1;

    }


    also die for schleife brauchen wir, dass das ganze bei allen Spielern und nicht nur bei einem Spieler functioniert.


    bei fromat(save, sizeof(save), "Spieler/%s.ini", name); musst du halt deine Daten eingeben wo deine SpielerDatei eben gespeichert wird.


    als nächstes lese ich eben die Stunden und minuten aus und überprüfe ob es schon 60 sind, wenn ja soll er bei stunde eins dazutund und bei minuten 0 eintragen. Sollten es noch keine 60 Minuten sein z.b. nur 44 Minuten dann schreibt er einfach eine Minute mehr rein.


    Nun kannst du bei deinen PayDay dazuschreiben:


    einfach in die if abfrage wo er abfrägt ob es schon 60 sind mit rein. Dann kannst du abfragen welche Job id er hat und wenn er null hat dann soll er eben so und so viel arbeitslosengeld bekommen. Wenn du willst dass er das erst beantragen muss, dann mach das arbeitslosengeld einfach auf die jobid 1.



    Also das war mein erstes Tut das ich geschrieben hab
    Bitte achte nicht auf die Rechtschreibfehler.....und wenn du noch fragen hast frag einfach.....


    ich hoffe ich konnte dir helfen
    mfg The_OTTO