Hallo Liebe Mitglieder, ich habe ein großes Problem.
Ich habe auf meinem Server sehr viele Business & alle kann man nicht kaufen.
Ich habe in der Datei bizz.cfg die erste Nummer auch auf 0 (kaufbar) trotzdem funktioniert es nicht, In-Game wird angezeigt, dass dieses Business bereits ein Inhaber hat.
mfG, Nighthawk und ich hoffe, ihr könnt mir helfen.
Beiträge von Nighthawk
-
-
Hallo Liebe mitglieder.
Wenn ich auf meinem Server "/biz BIZ-ID" eingebe, crasht mein SAMP-Server, weißt einer vielleicht wieso?
Hier ist mein Befehl:if(strcmp(cmd, "/biz", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] >= 7)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "NUTZE: /biz [biznummer]");
return 1;
}
new housenum = strval(tmp);
SetPlayerInterior(playerid,BizzInfo[housenum][bInterior]);
SetPlayerVirtualWorld(playerid,BizzInfo[housenum][bWorld]);
SetPlayerPos(playerid,BizzInfo[housenum][bExitX],BizzInfo[housenum][bExitY],BizzInfo[housenum][bExitZ]);
GameTextForPlayer(playerid, "~w~Teleporting", 5000, 1);
PlayerInfo[playerid][pInt] = BizzInfo[housenum][bInterior];
PlayerInfo[playerid][pWorld] = BizzInfo[housenum][bWorld];
PlayerInfo[playerid][pLocal] = housenum+99;
}
}
return 1;
}mfG, Nighthawk.
-
Achso, das ganze muss so aussehen, oder?
if(IsPlayerConnected(i))
{
new wagen = GetPlayerVehicleID(i);
if(GetPlayerSurfingVehicleID(i) != INVALID_VEHICLE_ID && GetPlayerSurfingVehicleID(wagen) != 470)
{
new Float:health;
GetPlayerHealth(i, health);
SendClientMessage(i, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
SetPlayerHealth(i, health-5.0);
}
}mfG, Nighthawk.
-
Hallo Liebe Mitglieder.
Ich habe ein Anti Vehicle Surfing Problem, unzwar wollte ich gerne Scripten, dass wenn man auf dem Patriot Wagen oben drauf ist, dass der Spieler keine Nachricht bekommt und kein HP verliert, bei allen anderen Cars soll er aber eine Nachricht bekommen und HP verlieren.
Zurzeit ist es so, dass man überall auf Autos eine Nachricht bekommt und HP verliert.Mein Code sieht so aus:
if(IsPlayerConnected(i))
{
new wagen = GetPlayerVehicleID(i);
if(GetPlayerSurfingVehicleID(i) != INVALID_VEHICLE_ID && GetVehicleModel(wagen) != 470)
{
new Float:health;
GetPlayerHealth(i, health);
SendClientMessage(i, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
SetPlayerHealth(i, health-5.0);
}
}mfG, Nighthawk.
-
Du checkst einfach mit IsPlayerInCheckpoint ob der Spieler auf dem Checkpoint ist und deaktivierst es dann mit DisablePlayerCheckpoint und erstellt danach wieder direkt einen neuen mit SetPlayerCheckpoint.
Ich hoffe, ich konnte dir helfen.
mfG, Nighthawk. -
>> Scripten. <<
-
Dann muss ich einfach oben im Script MAX_PLAYERS auf 50 ändern, ist doch kein Problem.
Ob ich es jetzt im Server.cfg ändere oder im Gamemode lol.
mfG, Nighthawk. -
Funktioniert einwandfrei, dankeschön.
Auch wenn du GetMaxPlayers sinnvoller findest, beide tuhen das gleiche
mfG, Nighthawk.
//closed.
-
Ich habe das ganze einfach in OtherTimer (jede Sekunde) reingepackt und dein Timer nicht mitgenommen.
Nun kommt die Nachricht aber immer 2x und HP wird dann auch wohl 2x abgezogen in einer Sekunde.
Ich möchte es aber jede Sekunde nur 1x + 1x HP abziehen.
mfG, Nighthawk.//edit: Und wieso 500x loopen? Ich habe oben MAX_PLAYERS definiert
(#undef MAX_PLAYERS
#define MAX_PLAYERS 100) -
Hallo Liebe Mitglieder.
Ich habe hier ein Anti Vehicle Surfing System, was leider Probleme macht.
Ich habe das ganze unter OtherTimer (jede Sekunde) drinne und das Problem ist, dass ich die Nachricht (* Du verletzt dich auf Fahrzeugen!) immer zweimal hintereinander bekomme, statt einmal hintereinander.Hier ist mein Code:
for(new k=0; k<MAX_PLAYERS; k++)
{
if(IsPlayerConnected(k))
{
if(GetPlayerSurfingVehicleID(k) != INVALID_VEHICLE_ID)
{
new Float:health;
GetPlayerHealth(k, health);
SendClientMessage(k, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
SetPlayerHealth(k, health-5.0);
}
}
}mfG, Nighthawk.
-
Mein Code:
for(new i=0,gmp=GetMaxPlayers(); i<gmp; i++)
{
if(IsPlayerConnected(i) && (GetPlayerSurfingVehicleID(i)!=INVALID_VEHICLE_ID))
{
new Float:pHealth;
GetPlayerHealth(i, pHealth);
SendClientMessage(i, 0xFFFFFFFF, "* Du verletzt dich auf Fahrzeugen!");
SetPlayerHealth(i, pHealth-5.0);
}
}Fehler:
C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11372) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11376) : warning 219: local variable "pHealth" shadows a variable at a preceding level
C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11377) : error 035: argument type mismatch (argument 2)
C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11379) : warning 213: tag mismatch
C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11379) : warning 213: tag mismatch
C:\Users\Gürkan\Desktop\Redside German Roleplay\gamemodes\RRL.pwn(11376) : warning 203: symbol is never used: "pHealth"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
mfG, Nighthawk.
//edit: Habe das ganze umgescriptet, nun kommt die Nachricht aber immer 2x, weiß einer vielleicht warum?
Hier ist mein Code:for(new = k=0; k<MAX_PLAYERS; k++)
{
if(IsPlayerConnected(k))
{
if(GetPlayerSurfingVehicleID(k) != INVALID_VEHICLE_ID))
{
new Float:health;
GetPlayerHealth(k, health);
SendClientMessage(k, COLOR_GRAD1, "* Du verletzt dich auf Fahrzeugen!");
SetPlayerHealth(k, health-5.0);
}
}
}mfG, Nighthawk.
-
Okay geht klar, weil mir sonst kein anderer helfen kann, wie's aussieht <.<
mfG, Nighthawk. -
Halo Liebe Mitglieder.
Kann mir einer vielleicht helfen, Anti-Vehicle Surfing ungefähr so zu scripten?
Das System sollte so laufen, wenn der Spieler, der auf einem Auto drauf geht (surft) bekommt ganze Zeit eine Nachricht (solange er auf dem Car ist) "* Du verletzt dich auf Fahrzeugen!" und dass sein HP immer -10 wird.
mfG, Nighthawk. -
Code richtig eingerückt, Rechtschreibfehler verbessert, Texte geändert etc.
Vergleich einfach mein Code mit deinem aktuellen, dann wirst du sehen, dass vieles geändert wurde.
mfG, Nighthawk. -
Ersetz:
if(location == 99 location == 100 location == 102)
mit:
if(location == 99 location == 100 location == 101 location == 102 location == 103 location == 104 location == 105)
mfG, Nighthawk.
-
Übernimm mein Code von oben, dann funktioniert alles einwandfrei.
mfG, Nighthawk. -
Habe dein Code mal bisschen umgeändert und Unknown Command sollte auch nicht mehr kommen, hier:
new string[128];
new beruf[30];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "/Spieler/%s.ini", name);
format(beruf, sizeof(beruf), dini_Get(string, "Beruf"), name);
if(strcmp(strget(cmdtext,0), "/stehlen", true) == 0)
{
if(strcmp(beruf, "Dieb", true) == 0)
{
new string2[128];
new ziel = strval(strget(cmdtext,1));
new Float:x, Float:y, Float:z;
new geld = GetPlayerMoney(ziel);
new geld2 = random(geld);
GetPlayerPos(ziel, x, y, z);
if(IsPlayerInRangeOfPoint(playerid, 2, x, y, z))
{
new zufall = random(2);
if(zufall == 1)
{
format(string2, sizeof(string2), "Du hast ERFOLGREICH %i geklaut!", geld2);
SendClientMessage(playerid, Rot, string2);
GivePlayerMoney(playerid, geld2);
GivePlayerMoney(ziel, -geld2);
return 1;
}
else if(zufall == 2)
{
SendClientMessage(playerid, Rot, "Es hat nicht geklappt, versuche es schnell nocheinmal!");
return 1;
}
}
else
{
SendClientMessage(playerid, Rot, "Dieser Spieler ist nicht in deiner nähe!");
return 1;
}
}
else
{
SendClientMessage(playerid, Rot, "Du bist kein Dieb!");
return 1;
}
return 1;
}mfG, Nighthawk.
//edit: Code verbessert.
//edit 2: Rechtschreibung verbessert. -
Ist das System nun besser, sollte man es benutzen?
mfG, Nighthawk. -
Hat zufällig jemand noch die include und die neueste Version?
mfG, Nighthawk.
-
Wieso soll ich jetzt:
if(GoChase[killerid] == playerid)
ändern?mfG, Nighthawk.
//edit habe es jetzt auf:
if(!IsACop(killerid) && GotHit[killerid] == 0)
{
WantedLevel[killerid]+=1;
SetPlayerCriminal(killerid, 255, "Mord");
}
else if(!IsACop(killerid) && GotHit[killerid] == 1)
{
SetPlayerCriminal(killerid, 255, "Mord (Auftrag)");
}geändert.
//edit: Bekomme noch immer 2 Wanted, ob mit Auftrag oder nicht.
Hier ist mein Code:if(!IsACop(killerid) && GotHit[killerid] == 0)
{
WantedLevel[killerid]+=1;
SetPlayerCriminal(killerid, 255, "Mord");
}
else if(!IsACop(killerid) && GotHit[killerid] == 1)
{
SetPlayerCriminal(killerid, 255, "Mord (Auftrag)");
}