Lade dir den Include utils herunter und füge in deinem /pawno/include ein.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
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
-
-
Lade dir den Include utils herunter und füge in deinem /pawno/include ein.
Danke.
-
Hey ich habe eine Frage und zwar habe ich mal bei irgendeinem Script gesehen das wenn jemand ADUTY geht er z.B den Servertag [xXx] vor dem Namen stehen hat und wenn er wieder aus dem Dienst geht es wieder weg ist wie bekomme ich sowas hin?
Also wenn er nicht Aduty ist heißt er z.B so:
Günter
Und wenn er Aduty ist:
[xXx]Günter
-
Hey ich habe eine Frage und zwar habe ich mal bei irgendeinem Script gesehen das wenn jemand ADUTY geht er z.B den Servertag [xXx] vor dem Namen stehen hat und wenn er wieder aus dem Dienst geht es wieder weg ist wie bekomme ich sowas hin?
Also wenn er nicht Aduty ist heißt er z.B so:
Günter
Und wenn er Aduty ist:
[xXx]Günter
Code
Alles anzeigennew bool:AdminDuty[MAX_PLAYERS]; ocmd:aduty(playerid, params[]) { if(!AdminDuty[playerid]) // Spieler geht in den Admin-Dienst { new AdminTagName[32]; format(AdminTagName, 20, "[xXx]%s", SpielerName(playerid)); SetPlayerName(playerid, AdminTagName); AdminDuty[playerid] = true; return 1; } // Er geht aus dem Admindienst SetPlayerName(playerid, SpielerName(playerid)); AdminDuty[playerid] = false; return 1; }
Wichtig ist noch, dass SpielerName(playerid) den Spielernamen bei OnPlayerConnect o.Ä. speichert und SpielerName(playerid) dann auch später gespeichert wird, so dass du keine Probleme beim Ausloggen etc. bekommst
-
public OnPlayerConnect(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
SendClientMessage(playerid,0xFFAA00FF,"[Server]: Welcome back");
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSW ORD,"Login","Your Account was found. Login.","Login","Cancel");
return 1;
}
else
{
SendClientMessage(playerid,0x00B9FFFF,"Welcome to "ClanTag" DEATHMATCH /killme to Respawn!");
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_IN PUT,"Register","Choose a Password to register","Register","Cancel");
return 1;
}
if(sSpieler[playerid][Deaktiviert] == 1) // Zeile 138 "Unreachable code"
{
Kick(playerid);
return 1;
}
return 1;
} (ende von onplayerconnect)// "Deaktiviert" ist ein Befehl für einen administrator, bestimmte accouns zu deaktivieren, der spieler soll gekickt werden,
wenn "deaktiviert" positiv ist(138) : warning 225: unreachable code
Wie kann ich das beheben ?
-
Code
Alles anzeigenCOMMAND:setsteuern(playerid,params[]) { if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist."); if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!"); if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back"); if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison."); if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt."); if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis."); if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert."); if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt."); new string[1450]; if(isPlayerInFrakt(playerid,16) || isPlayerAnAdmin(playerid,6) && Spieler[playerid][pAdminOnduty] == true) { if(!IsPlayerInRangeOfPoint(playerid,1.5,362.7142,171.4543,1025.7891))return SendClientMessage(playerid,GRAU,"Du bist nicht am Steuer-Verwaltungs Computer."); strcat(string,"Lohnsteuer\nKirchensteuer\nMehrwertsteuer\nGrundsteuer\nOrdnungsamtstandgebühr\nSolidaritätssteuer\nReichensteuer\nFahrzeuganmeldegebühr\nArbeitslosengeld\nBlitzertoleranz\nSan Andreas Police Department\n"); strcat(string,"Federal Bueral of Investigation\nSan Andreas Fire Department\nSan Andreas Army\nPublic Order of San Andreas\nGoverment of San Andreas\nJobsperre Freikaufpreis\nAngelschein\nPersonalausweis\nWaffenschein\nParkgebühr\nSteuer Konzept"); ShowPlayerDialog(playerid,DIALOG_STEUERN,DIALOG_STYLE_LIST,""#SERVERFARBE"Steuer{FFFFFF}: Allgemein",string,"Auswählen","Abbrechen"); return 1; } return SendClientMessage(playerid,GRAU,"Du bist nicht in der jeweiligen Fraktion./Du bist nicht im Admindienst."); }
Hallo,
Ich habe beim Dialog ein Problem das es nur bis San ANdreas Fire Department angezeigt wird beim nexten nur Sa der rest wird nicht angezeigt warum?
-
Eventuell mal den Wert vom String erhöhen?
-
Eventuell mal den Wert vom String erhöhen?
habe ich bereits war auf 450 habe es auf 1450 erhöht
-
Setz den Wert des Strings auf 512.
-
Setz den Wert des Strings auf 512.
http://www.bilder-upload.eu/sh…ile=5858cb-1507649394.png
bleibt gleich
-
-
Ich erhalte Fehler, sehe aber keinen:
CodeC:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25206) : error 075: input line too long (after substitutions) C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : error 037: invalid string (possibly non-terminated string) C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : error 017: undefined symbol "Dsso" C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : error 017: undefined symbol "Tankstelle" C:\Users\palwal\Documents\v2\gamemodes\gvr.pwn(25207) : fatal error 107: too many error messages on one line
Codeif(listitem == 2) //Tankstellen { ShowPlayerDialog(playerid, DIALOG_GPS_TANKE, DIALOG_STYLE_LIST, "GPS", "Dsso Tankstelle Los Santos\nJet Tankstelle Los Santos\nGasso Dillimore\nAgip Tankstelle Montgomery\nbft Las Venturas\nbft Las Venturas West\nTotal Las Venturas\nDDsso Tankstelle Las Venturas\npalwalGo Tankstelle Las Venturas\nAral Tankstelle Bone County\nbft Tankstelle Fort Carson\nJet Tankstelle Tierra Robada\nAral Tankstelle El Quebrados\nTotal Tankstelle San Fierro\nGif Tankstelle San Fierro\nAral Tankstelle Los Santos Nord\nGvR Tankstelle Whetstone", "Auswählen", "Abbrechen"); }
Need Help -
Steht doch schon im Fehler "input linee too long".
Kürze deinen String, indem du entweder nach einigen Zeichen am Ende ein "\" setzt und in der nächsten Zeile weiter schreibst oder via strcat dein String zusammenfügst.
-
Kürze deinen String, indem du entweder nach einigen Zeichen am Ende ein "\" setz
Das bringt nichts, der Compiler interpretiert das dann trotzdem als eine Zeile leider
Man muss den via strcat, strins, format oder ähnlichem zusammenfügen, ist leider ein Compiler Bug
-
@palwal
Anstatt dafür jetzt extra den String zu kürzen bzw zusammenzufügen kannst du es auch so schreiben:ShowPlayerDialog(playerid, DIALOG_GPS_TANKE, DIALOG_STYLE_LIST, "GPS","Dsso Tankstelle Los Santos\nJet Tankstelle Los Santos\nGasso Dillimore\nAgip Tankstelle Montgomery\nbft Las Venturas\nbft Las Venturas West\nTotal Las Venturas\nDDsso Tankstelle Las Venturas\npalwalGo Tankstelle Las Venturas\nAral Tankstelle Bone County\nbft Tankstelle Fort Carson\nJet Tankstelle Tierra Robada\nAral Tankstelle El Quebrados\nTotal Tankstelle San Fierro\nGif Tankstelle San Fierro\nAral Tankstelle Los Santos Nord\nGvR Tankstelle Whetstone", "Auswählen", "Abbrechen");
Dann siehts zwar nicht mehr ganz so schön aus, du brauchst aber keine extra Funktionen. (Geht natürlich nur in diesem Fall. Wenn dein String noch länger wird, wirds auch mit der Methode knapp) -
forward Spieler(playerid);
public Spieler(playerid)
{
if(Players == 1)
{
SendClientMessageToAll(GRAU,"[OOC] Es sind nicht genug Spieler zum Starten da!");
for(new i=0; i<MAX_PLAYERS; i++)
{
TogglePlayerControllable(i,0);
}
}
if(Players > 1)
{
SendClientMessageToAll(GRAU,"[OOC] Es sind genug Spieler zum Starten da!");
for(new i=0; i<MAX_PLAYERS; i++)
{
TogglePlayerControllable(i,1);
}
}
return 1;
}
forward countdown(sekunden);
public countdown(sekunden)
{
if(sekunden < 0)
{
TextDrawHideForAll(textid); //Hier für alle dann verschwinden lassen
TextDrawDestroy(textid); //Und dann ggf zerstören
for(new i = 0; i != MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
AddStaticVehicle(603,1996.3143,2107.4868,10.5815,270.9597,75,77); // car 1
AddStaticVehicle(597,2217.6785,-1144.3297,25.5638,246.3326,0,1); // car cop
AddPlayerClass(0,2217.9575,-1142.6348,25.8046,246.3701,0,0,0,0,0,0); // person cop
AddStaticVehicle(597,2225.3459,-1147.9573,25.5848,241.1193,0,1); // car cop 1
AddPlayerClass(0,2225.7766,-1146.2927,25.8052,241.1622,0,0,0,0,0,0); // person cop 1
AddStaticVehicle(598,2231.1885,-1147.3685,25.5765,226.9986,0,1); // car cop 1
AddPlayerClass(0,2232.0166,-1145.8538,25.7969,227.0359,0,0,0,0,0,0); // person cop 2
AddPlayerClass(0,2207.8762,-1131.3096,25.6250,252.5959,0,0,0,0,0,0); // cop person 3
AddStaticVehicle(599,2207.8901,-1133.1573,25.8234,252.5959,0,1); // car cop 4
}
return 0;
}
new string[64];
format(string,sizeof(string),"Die Runde startet in %d Sekunden",sekunden);
TextDrawSetString(textid, string);
sekunden--; //und dann jeweils Sekunden verringern
SetTimerEx("countdown", 1000, 0, "i", sekunden); //Aufrufen, solange Sekunden >= 0 sind
return 1;
}Warum spawnt der Spieler nicht nach 10 Sekunden?
-
Warum spawnt der Spieler nicht nach 10 Sekunden?
Ich verstehe nicht, was du da versuchst.
AddPlayerClass gibt die Möglichkeit einen Skin zu wählen in der ClassSelection.
Da musst du ihn auch mal rein setzen, das könntest du mit ForceClassSelection und SpawnPlayer tun.
Allerdings ist bei AddPlayerClass der erste Parameter die Modelid, wo du überall 0 hast.
Was hat das für einen Sinn? Er würde immer den CJ Skin angezeigt bekommen.
Und du erstellst überall Autos für jeden Spieler...die verwenden aufeinander gestapelt xD
Bei 20 Spielern, macht das 100 Autos und jeweils 20 aufeinander xD gg
-
Beitrag von reaL. ()
Dieser Beitrag wurde vom Autor gelöscht (). -
Ganz einfache Lösungsmöglichkeiten:
- Du erstellst in der MySQL Datenbank auch Fraktion 5. Natürlich alles leer und mit name Test oder sowas. Das einzige was du dann beachten musst ist, dass da niemand reingesetzt werden kann.
- Oder du machst dass Fraktion 6 zu Fraktion 5 wird. Anschließend wird später Fraktion 5 zu 6. Ich meine, das juckt niemanden welche ID da was hat.
-
Ganz einfache Lösungsmöglichkeiten:
- Du erstellst in der MySQL Datenbank auch Fraktion 5. Natürlich alles leer und mit name Test oder sowas. Das einzige was du dann beachten musst ist, dass da niemand reingesetzt werden kann.
- Oder du machst dass Fraktion 6 zu Fraktion 5 wird. Anschließend wird später Fraktion 5 zu 6. Ich meine, das juckt niemanden welche ID da was hat.
Es geht ja daraum dass man dann Später Fraktionen auch einfach Löschen soll wenn es Geht und dann nicht alles ändern muss.
-
Beitrag von Kaliber ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: #fail (). -