Einfach das crashdetect Plugin (so bzw. dll) in den plugins Ordner legen und in der server.cfg eintragen, bei plugins.
[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
-
-
Das kannst du so machen:
Cfor(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnnected(i) || IsPlayerNPC(i)) continue; if(IsPlayerInRangeOfPoint(i, range, x, y, z)) { SetPlayerPos(i, x_zu, y_zu, z_zu); } }
range, x, y, z und x_zu, y_zu, z_zu musst du natürlich jeweils mit den Koordinaten bzw. Werten ersetzen, die da drin stehen sollen.
Hey, danke erstmal für den netten Code. Ich habe daraus ein Befehl gemacht, nur hatte ich ein kleines Problem habe es aber behoben indem ich die IsPlayerConnected Abfrage rausgemacht habe. Meine Frage ist, kann das zu irgendwelchen Problem kommen?Befehl sieht so aus:
-
Dann muss der Server halt die komplette Schleife durchgehen, auch wenn nur einer connected ist.
Warum hast du die Abfragen denn raus genommen? -
Dann muss der Server halt die komplette Schleife durchgehen, auch wenn nur einer connected ist.
Warum hast du die Abfragen denn raus genommen?Sagt mir "error 017: undefined symbol "IsPlayerConnnected" obwohl es doch eigentlich definiert ist.
-
IsPlayerConnnected
Da hat Jeffry sich wohl aus Versehen verschrieben^^
Da ist einfach nur ein n in Connected zu viel -
Einfach das crashdetect Plugin (so bzw. dll) in den plugins Ordner legen und in der server.cfg eintragen, bei plugins.
wie gesagt dann steht in der konsole nur dass das plugin nicht geladen wurde
-
wie gesagt dann steht in der konsole nur dass das plugin nicht geladen wurde
Stell sicher das dass Plugin in der server.cfg eingetragen ist, und wichtig ist, falls du ein Linuxserver besitzt muss die Endung am Ende vorhanden sein, sprich crashdetect.so etc.. -
Stell sicher das dass Plugin in der server.cfg eingetragen ist, und wichtig ist, falls du ein Linuxserver besitzt muss die Endung am Ende vorhanden sein, sprich crashdetect.so etc..
plugins mysql sscanf crashdetect
das steht bei mir in der cfg in der letzten zeile -
Leere den Server Log und starte dann den Server erneut, dann poste was im Server Log steht.
Bitte in einem neuen Thread. -
Die Steuern und der Umsatz von meinem public Payday werden nicht korrekt ausgerechnet.
Ich habe bisschen experimentiert aber leider ohne Erfolg.
@Jeffry kannst du mir bitte helfen.new Steuern = 11;
Die Variable Lohn setze ich provisorisch unter OnPlayerConnect so
Lohn[playerid] = 2391;C
Alles anzeigenforward Payday(); public Payday() { for(new i=0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) && PlayerInfo[i][p_LoggedIn] != true)continue; PlayerInfo[i][p_PayTime] ++; if(PlayerInfo[i][p_PayTime] >= 60) { PlayerInfo[i][p_PayTime] = 0; PlayerInfo[i][p_EXP] += 100; new oldBank, endLohn; oldBank = PlayerInfo[i][p_Bankkonto]; endLohn = Lohn[i] -((Lohn[i]*Steuern)/100); new Umsatz = endLohn -oldBank; new tmpSteuer = Umsatz -endLohn; PlayerInfo[i][p_Bankkonto] += endLohn; new str[145]; SendClientMessage(i, 0x109448FF, "[BANKINFORMATION] Neue Kontoein- & auszüge."); format(str, sizeof(str), " Alter Kontostand: {FFFFFF}$%s", ConvertMoney(oldBank)); SendClientMessage(i, 0x109448FF, str); format(str, sizeof(str), " Neuer Kontostand: {FFFFFF}$%s {109448}( {FFFFFF}Umsatz: $%s {109448})", ConvertMoney(PlayerInfo[i][p_Bankkonto]), ConvertMoney(Umsatz)); SendClientMessage(i, 0x109448FF, str); format(str, sizeof(str), " Zusätzlich wurden dir {FFFFFF}$%s {109448}( {FFFFFF}%d Prozent {109448}) Steuern entzogen.", ConvertMoney(tmpSteuer), Steuern); SendClientMessage(i, 0x109448FF, str); SendClientMessage(i, 0x18DC89FF, " [EXP] {FFFFFF}Du hast {18DC89}100 EXP {FFFFFF}erhalten, Grund: Payday."); SetPlayerChatBubble(i, "100 EXP erhalten", 0x18DC89FF, 70, 3000); } } }
-
-
Der Umsatz ist doch der Lohn, oder?
Also:
new Umsatz = endLohn -oldBank;
zu:
new Umsatz = Lohn[i];Wenn nicht das, dann poste bitte was ausgegeben wird.
-
Logisch . Jetzt funktioniert es auch mit den Steuern natürlich. Danke!
-
Wieso wird mir bei GetPlayerWeaponData weiterhin angezeigt ich hätte eine Waffe, obwohl ich sie leergeschossen habe? q.q
-
Die Funktion funktioniert nicht immer korrekt, ich habe schon vor einigen Jahren Fehler in der Funktion gemeldet, allerdings hat sich Kye nie darum gekümmert.
Was zeigt es dir denn bei der Ammo an, wenn du die ausgeben lässt? Wenn 0 drin steht, dann kannst du es so überspringen.
-
Beitrag von N0SKILL ()
Dieser Beitrag wurde vom Autor gelöscht (). -
Wo ist eigentlich der Unterschied zwischen mysql_pquery und mysql_tquery ?
-
http://wiki.sa-mp.com/wiki/MySQL/R33#mysql_pquery
mysql_pquery nutzt Multi Threading, daher ist es schneller.
-
Ich bekomme den Mysql Fehler:
Code[11:57:31] [DEBUG] mysql_pquery - connection: 1, query: "SELECT * WHERE numplate = 'Simon'", callback: "OnNumplateCheck", format: "ds" [11:57:31] [DEBUG] CMySQLQuery::Execute[OnNumplateCheck] - starting query execution [11:57:31] [ERROR] CMySQLQuery::Execute[OnNumplateCheck] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE numplate = 'Simon'' at line 1 [11:57:31] [DEBUG] CMySQLQuery::Execute[OnNumplateCheck] - error will be triggered in OnQueryError
Bei dem Code:
Code
Alles anzeigenmysql_format(db_handle,query,sizeof(query),"SELECT * WHERE numplate = '%s'",inputtext); mysql_pquery(db_handle,query,"OnNumplateCheck","ds",playerid,inputtext); forward OnNumplateCheck(playerid,inputtext[]); public OnNumplateCheck(playerid,inputtext[]) { new num_rows,num_fields; cache_get_data(num_rows,num_fields,db_handle); if(num_rows == 0) { new query[250], t = autoanmeldung[playerid]; mysql_format(db_handle, query, sizeof(query),"UPDATE usercars SET numplate = '%s' anmeldung = 1 WHERE besitzer = '%s'",inputtext,GPlayerName(playerid)); mysql_pquery(db_handle, query); format(pCar[playerid][t][numplate],30,"%s",inputtext); SCM(playerid,iblau,"[INFO]:{FFFFFF} Du hast dein Auto nun mit dem Kennzeichen %s angemeldet",inputtext); pCar[playerid][t][anmeldung] = 1; } if(num_rows == 1) { ShowPlayerDialog(playerid,D_AUTOANMELDUNG2,DIALOG_STYLE_INPUT,"Kennzeichen","Das Kennzeichen gibt es bereits!","Annehmen","Abbrechen"); return 1; } return 1; }
Aber die Synthax des Befehles sollte doch passen?
-
-
Yo, hab ne kleine Frage.
Habe folgenden Befehl:
C
Alles anzeigenCMD:orem(playerid,params[]) { for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; if(IsPlayerInRangeOfPoint(i, 5, 1869.0564,-2499.7913,5048.4761)) { SetPlayerPos(i, 1857.0629,-2477.5789,5048.4761); SendClientMessage(playerid,RED,"Wrong answer!"); } } return 1; }
Mein Problem ist, wenn ich jemanden aus der Zone entferne, bekomme ich 2 mal die Nachicht, aber er keine.. Ich möchte das aber so haben das ALLE die Nachicht erhalten die entfernt werden.