Sieht nun so aus.
Dennoch der selbe Fehler...
Hab ich was falsch gemacht @Kaliber
public OnPlayerSpawn(playerid)
{
if(PlayerInfo[playerid][pSpawntyp] == 1){
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_X], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_Y], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_Z], fInfo[PlayerInfo[playerid][pFraction]][fSpawn_R], 0, 0, 0, 0, 0, 0);
}else{
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], -2446.1797, 2512.5159, 15.7003, 279.0161, 0, 0, 0, 0, 0, 0);
}
if(PlayerInfo[playerid][pPremium] == 1){
GivePlayerWeapon(playerid, 24, 50);
}
return 1;
}
[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
-
-
Nicht unter OnPlayerSpawn..
Schau dir die Funktionen mal genau an.
AddPlayerClass unter OnGameModeInit
oder SetSpawnInfo unter OnPlayerRequestClass#Handy
-
Weiß jemand wieso mein /set nicht funktioniert?
Er speichert überhaupt nichts.
COMMAND:set(playerid, params[])
{
new id, item[25], ammount;
if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
SendClientMessage(playerid, -1, "Verfügbare Items: Adminlevel, Bargeld, Bankkonto, Festgeld, Leben, Rüstung, Premium");
SendClientMessage(playerid, -1, "Verfügbare Items: Skin, Level, Kills, Tode, Fraktion, Rang");
if(sscanf(params, "us[25]i", id, item, ammount))return SendClientMessage(playerid, COLOR_TIP,"Tippe: /set [playerid] [item] [wert] ");
if(strcmp(item, "Adminlevel", true) == 0)
{
if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat dir das Adminlevel %s(Adminlevel: %d) gegeben.", a_rang[ammount],ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pAdmin] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Bargeld", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat dein Bargeld auf %d$ gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pMoney] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Bankkonto", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat dein Bankkonto auf %d$ gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pBmoney] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Festgeld", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
if(ammount >= 1250000)return SendClientMessage(playerid, COLOR_ERROR, "Du kannst nur 1.250.000$ als Festgeld anlegen");
new string[128];
format(string,sizeof(string),"Das System hat dein Festgeld auf %d$ gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pFmoney] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Leben", true) == 0)
{
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat dein Leben auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
SetPlayerHealth(id,ammount);
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Rüstung", true) == 0)
{
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat deine Rüstugn auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
SetPlayerArmour(id, ammount);
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Premium", true) == 0)
{
if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat dein Premiumstatus auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pPremium] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Skin", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat deinen Skin auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pSkin] = ammount;
SetPlayerSkin(id, ammount);
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Level", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat deinen Level auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pLevel] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Kills", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat deine Kills auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pKills] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Tode", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat deine Tode auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pDeaths] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Fraktion", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat deine Fraktion auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pFraction] = ammount;
SaveUserStats(id);
return 1;
}
}
if(strcmp(item, "Rang", true) == 0)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid, COLOR_ERROR, "Keine Berechtigung");
{
new string[128];
format(string,sizeof(string),"Das System hat deinen Fraktionsrang auf %d gesetzt.", ammount);
SendClientMessage(id, COLOR_SYSTEM, string);
PlayerInfo[id][pRang] = ammount;
SaveUserStats(id);
return 1;
}
}return 1;
}stock SaveUserStats(playerid)
{
//Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht
if(!PlayerInfo[playerid][pLoggedIn]) return 1;
//Ansonsten speichere sie
new query[1024];
mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', bmoney = '%d', fmoney = '%d', kills = '%d', deaths = '%d', admin = '%d', skin = '%d', spawntyp = '%d', fraction = '%d', rang = '%d', leader = '%d', wanted = '%d', wantedreason = '%s', premium = '%d', banned = '%d', banadmin = '%s', banreason = '%s', contracted = '%d', kaution = '%d' WHERE name = '%e'",
PlayerInfo[playerid][pLevel], GetPlayerMoney(playerid), PlayerInfo[playerid][pBmoney], PlayerInfo[playerid][pFmoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pSpawntyp], PlayerInfo[playerid][pFraction], PlayerInfo[playerid][pRang], PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pWanted], PlayerInfo[playerid][pWantedreason], PlayerInfo[playerid][pPremium],
PlayerInfo[playerid][pBanned], PlayerInfo[playerid][pBanadmin], PlayerInfo[playerid][pBanreason], PlayerInfo[playerid][pContracted], PlayerInfo[playerid][pKaution], PlayerInfo[playerid][pName]);
//Das Query wird abgesendet
mysql_pquery(handle, query);
printf("Account gespeichert - Name: %s", PlayerInfo[playerid][pName]);
return 1;
} -
...was sagt denn der MySQL Log?
-
Mois,
Wenn ich einem Anhänger eine Respawntime gebe, heißt ja wenn niemand im Fahrzeug ist...
Oder respawnt mein Anhänger nicht, wenn dieser an einem LKW dran ist? -
Wenn ich einem Anhänger eine Respawntime gebe, heißt ja wenn niemand im Fahrzeug ist...
Oder respawnt mein Anhänger nicht, wenn dieser an einem LKW dran ist?Sagen wir mal aus Spaß du gibst ihm eine Respawn-Zeit von 5 Sekunden, dann gilt folgendes:
- Verschiebst du den Anhänger, respawnt dieser nicht, diese ganze respawn Zeit wird erst getriggert durch das Anhängen an ein Fahrzeug.
- 5 Sekunden nachdem der Anhänger entkuppelt wurde, respawnt er.
- 5 Sekunden nachdem der Fahrer ausgestiegen ist, respawnt der Anhänger.
- Ist der Spieler im Fahrzeug, aber 5 Sekunden AFK, respawnt der Anhänger leider auch.
-
Vielen Dank Sir,
Warum auch immer man den 4. Punkt eingeführt hat, sehr fragwürdig...
Aber was, wenn jemand so lustig ist und meine Anhänger weg schiebt oder sogar mit Modifkationen wohin schießt :D.
Währe es sinnvoll so alle 5 Minuten einen Timer laufen zu lassen der die Sachen respawnt? -
Warum auch immer man den 4. Punkt eingeführt hat, sehr fragwürdig...
Naja technisch betrachtet, wenn man auf dem Desktop ist, befindet man sich nicht wirklich im Fahrzeug (deshalb greift Punkt 3)
Ob das mit dem respawn sinnvoll ist oder nicht, das musst du entscheiden xD
Aber klingt ganz plausibel
-
Beitrag von FutureStunt ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Selbst gefixxt (). -
Hey, die vorherigen Probleme konnte ich lösen. Es hat eine Spalte in der Tabelle gefehlt. @Kaliber
Kannst du mir mal nen Denkanstoß geben wieso mein Befehl nicht funktioniert?
Ich erstelle eine Schleife und gehe Schritt für Schritt durch alle Pickups durch(Pickup ist erstellt).
Leider kann ich es nicht betreten.
COMMAND:enter(playerid)
{
for(new i=0; i<MAX_ENTERPICKUPS; i++)
{
if(IsPlayerInRangeOfPoint(playerid, pickInfo[i][pickEnter_X], pickInfo[i][pickEnter_Y], pickInfo[i][pickEnter_Z], 5.0)){
SetPlayerPos(playerid, pickInfo[i][pickExit_X], pickInfo[i][pickExit_Y], pickInfo[i][pickExit_Z]);
SetPlayerInterior(playerid, pickInfo[i][pickInterior]);
}else{
SendClientMessage(playerid, -1, "Du bist an keinem Eingang");
}
}
return 1;
} -
Beitrag von itsMagic. ()
Dieser Beitrag wurde vom Autor gelöscht (). -
Du hast die Parameter in IsPlayerInRangeOfPoint vertauscht.
Mach es so:
C
Alles anzeigenCOMMAND:enter(playerid) { new i = GetInteriorEnterIndex(playerid); if(i == -1) return SendClientMessage(playerid, -1, "Du bist an keinem Eingang"); SetPlayerPos(playerid, pickInfo[i][pickExit_X], pickInfo[i][pickExit_Y], pickInfo[i][pickExit_Z]); SetPlayerInterior(playerid, pickInfo[i][pickInterior]); return 1; } stock GetInteriorEnterIndex(playerid) { for(new i; i<MAX_ENTERPICKUPS; i++) { if(IsPlayerInRangeOfPoint(playerid, 5.0, pickInfo[i][pickEnter_X], pickInfo[i][pickEnter_Y], pickInfo[i][pickEnter_Z])) return i; } return -1; }
Das hat den Vorteil, dass du die Funktion immer wieder verwenden kannst.
-
Guten Morgen,
Und zwar rechnet er keine 3.5 Prozent Zinsen auf das Geld, warum ?
new Festgeldstr = Spieler[playerid][pFestgeld];
floatround(Festgeldstr*3.50/100); -
Und zwar rechnet er keine 3.5 Prozent Zinsen auf das Geld, warum ?
Was steht denn in der Variable Festgeld?
Was ist der Unterschied zwischen pFestgeld und Festgeld?
-
Was steht denn in der Variable Festgeld?
Was ist der Unterschied zwischen pFestgeld und Festgeld?Festgeld ist sowas wie ein Sparbuch, wo Er 3.5 Prozent Zinsen kriegt.
Das Festgeld ist unterschiedlich hoch mal 350000 oder mehr als 1000000...
-
Ja, aber auf was soll er jetzt Zinsen bekommen?
Mach das mal ein Pseudo-Beispiel..
Zum Beispiel:
pFestgeld = 5$
Festegld = 100$
Zinsen auf beides?! 105$ davon 3% Zinsen = 3.15$ die er zusätzlich bekommt?! -
Ja, aber auf was soll er jetzt Zinsen bekommen?
Mach das mal ein Pseudo-Beispiel..
Zum Beispiel:
pFestgeld = 5$
Festegld = 100$
Zinsen auf beides?! 105$ davon 3% Zinsen = 3.15$ die er zusätzlich bekommt?!
floatround(Spieler[playerid][pFestgeld]/3.5);
Spieler[playerid][pKonto] += Spieler[playerid][pFestgeld];
format(string,sizeof(string),"* SYSTEM hat dir %d$ überwiesen. Betreff: Festgeld Auszahlung (3.50% Zinsen)",Spieler[playerid][pFestgeld]);
SendClientMessage(playerid,Gruen,string);Er soll nur auf das Festgeld die 3.5 Prozent Zinsen bekommen.
-
Wenn ich dich richtig verstanden habe, dann so:
Spieler[playerid][pFestgeld] = floatround(floatmul(Spieler[playerid][pFestgeld],1.035));
Spieler[playerid][pKonto] += Spieler[playerid][pFestgeld];
format(string,sizeof(string),"* SYSTEM hat dir %d$ überwiesen. Betreff: Festgeld Auszahlung (3.50% Zinsen)",Spieler[playerid][pFestgeld]);
SendClientMessage(playerid,Gruen,string); -
Hallo, wie kriege ich raus wie viel Benzin schon von MaxLiter weg ist mittels tLiter ?
Also wie viel Liter gerade für die Tanke Benötig wird.
Tanke[tankeID][tLiter]
Tanke[tankeID][tMaxLiter] -
MaxLiter - liter = Rest?