Beiträge von Traxter

    Habe ein klitzekleines problem, und zwar habe ich diese ptp funktion erstellt aber wenn jemand an den besagten Punkt geht wird der chat mit den client messages zugespammt. Kann man es irgendwie ändern das diese, in dem Fall 7 messages nur einmal angezeigt werden wenn der spieler den punkt betritt ?



    if(IsPlayerConnected(playerid)) //
    {
    if(PlayerToPoint(2.0,playerid,308.4610,-141.1845,999.6016))
    {
    SendClientMessage(playerid,COLOR_WEISS,"**********Beispiel**********");
    SendClientMessage(playerid,COLOR_HELLGRUEN,"111");
    SendClientMessage(playerid,COLOR_HELLGRUEN,"222 ");
    SendClientMessage(playerid,COLOR_HELLGRUEN,"333 ");
    SendClientMessage(playerid,COLOR_HELLGRUEN,"444 ");
    SendClientMessage(playerid,COLOR_HELLGRUEN,"555 ");
    SendClientMessage(playerid,COLOR_HELLGRUEN,"666");
    return 1;
    }}



    Danke schonmal im vorraus :)



    Mit freundlichen Grüßen


    Traxter

    So der hier muss aber gehen, benutze ich selbst in meinem eigenen script.



    if (strcmp("/gotols", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new car = GetPlayerVehicleID(playerid);
    SetVehiclePos(car, 1529.6,-1691.2,13.3);
    }
    else
    {
    SetPlayerPos(playerid, 1529.6,-1691.2,13.3);
    }
    return 1;
    }

    Ja das ist bei mir auch so drin aber bringt nichts :/ Man kann die models trotzdem nur ohne vorschau auswählen.







    EDIT - 22:05




    Bin immer noch dran und bekomms nicht hin, bei der modelauswahl erscheint einfach keine vorschau......wäre wirklich sehr dankbar wenn mir da jemand helfen könnte :(

    So, habe das problem nun selbst gelöst. Da das Script sich nicht den Wert holt der gespeichert wird (dh Int 0) sondern stattdessen den Wert 1 von Virtual Word benutz habe ich die funktion exit einfach ganz simpel geändert ohne an der virtual world funktion rumzubasteln da ich diese noch brauche wenn ich 1 und das selbte Haus mehrmals verwenden will ohne das sich die Spieler darin treffen^^ Einziges problem was sich daraus ergeben könnte wäre das man auch in Interior 0 landet wenn man zb Räume in Interior 2 mit welchen in Interior 3 verbindet und diese dann mit exit verlässt....aber wer macht sowas schon^^



    vorher:
    dcmd_exit(playerid,params[])
    {
    #pragma unused params


    if(GetPlayerInterior(playerid)==playerinterior[playerid])
    {
    SetPlayerPos(playerid, housex, housey, housez);
    SetPlayerInterior(playerid, playerworld[playerid]); //<<<<<<<<<<<<<<<<
    }
    else
    {
    SendClientMessage(playerid, c_r, "Du bist in keinem Haus!");
    }
    return 1;
    }


    nachher:
    dcmd_exit(playerid,params[])
    {
    #pragma unused params


    if(GetPlayerInterior(playerid)==playerinterior[playerid])
    {
    SetPlayerPos(playerid, housex, housey, housez);
    SetPlayerInterior(playerid, 0);//<<<<< interior einfach konstant auf 0 gesetzt sodass immer in int 0 gewechselt wird
    }
    else
    {
    SendClientMessage(playerid, c_r, "Du bist in keinem Haus!");
    }
    return 1;
    }




    Mal wieder ein danke an zombie dessen hinweis zu Lösung geführt hat, auch wenn meine Lösung ziemlich noobig ist^^

    Nun hat sich doch ein kleines problem aufgetan obwohl offensichtlich alles funktioniert hat.


    Und zwar



    Wenn man sich ein Haus kauft und mit /enter hineingeht kann man es mit /exit ohne probleme wieder verlassen. Betritt man es dann ein zweites mal und geht wieder raus hat man einen grafik bug,man steht dann zwar vor dem Haus aber alles ist weiß und man sieht nichst mehr ausser das Houseicon-.- und das habe ich mehrmals bei allen meinen Häusern getestet.


    Hat jemand eine ahnung woran das liegen könnte ?

    Von der Beschreibung her siehts schonmal klasse aus, werd ich direkt mal ausprobieren.



    Danke :)




    EDIT:



    Funktioniert einwandfrei und hat auch alle funktionen die ich mir vorgestellt hatte. 1000 Dank :thumbup:

    Also, da ich mit meinem KIHC Beitrag nicht weiterkomme frage ich jetzt mal anders, denn ohne fremde Hilfe werde ich bei der KIHC.inc wohl nicht weiterkommen.HAbe jetzt selbst schon ohne ende an der include rumgebastelt aber bekomme es einfach nicht hin. Denn kaum habe ich einen störfaktor beseitigt, tut sich wiedert eine neuer auf....daher....




    Kann mir jemand eine möglichkeit nennen wie ich am einfachsten Häuser erstelle die dann andere User kaufen können ? Denke mal es wird noch viele andere FS oder auch includes geben mit denen das möglich ist aber selbst bin ich leider nicht fündig geworden. Aber de erfahrenen User hier im Forum wissen da sicher besser bescheid :)



    Mit freundlichen Grüßen


    Traxter

    So, die KIHC.inc läuft als include auch prima aber 2 problem habe ich jetzt.



    1. Alle commands die eigentlich dem admin Team zugewiesen sind funktionieren nun auch wenn man kein admin ist^^ *ratlos*


    2. Wenn man sich ein Haus kauft spawnt man immer im Haus aber man kommt nicht mehr raus da die KIHC Befehle iwie nicht reagieren :/ Nur wenn man von aussen durch den eingang ins Haus geht kommt eine auflistung der Befehle und mann kann ohne probs mit /exit das Haus verlassen....da man aber als Käufer oder Mieter im Haus spawnt......no way......



    Gibts denn niemanden der schonmal mit KIHC rumgebastelt hat und mir da weiterhelfen kann ?


    Falls mir jemand ein gutes Häuser FS empfehlen kann wär ich natürlich auch nicht abgeneigt was anderes auszuprobieren nur die KIHC gefällt mir bis jetzt sehr gut da man damit sehr einfach und schnell Häuser erstellen kann. Nur diese beiden probs ärgern mich noch^^

    Ich möchte in meinem gm gern mit strings arbeiten da sich dadurch sehr viele nette möglichkeiten ergeben. Um daraus zu lernen habe ich mir hier im forum verschiedenste funktionen mit strok,strget etc angesehen udn testweise auch welche in meinem gm übernommen bevor ich anfange selbst welche zu machen.



    Aber das problem ist das ich immer meldungen bekomme wie zb "strok undefined symbol" etc.....




    Was muss ich tun um strok nutzen zu können bzw wie definiere ich es ? Zb hatte ich mir eine ganz simple kick funktion überlegt.....in diesem bespiel würde ich mich selbst kicken, würde ich an stelle von playerid eine id reinschreiben würde die eingegebene id gekickt werden wenn ich richtig liege. Wie kann ich es nun machen das anstelle von playerid die eingegebene id gekickt wird zb. /kick 11 ? Daher die eingebene zahl müsste vom script eingelesen werden und an dies stelle gesetzt werden wenn jemand den befehl eingibt.


    if (strcmp("/kick", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == TEAM_ADMIN)
    {
    Kick(playerid);
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT, "Du Bist Kein Admin !");
    }
    return 1;
    }}



    Wenn jemand eine einfachere lösung hat bin ich natürlich auch nicht abgeneigt^^



    P.S Habe schon die sufu benutzt und verschiedenste kick funktionen angesehen, hat mich aber nicht weitergebracht.............







    EDIT 1


    Habe es nun so gemacht


    if (strcmp("/kick", cmdtext, true, 10) == 0)//setze Armor auf 0
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == TEAM_ADMIN)
    {
    new giveplayer = strval(strget(cmdtext, 1));
    Kick(giveplayer);
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT, "Du Bist Kein Admin !");
    }
    return 1;
    }}



    aber


    "undefined symbol "strget""



    EDIT 2



    Ok hat sich erledigt, hab es nun hinbekommen strget zu definieren




    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }

    Ja wenn man admin ist kommt ja keine fehlermeldung nur halt wenn man kein admin ist kommt immer "unknown command"




    Aber hat geklappt, dankeschön....hab das return ganz unten einfach auf 1 gesetzt und jetzt kommt kein "unknown command" mehr :)

    if (strcmp("/gotolsairport", cmdtext, true, 10) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == TEAM_ADMIN)
    {
    SetPlayerPos(playerid, 1682.5125,-2247.0383,13.5511);
    return 1;
    }}}



    Achso nicht wundern, die meldung "Du bist kein Admin" hatte ich wieder rausgenommen das sie jedesmal iwie den chat zugespammt hat.

    Habe da ein ganz kleines problem,und zwar habe ich ein admin Team erstellt und Befehle zugewiesen. Wenn man jetzt kein admin ist steht dort " Du bist kein Admin" aber zusätzlich kommt dann immer "unknown command".



    Gibt es eine möglichkeit das "unknown command" irgendwie wegzubekommen ?




    Mit freundlichen Grüßen


    Traxter

    Habe mich in sachen scripting in lezter Zeit ganz gut gemacht aber da ich nicht sonderlich viel fachwissen in dieser hinsicht habe bereiten mir sachen wie zb. strtok,strcmp, strcmp - sprich alle str noch kopfzerbrechen. Kann mir das eventuell jemand begreiflich machen sodass ich es auch verstehen und einsetzen kann ? Wenn möglich sogar anhand eines bespieles erklären ?



    Mit freundlichen Grüßen


    Traxter

    2 Fahrzeuge können nicht die gleiche ID haben da sie der reihenfolge nach geladen werden. Da erst der GM und dann die FS geladen werden müsste es so aussehen..........


    Angenommen es sind 100 Fahrzeuge im GM und 50 im FS dann.................



    ID 1-100 im GM


    ID 101-150 im FS



    Wenn aber im FS schon carids eingetragen sind könnte es unter umständen sein das es carids sind die im GM den streifenwagen gehören.Daher ingame mal mit /oldcar (einsteigen,aussteigen und dann /oldcar - vorrausgesetzt es ist gf) gucken welche ids die zu verkaufenden fahrzeuge tatsächlich haben und im FS korrigieren.

    Habe da ein kleines problem, und zwar werden bei der model auswahl die models selbst nicht angezeigt,man kann beim connecten zwar auswählen aber ohne vorschau.Kann mir da auf die schnelle jemand nen tip geben worans liegt ?



    public OnGameModeInit()
    {
    AddPlayerClass(101,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(144,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(15,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(180,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(184,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(185,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(188,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(19,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(20,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(206,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(21,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(22,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(240,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(28,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(44,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(48,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(47,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(59,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(60,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(7,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(69,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(93,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(233,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(55,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(56,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(214,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(40,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(41,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(12,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(216,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(151,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(152,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(178,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(243,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(244,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(245,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(246,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(256,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(257,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);
    AddPlayerClass(63,1478.6328,-1640.3746,14.1484,184.0089,0,0,0,0,0,0);


    return 1;
    }