[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Ich würde gerne eine Art Disco mir in den Gamemode packen.. Dafür würde ich gerne von einem Object aus oder innerhalb eines Vectors (koordinaten..) musik abspielen, wie in den Clubs von SA... Wie könnte man das denn mit der Soundauswahl bewerkstelligen? Ich bräuchte mal einen kleinen Gedankenstupser^^



    lg

  • Ich würde gerne eine Art Disco mir in den Gamemode packen.. Dafür würde ich gerne von einem Object aus oder innerhalb eines Vectors (koordinaten..) musik abspielen, wie in den Clubs von SA... Wie könnte man das denn mit der Soundauswahl bewerkstelligen? Ich bräuchte mal einen kleinen Gedankenstupser^^



    lg


    PlayerPlaySound
    PlayAudioStreamForPlayer


    Geht beides :)

  • Guten Tag


    Habe mich ewig nicht mehr mit PAWN und SAMP beschäftigt, bin jedoch wieder ein bisschen am rumwerkeln.
    Ich brauche deswegen wohl in der nächsten Zeit ein paar kleine Anfahrtshilfen um wieder reinzukommen.


    Zur zeit interessiert mich jedoch nur, ob es Sinnvoll ist die SetSpawnInfo Funktion zu nutzen und welche Streamer zur Zeit aktuell sind.


    Liebe Grüße
    Simon


  • 1. Ja so fern du keine Skinselection am anfang willst, wenn sich der spieler einloggt.
    2. Immer noch das Streamer Plugin von Incognito
    Link: http://forum.sa-mp.com/showthread.php?t=102865

  • Ja genau da war was mit dieser nervenden Skinselection die man anscheinend immernoch nicht manuel abschalten kann.


    Wie genau sollte ich da vorgehen wenn man nun mal als beispiel das einloggen nimmt. In Zukunft wird mein Spieler viel mehr Spawninfo haben als nur position und was diese Funktion halt beinhaltet.
    Sollte ich die einfach nutzen und das übrige mit weiteren funktionen setzen? Also als Beispiel das Interior oder die virtuelle Welt.

    • Offizieller Beitrag

    Hallo an alle User die das sehen ich versuche mir ein kleinen server aufzubauen aber komme beim login nicht weiter,da ich 4errors kriege kann mir da jemand helfen?


    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,BLAU,"Das eingegeben Passwort ist nicht lang genug, versuchen sie es bitte erneut.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren";"Abbrechen");
    return 1;
    }
    else


    Ich gucke mir nebenbei immer Videos an aber der hatte keine Fehler...
    Die errors sind:
    error 001 expected token: ",", but found ";"
    warning 215: expression has no effect
    error 001: expected token: ";", but found ")"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line

  • ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren";"Abbrechen");


    ich hab ; zu , gemacht.

    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren","Abbrechen");

  • Wollte nur mal Fragen ob diese Idee umsetzbar ist :)


    Und zwar soll sich mein Script auf Gang´s beziehen. Ich hatte das so gedacht, in Los Santos sollten es 50-100 Häuser geben, die zueinem Geld in die Gangkasse bringen, aber auch Drogen. Also eine Gang hat von 100 Häusern die hälfte (50). Wenn eine Gang die hälfte an Häusern hat, kann sie in S.F um Bizzen wie Autohäuser, Payn Spray, und anderer Bizzen Kämpfen jedoch nur wenn sie in LS genug Häuser hat. Die Bizen sollten dann zwischen 500k-1kk kosten. Um die Bizz zu verlieren braucht eine andere Gang in LS genug Häuser sowie das Geld um die Biz nachher zu kaufen. Wenn eine Gang in S.F genug Bizzen hat, die ebenfalls viel Geld in die Kasse bringen, kann man in LV um die gesamte Stadt kämpfen. D.h eine Gang der nachher eine Ganze Stadt gehört wenn sie am Anfang genug Häuser sowie Bizen hatte. Sobald eine Gang in LV angekommen ist, und diese ihr auch gehört. Kriegt diese Möglichkeiten, wie eingriff auf die Staatskasse. ein paar mehr Befehle die das Spiel geschehen verändern können.


    Wollte nur mal Fragen ob das Script Technich möglich ist ? Und wenn ja ? Vill kann mir jemand erklären wie das so abläuft ? Also keine Codes oder so Posten. Nur eine Hilfestellung geben

  • Ist möglich aber um dir zu erklären wie das geht, könnte man es besser selbst scripten
    Weil die wirklich alles zu erklären wäre viel zu viel. Versuch es doch einfach mal und wenn du irgendwo festhängst, wird dir bestimmt weiter geholfen ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ist möglich aber um dir zu erklären wie das geht, könnte man es besser selbst scripten
    Weil die wirklich alles zu erklären wäre viel zu viel. Versuch es doch einfach mal und wenn du irgendwo festhängst, wird dir bestimmt weiter geholfen ;)

    Simon:



    Okay Danke.


    Ich muss aber doch nicht unbedingt ein Haussystem verwenden oder ? Hatte mir das so gedacht damit ich es auch hinkriege :).


    Die Häuser um die gekämpft werden kann, selber zugänglich zumachen


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid==Shopexit)
    {
    SetPlayerPos(playerid,1352.1158,-1755.5951,13.3535);
    SetPlayerFacingAngle(playerid,1.1319);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,0);
    }


    Wenn somit das Haus exestiert, ein Pickup zu erstellten wo der Befehl /übernehmen eingegeben werden kann. Somit starten bei den Häusern ein 5-10 Minütiger Gangfight. Nach gewinn des Gangfighs gehört das Haus demjenigen der Gewonnen hat. Weil diese ganzen Hausysteme sind entweder verbuggt, oder sind nur für User ansich. Und selbst zu Scripten traue ich mir noch nicht zu. Deshalb wollte ich das so machen: Haus selber erstellten >>>>> Pickup einfügen womit ein GF gestartet wird >>>>> nach gewinn gehört das Haus der Gang>>>>> Und dann eine Hauskasse erstellen wo der Leader die Kasse leeren kann, oder halt das dass Geld dierekt in die Kasse geht. Sollte doch machbar sein oder ?

  • Wie kann ich bei switch nach größen unterschieden Fragen?


    das geht nur, wenn du in einem bestimmten Bereich bleiben willst.

    case 0..15: // alles von 0 bis 15
    case 16..25: //ales von 16 bis 25


    usw

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

    • Offizieller Beitrag


    ich hab ; zu , gemacht.

    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren","Abbrechen");

    danke das du das gemacht hast aber geht immer noch nicht ich habe jetzt übelst viele errors:
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(226) : warning 209: function "OnPlayerCommandText" should return a value
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(415) : error 017: undefined symbol "Registrieren"
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(421) : warning 217: loose indentation
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(436) : warning 217: loose indentation
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(436) : error 029: invalid expression, assumed zero
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(436) : error 004: function "OnPlayerClickPlayer" is not implemented
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(441) : warning 225: unreachable code
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(441) : error 029: invalid expression, assumed zero
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(441) : error 017: undefined symbol "Register"
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(444) : error 001: expected token: ";", but found ":"
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(444) : error 029: invalid expression, assumed zero
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(445) : error 017: undefined symbol "sizeoff"
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(446) : error 001: expected token: ",", but found ";"
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(448) : error 001: expected token: "-string end-", but found "-identifier-"
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(448) : error 029: invalid expression, assumed zero
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(448) : error 017: undefined symbol "key"
    D:\Rockstar Games\SAMP SERVER\gamemodes\GermanGTAReallife.pwn(448) : fatal error 107: too many error messages on one line
    und ich habe nur die zeile eingefügt.

  • Hallo an alle,


    ich bräuchte mal hilfe, und zwar möchte ich einen /spawn befehl für admins, der Spieler zu ihrem Home-/Fraktions Spawn portet.


    Das ganze soll wie folgt aussehen: Ein admin gibt /spawn (playerid) ein, es wird abgefragt, ob der admin wirklich autorisiert ist und ob der zu portende überhaupt online ist.
    am besten mit strcmp :D


    Ich hoffe ihr könnt mir helfen, da ich scheinbar nicht dazu in der lage bin :thumbup:


    Danke im Vorraus
    MFG

  • Code
    if(!strcmp("spawn", cmdtest)) {
           if(IsPlayerAdmin(playerid)) {
                    SpawnPlayer(strval(inputtext));
           }
    }


    Das is zwar ned schön, aber ich denke sowas sollte man eh selbst hinkriegen ?


    also wenn du dies schon postest dann tu dies bitte richtig die fehlt das / für den jeweiligen command würde zwar so auch gehen, wenn man spawn in das eingabemenü eingibt,
    aber nagut.
    SpawnPlayer(strval(inputtext));


    geht auch nicht strval(inputtext) das OnPlayerCommandText nicht OnDialogResponse. Zu dem musst du die eingabe splitten mit strtok oder sscanf .
    meist verwendet in jedem GF


    Code
    if(!strcmp("/spawn", cmdtest)) {
           if(IsPlayerAdmin(playerid)) {
                    new tmp[20],idx;
                    tmp = strtok(cmdtext, idx);
                    SpawnPlayer(strval(tmp));
           }
           return 1;
    }


    tmp = strtok(cmdtext, idx);
    dann strval(tmp) jedoch hat man die möglichkeit bei jedem GF noch auf ReturnUser zurück zu greifen kommt jedoch auch nicht um die verwendung mit strtok rum

  • oh shit,
    mit dem inputtext is wohl irwas schief gelaufen xD
    und zwar derbe...


    und das / schadet nicht. Wenn mans kpoiert und sich dann wundert, dass es nicht funktioniert, dann is es mir auch wayne ;)


    Aber ich würde auch niemandem empfehlen seine Cmds mit strtok zu machen.
    Sachen wie dcmd und ocmd sind vielleicht langsamer, oder ressourcenfressender, und nichtmal das denke ich.
    Aber sie sind 1000x einfacher


  • strok ist fast so schnell wie sscanf :D
    und dcmd und ocmd , etc sind command prozessoren sind zwar langsamer als strok kann man jedoch nicht vergleichen, weil es hier um das splitten geht


    xD aber trotzdem warm drüber über den Fehler " Das is zwar ned schön, aber ich denke sowas sollte man eh selbst hinkriegen ? "

  • mhm naya,
    mein code war mehr sarkastisch gemeint,
    deswegen hab ichs mir auch nicht sonderlich gut überlegt ob der funktioniert ;D


    ja, ich weis, dass das zwei unterschiedliche sachen sind.
    Was ich damit sagen wollte war, dass man bei dcmd zB noch alle parameter extra kriegt.
    da würde dann SpawnPlayer(strval(params)); passen
    und wenn man params dann noch mit inputtext verwechselt kommt so ein scheis raus ;D

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen