Wenn du willst das nur der Fahrer gekickt wird, musst du davor abfragen ob playerid als passenger einsteigt.
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!ispassenger)
{
new Float:health;
new name[MAX_PLAYER_NAME], string[50+MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(health > 995)
format(string, sizeof(string), "%s has been banned by the System for Vehicle Health Hack.", name);
SendClientMessageToAll(RED,string);
GetVehicleHealth(vehicleid, health);
SetVehicleHealth(vehicleid, 995);
Kick(playerid);
}
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
-
-
Die Reihenfolge und die Klammersetzung hat nicht ganz gepasst.
Du musst es so machen:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new Float:health;
GetVehicleHealth(vehicleid, health);
if(health > 995)
{
new name[MAX_PLAYER_NAME], string[50+MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "%s has been banned by the System for Vehicle Health Hack.", name);
SendClientMessageToAll(RED,string);
SetVehicleHealth(vehicleid, 995);
Kick(playerid);
}
return 1;
} -
HI ich habe einen MySql Fehler was soll das Bedeuten? hier der Code
[00:01:09] [debug] Run time error 19: "File or function is not found"
[00:01:09] [debug] mysql_escape_string
[00:01:09] [debug] mysql_tquery
[00:01:09] [debug] mysql_log
[00:01:09] [debug] Run time error 19: "File or function is not found"
[00:01:09] [debug] mysql_escape_string
[00:01:09] [debug] mysql_tquery
[00:01:09] [debug] mysql_log
[00:01:09] Script[gamemodes/truelife.amx]: Run time error 19: "File or function is not found"
[00:01:09] Number of vehicle models: 0 -
Du nutzt ein altes MySQL Plugin. Du musst das neuste Plugin nutzen:
https://github.com/pBlueG/SA-MP-MySQL/releases -
Nabend,
habe ein kleines Syntax Problem finde den Fehler aber nicht.SQL[00:40:58] [DEBUG] CMySQLQuery::Execute[] - starting query execution [00:40:58] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1',PayDayScore='0',ALevel='10,Skin='211',Sex='0',Fraktion='0',OwnHouse='0',House' at line 1 [00:40:58] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
stock SavePlayer(playerid)
{
new query[1024];
if(!IsPlayerOnline(playerid))return 1;
format(query,sizeof(query),"UPDATE user SET Geld='%i'",GetPlayerMoney(playerid));
format(query,sizeof(query),"%s,KontoMoney='%i'",query,SpielerInfo[playerid][pKonto]);
format(query,sizeof(query),"%s,Level='%i'",query,GetPlayerScore(playerid));
format(query,sizeof(query),"%s,Morde='%i'",query,SpielerInfo[playerid][pMorde]);
format(query,sizeof(query),"%s,Tode='%i",query,SpielerInfo[playerid][pTode]);
format(query,sizeof(query),"%s,PayDayTime='%i'",query,SpielerInfo[playerid][pPayDayTime]);
format(query,sizeof(query),"%s,PayDayScore='%i'",query,SpielerInfo[playerid][pPayDayScore]);
format(query,sizeof(query),"%s,ALevel='%i",query,SpielerInfo[playerid][pALevel]);
format(query,sizeof(query),"%s,Skin='%i'",query,GetPlayerSkin(playerid));
format(query,sizeof(query),"%s,Sex='%i'",query,SpielerInfo[playerid][pGender]);
format(query,sizeof(query),"%s,Fraktion='%i'",query,SpielerInfo[playerid][pFrak]);
format(query,sizeof(query),"%s,OwnHouse='%i'",query,SpielerInfo[playerid][pOwnHouse]);
format(query,sizeof(query),"%s,HouseID='%i'",query,SpielerInfo[playerid][pHouseID]);
format(query,sizeof(query),"%s,Spawn='%i'",query,SpielerInfo[playerid][pSpawn]);
format(query,sizeof(query),"%s WHERE BINARY username='%s'",query,getPlayerName(playerid));
mysql_pquery(Handle,query);
if(SpielerInfo[playerid][pEingemietet] == 1)
{
mysql_format(Handle,query,sizeof(query),"UPDATE user SET Eingemietet='%i' WHERE BINARY username='%e'",SpielerInfo[playerid][pEingemietet],getPlayerName(playerid));
mysql_pquery(Handle,query);
}
/*if(SpielerInfo[playerid][pPrisoned] == 1)
{
mysql_format(Handle,query,sizeof(query),"UPDATE prisoneduser SET PrisonedBis='%i' WHERE BINARY username='%s'",
SpielerInfo[playerid][pPrisonedBis],getPlayerName(playerid));
mysql_pquery(Handle,query);
}*/
return 1;
}
Danke im Voraus. -
format(query,sizeof(query),"%s,Tode='%i",query,SpielerInfo[playerid][pTode]);
Zu
format(query,sizeof(query),"%s,Tode='%i'",query,SpielerInfo[playerid][pTode]); -
Hey habe eine Frage.
Wie kann ich machen,dass kein SPieler z.B die LS bank oder LS/SF/dILLimore Waffenkammer kaufen kann?
Die ganzen ammus etc -
@SirEscobar
wie sieht denn die funktion aus wo man das biz kauft? -
MoveObject(SFPDINTDOOR[3], -1600.89868, 696.17023, 12.79330, [b]1500[/b], 0.00000, 0.00000, 90.00000);
Die Tür wird innerhalb einstelligen Millisekunden geöffnet, die Door soll aber langsam aufgehen. -
//edit Auf alten Beitrag geantwortet, immer diese Seitenzahl die sich nicht aktualisiert '^^
format(query,sizeof(query),"%s,Tode='%i",query,SpielerInfo[playerid][pTode]);
Zu
format(query,sizeof(query),"%s,Tode='%i'",query,SpielerInfo[playerid][pTode]);
Auch hier ist noch einmal der Fehler:format(query,sizeof(query),"%s,ALevel='%i",query,SpielerInfo[playerid][pALevel]);
Zu
format(query,sizeof(query),"%s,ALevel='%i'",query,SpielerInfo[playerid][pALevel]); -
in
@SirEscobar
wie sieht denn die funktion aus wo man das biz kauft?Mit /buybiz kauft man sie.. Bin net am PC ich Poster den Code später
Code
Alles anzeigenif(strcmp("/buybiz", cmd, true) == 0) { if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, playername, sizeof(playername)); if(PlayerInfo[playerid][pBizKey] != -1) { SendClientMessage(playerid, COLOR_ERRORTEXT, " Du besitzt bereits ein Biz, benutze /sellbiz um es zu verkaufen!"); return 1; } for(new b = 0; b < sizeof(SBizInfo); b++){ if(PlayerToPoint(2.0, playerid, SBizInfo[b][sbEntranceX], SBizInfo[b][sbEntranceY], SBizInfo[b][sbEntranceZ]) && SBizInfo[b][sbOwned] == 0){ if(PlayerInfo[playerid][pLevel] < SBizInfo[b][sbLevelNeeded]) { format(string, sizeof(string), " Du musst Level %d sein um dieses Biz kaufen zu können!",SBizInfo[b][sbLevelNeeded]); SendClientMessage(playerid, COLOR_ERRORTEXT, string); return 1; } if(PlayerInfo[playerid][pCash] >= SBizInfo[b][sbBuyPrice]){ PlayerInfo[playerid][pBizKey] = b+100; SBizInfo[b][sbOwned] = 1; StuffInfo[sSteuerkasse] += SBizInfo[b][sbBuyPrice]; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(SBizInfo[b][sbOwner], sendername, 0, strlen(sendername), 255); GivePlayerMoneys(playerid,-SBizInfo[b][sbBuyPrice]); PlayerPlayMusic(playerid); SendClientMessage(playerid, COLOR_WHITE, "Gratulation, zum Erwerb eines Biz!"); SendClientMessage(playerid, COLOR_WHITE, "Benutze /help um die neuen Befehle zu sehen."); Update3DTextsBiz(b); return 1; } else { SendClientMessage(playerid, COLOR_ERRORTEXT, " Soviel Geld hast du nicht!"); return 1; }}} for(new b = 0; b < sizeof(TankenBizInfo); b++){ if(PlayerToPoint(2.0, playerid, TankenBizInfo[b][TBPosX], TankenBizInfo[b][TBPosY], TankenBizInfo[b][TBPosZ]) && TankenBizInfo[b][TBOwned] == 0){ if(PlayerInfo[playerid][pLevel] < TankenBizInfo[b][TBLevelNeeded]) { format(string, sizeof(string), " Du musst Level %d sein um dieses Biz kaufen zu können!", TankenBizInfo[b][TBLevelNeeded]); SendClientMessage(playerid, COLOR_ERRORTEXT, string); return 1; } if(PlayerInfo[playerid][pCash] >= TankenBizInfo[b][TBKaufPreis]) { PlayerInfo[playerid][pBizKey] = b+200; TankenBizInfo[b][TBOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(TankenBizInfo[b][TBOwner], sendername, 0, strlen(sendername), 255); GivePlayerMoneys(playerid, -TankenBizInfo[b][TBKaufPreis]); StuffInfo[sSteuerkasse] += TankenBizInfo[b][TBKaufPreis]; SendClientMessage(playerid, COLOR_WHITE, "Gratulation, zum Erwerb eines Tanken Biz!"); SendClientMessage(playerid, COLOR_WHITE, "Benutze /help um die neuen Befehle zu sehen."); Update3DTextTanke(b); return 1; } else { SendClientMessage(playerid, COLOR_ERRORTEXT, " Soviel Geld hast du nicht!"); return 1; }}} for(new b = 0; b < sizeof(BizInfo); b++){ if(PlayerToPoint(2.0, playerid, BizInfo[b][bEntranceX], BizInfo[b][bEntranceY], BizInfo[b][bEntranceZ]) && BizInfo[b][bOwned] == 0){ if(PlayerInfo[playerid][pLevel] < BizInfo[b][bLevelNeeded]) { format(string, sizeof(string), "Du musst mindestens Level %d sein um die das kaufen zu können.",BizInfo[b][bLevelNeeded]); SendClientMessage(playerid, COLOR_ERRORTEXT, string); return 1; } if(PlayerInfo[playerid][pCash] >= BizInfo[b][bBuyPrice]) { PlayerInfo[playerid][pBizKey] = b; BizInfo[b][bOwned] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); strmid(BizInfo[b][bOwner], sendername, 0, strlen(sendername), 255); GivePlayerMoneys(playerid,-BizInfo[b][bBuyPrice]); PlayerPlayMusic(playerid); SetPlayerInterior(playerid,BizInfo[b][bInterior]); StuffInfo[sSteuerkasse] += BizInfo[b][bBuyPrice]; SetPlayerPos(playerid,BizInfo[b][bExitX],BizInfo[b][bExitY],BizInfo[b][bExitZ]); GameTextForPlayer(playerid, "~w~Willkommen~n~Du kannst das Biz jederzeit verlassen mit /exit", 5000, 3); PlayerInfo[playerid][pLocal] = b; SendClientMessage(playerid, COLOR_WHITE, "Gratulation, du bist nun in deinem Biz!"); SendClientMessage(playerid, COLOR_WHITE, "Benutze /help um die neuen Befehle zu sehen."); Update3DTextBiz(b); return 1; } else { SendClientMessage(playerid, COLOR_ERRORTEXT, " Soviel Geld hast du nicht!"); return 1; }}}} return 1; }
-
Es gibt's keine Funktion womit man die maximale Tauchzeit erweitern kann oder? Falls nicht hat jemand Ideen wie man das umsetzen könnte? Wenn niemand ein Lösungsweg hat muss ich wohl Slice oder Ino fragen, die wissen bestimmt weiter
-
Nein, außer dem Spieler die Leben immer wieder hochzusetzen, wenn er unter Wasser ist.
-
Wie kann ich jetzt ein Biz dem Stadt zuweisen?
-
-
@SirEscobar
sry was denn jetzt? einer stadt zu weisen wat meinste damit genau?
oder willst du dass es von spielern nicht gekauft werden kann? -
-
Beitrag von Jeffry ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Geht nur bei strlen. (). -
das klappt leider auch nicht
-
Stimmt, sorry, hatte das mit strlen verwechselt, da geht es nämlich.
Dann musst du es so machen, anders geht es da nicht wirklich sinnvoll:
#define MAX_INFO3_LEN 2enum info
{
info1,
info2,
info3[MAX_INFO3_LEN]
}Und dann:
new len = MAX_INFO3_LEN; -