Jop, aber net für alles
Beiträge von German_ScripterHD
-
-
Hallo Brotfische,
Seit gestern Abend sitze ich an folgendem Problem: Wenn man ein Object abschießt soll man die Naricht mit der Objectid bekommen, leider funktioniert das nicht ganz.
Codes:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new szString[144];
GetObjectPos(hitid,fX,fY,fZ);
format(szString, sizeof(szString), "Objectid: %i",hitid);
SendClientMessage(playerid, -1, szString);
return 1;
}Ich hoffe es kann mir jemand helfen
MFG German_ScripterHD
-
Log:
[20:51:16] AlleSpielerKontrollieren:: 450 -> 0
[20:51:16] AlleSpielerKontrollieren:: 451 -> 0
[20:51:16] AlleSpielerKontrollieren:: 452 -> 0
[20:51:16] AlleSpielerKontrollieren:: 453 -> 0
[20:51:16] AlleSpielerKontrollieren:: 454 -> 0
[20:51:16] AlleSpielerKontrollieren:: 455 -> 0
[20:51:16] AlleSpielerKontrollieren:: 456 -> 0
[20:51:16] AlleSpielerKontrollieren:: 457 -> 0
[20:51:16] AlleSpielerKontrollieren:: 458 -> 0
[20:51:16] AlleSpielerKontrollieren:: 459 -> 0
[20:51:16] AlleSpielerKontrollieren:: 460 -> 0
[20:51:16] AlleSpielerKontrollieren:: 461 -> 0
[20:51:16] AlleSpielerKontrollieren:: 462 -> 0
[20:51:16] AlleSpielerKontrollieren:: 463 -> 0
[20:51:16] AlleSpielerKontrollieren:: 464 -> 0
[20:51:16] AlleSpielerKontrollieren:: 465 -> 0
[20:51:16] AlleSpielerKontrollieren:: 466 -> 0
[20:51:16] AlleSpielerKontrollieren:: 467 -> 0
[20:51:16] AlleSpielerKontrollieren:: 468 -> 0
[20:51:16] AlleSpielerKontrollieren:: 469 -> 0
[20:51:16] AlleSpielerKontrollieren:: 470 -> 0
[20:51:16] AlleSpielerKontrollieren:: 471 -> 0
[20:51:16] AlleSpielerKontrollieren:: 472 -> 0
[20:51:16] AlleSpielerKontrollieren:: 473 -> 0
[20:51:16] AlleSpielerKontrollieren:: 474 -> 0
[20:51:16] AlleSpielerKontrollieren:: 475 -> 0
[20:51:16] AlleSpielerKontrollieren:: 476 -> 0
[20:51:16] AlleSpielerKontrollieren:: 477 -> 0
[20:51:16] AlleSpielerKontrollieren:: 478 -> 0
[20:51:16] AlleSpielerKontrollieren:: 479 -> 0
[20:51:16] AlleSpielerKontrollieren:: 480 -> 0
[20:51:16] AlleSpielerKontrollieren:: 481 -> 0
[20:51:16] AlleSpielerKontrollieren:: 482 -> 0
[20:51:16] AlleSpielerKontrollieren:: 483 -> 0
[20:51:16] AlleSpielerKontrollieren:: 484 -> 0
[20:51:16] AlleSpielerKontrollieren:: 485 -> 0
[20:51:16] AlleSpielerKontrollieren:: 486 -> 0
[20:51:16] AlleSpielerKontrollieren:: 487 -> 0
[20:51:16] AlleSpielerKontrollieren:: 488 -> 0
[20:51:16] AlleSpielerKontrollieren:: 489 -> 0
[20:51:16] AlleSpielerKontrollieren:: 490 -> 0
[20:51:16] AlleSpielerKontrollieren:: 491 -> 0
[20:51:16] AlleSpielerKontrollieren:: 492 -> 0
[20:51:16] AlleSpielerKontrollieren:: 493 -> 0
[20:51:16] AlleSpielerKontrollieren:: 494 -> 0
[20:51:16] AlleSpielerKontrollieren:: 495 -> 0
[20:51:16] AlleSpielerKontrollieren:: 496 -> 0
[20:51:16] AlleSpielerKontrollieren:: 497 -> 0
[20:51:16] AlleSpielerKontrollieren:: 498 -> 0
[20:51:16] AlleSpielerKontrollieren:: 499 -> 0passiert immer noch nichts
-
Leider immer noch wie vorher
-
Hallo Brotfische,
Ich habe folgedes Problem: Ich wollte wenn man immer an einer stelle steht, und nichts mach, nach einer Zeit gekickt wird, leider geht das aber nicht.
Codes:
#define AntiAFK_Timer 60000
forward AlleSpielerKontrollieren();
forward SpielerKontrollieren(playerid);
new Float:AlteSpielerPos[MAX_PLAYERS][3];
new IsAFK[MAX_PLAYER_NAME];
new bool:SpielerIstAFK[MAX_PLAYERS];
new bool:IstSpielerGespawnt[MAX_PLAYERS];//unter OnGameModeInit
SetTimer("AlleSpielerKontrollieren", AntiAFK_Timer, 0);
//Befehle
ocmd:afk(playerid,params[])
{
if(IsPlayerConnected(playerid))
{
if(SpielerIstAFK[playerid] == false)
{
new sttl[228];
SpielerIstAFK[playerid] = true;
TogglePlayerControllable(playerid,0);
IsAFK[playerid] = 1;
SendClientMessage(playerid,0xFF1E00FF,"Du hast dich in den AFK-Modus begeben!");
format(sttl, sizeof(sttl), "** %s ist nun abwesend. **", getPlayerName(playerid));
SendClientMessageToAll(0xF0F0F0FF, sttl);
SendClientMessage(playerid,0xFF1E00FF,"um AFK wieder Zu verlassen nutze /back");
}
else
{
SendClientMessage(playerid,0xFF1E00FF,"Du befindest dich schon im AFK-Modus Nutze /back!");
return 1;
}
}
return 1;
}
ocmd:back(playerid,params[])
{
if(IsPlayerConnected(playerid))
{
if(SpielerIstAFK[playerid] == true)
{
new str[128];
SpielerIstAFK[playerid] = false;
TogglePlayerControllable(playerid,1);
IsAFK[playerid] = 0;
SendClientMessage(playerid,0xF0F0F0FF,"Du bist aus dem AFK-Modus zurückgekehrt!");
format(str, sizeof(str), "** %s ist nun wieder anwesend. **", getPlayerName(playerid));
SendClientMessageToAll(0xF0F0F0FF, str);
}
else
{
SendClientMessage(playerid,0xF0F0F0FF,"Du befindest dich nicht im AFK-Modus!");
}
}
return 1;
}
//Spieler laden
IsAFK[playerid] = 0;
SpielerIstAFK[playerid] = false;//public´s
public AlleSpielerKontrollieren()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IstSpielerGespawnt[i] == true)
{
if(!IsPlayerNPC(i))
{
new Float:PositionX, Float:PositionY, Float:PositionZ;
GetPlayerPos(i, PositionX, PositionY, PositionZ);
if(PositionX == AlteSpielerPos[i][0] && PositionY == AlteSpielerPos[i][1] && PositionZ == AlteSpielerPos[i][2])
{
SendClientMessage(i,C_Error, "AntiAFK: Du wirst in 10 Sekunden gekickt, wenn du nicht wieder am Spiel teilnimmst."); // Rot
SetTimerEx("SpielerKontrollieren", 10000, 0, "i", i); //10000 ms = 10 Sekunden
}
AlteSpielerPos[i][0] = PositionX;
AlteSpielerPos[i][1] = PositionY;
AlteSpielerPos[i][2] = PositionZ;
}
}
}
return 1;
}public SpielerKontrollieren(playerid)
{
if(IsPlayerConnected(playerid) && IstSpielerGespawnt[playerid] == true)
{
if(!IsPlayerNPC(playerid))
{
new AntiAFKMessage[128];
new Float:PositionX, Float:PositionY, Float:PositionZ;
GetPlayerPos(playerid, PositionX, PositionY, PositionZ);
if(PositionX == AlteSpielerPos[playerid][0] && PositionY == AlteSpielerPos[playerid][1] && PositionZ == AlteSpielerPos[playerid][2])
{
SendClientMessage(playerid, C_Error, "AntiAFK: Wegen Untätigkeit gekickt!");
format(AntiAFKMessage, sizeof(AntiAFKMessage), "AntiAFK: %s wurde wegen Untätigkeit gekickt!", getPlayerName(playerid));
SendClientMessageToAll(C_Error, AntiAFKMessage);
Kick(playerid);
}
}
}
return 1;
}Ich hoffe es kann mir jemand helfen
MFG German_ScripterHD
-
Jop, hab es gerade selber gemerkt
Aber vielen Danke
-
Ich habe es jetzt so gemacht:
public OnPlayerSpawn(playerid)
{
if(tot[playerid] == 1)
{
switch (GetPVarInt(playerid, "i"))
{
case 0:
{
SetPlayerPos(playerid, 2034.1149,-1414.9154,16.9922);
SetPlayerFacingAngle(playerid, 133.3335);
}
case 1:
{
SetPlayerPos(playerid, 1182.1077,-1324.0918,13.5815);
SetPlayerFacingAngle(playerid, 270.4434);
}
case 2:
{
SetPlayerPos(playerid, 1244.3423,331.9934,19.5547);
SetPlayerFacingAngle(playerid, 335.6859);
}
case 3:
{
SetPlayerPos(playerid, 1607.6090,1821.0934,10.8280);
SetPlayerFacingAngle(playerid, 0.7354);
}
case 4:
{
SetPlayerPos(playerid, -317.0090,1056.6217,19.7422);
SetPlayerFacingAngle(playerid, 358.9579);
}
case 5:
{
SetPlayerPos(playerid, -1514.7358,2527.0601,55.7455);
SetPlayerFacingAngle(playerid, 359.0611);
}
case 6:
{
SetPlayerPos(playerid, -2661.2441,633.7098,14.4531);
SetPlayerFacingAngle(playerid, 180.1544);
}
case 7:
{
SetPlayerPos(playerid, -2198.7803,-2306.5793,30.6250);
SetPlayerFacingAngle(playerid, 320.6338);
}
}
SetPlayerSkin(playerid,sInfo[playerid][skin]);
tot[playerid] = 0;
return 1;
}
}
public OnPlayerDeath(playerid, killerid, reason)
{
new Float: KrankenhausDistance[8],Float: tmp_distance = 9999999.0;
KrankenhausDistance[0] = GetPlayerDistanceFromPoint(playerid, 2034.1149,-1414.9154,16.9922);
KrankenhausDistance[1] = GetPlayerDistanceFromPoint(playerid, 1182.1077,-1324.0918,13.5815);
KrankenhausDistance[2] = GetPlayerDistanceFromPoint(playerid, 1244.3423,331.9934,19.5547);
KrankenhausDistance[3] = GetPlayerDistanceFromPoint(playerid, 1607.6090,1821.0934,10.8280);
KrankenhausDistance[4] = GetPlayerDistanceFromPoint(playerid, -317.0090,1056.6217,19.7422);
KrankenhausDistance[5] = GetPlayerDistanceFromPoint(playerid, -1514.7358,2527.0601,55.7455);
KrankenhausDistance[6] = GetPlayerDistanceFromPoint(playerid, -2661.2441,633.7098,14.4531);
KrankenhausDistance[7] = GetPlayerDistanceFromPoint(playerid, -2198.7803,-2306.5793,30.6250);for (new i; i != sizeof (KrankenhausDistance); ++i)
{
if (KrankenhausDistance[i] < tmp_distance)
{
tmp_distance = KrankenhausDistance[i];
}
SetPVarInt(playerid, "i", i);
}
tot[playerid] = 1;
}aber ich spawn immer am gleichen Krankenhaus... warum?
-
und wie mach ich das am besten, bin gerade etwas durcheinander...
-
Danke für die Schnelle hilfe, doch jetzt spawn ich immer noch bei einem gleichen aber diesmal ein anderes....
-
Hallo Brotfische,
Ich bin momentan dabei ein Krankenhaussystem zu scripten, also so dass man am nähesten Krankenhaus spawnt, aber leider spawn ich immer nur am gleichenCodes:
public OnPlayerSpawn(playerid)
{
if(tot[playerid] == 1)
{
new
Float: KrankenhausDistance[8],
closest = -1,
Float: tmp_distance = -1.0;KrankenhausDistance[0] = GetPlayerDistanceFromPoint(playerid, 2034.1149,-1414.9154,16.9922);
KrankenhausDistance[1] = GetPlayerDistanceFromPoint(playerid, 1182.1077,-1324.0918,13.5815);
KrankenhausDistance[2] = GetPlayerDistanceFromPoint(playerid, 1244.3423,331.9934,19.5547);
KrankenhausDistance[3] = GetPlayerDistanceFromPoint(playerid, 1607.6090,1821.0934,10.8280);
KrankenhausDistance[4] = GetPlayerDistanceFromPoint(playerid, -317.0090,1056.6217,19.7422);
KrankenhausDistance[5] = GetPlayerDistanceFromPoint(playerid, -1514.7358,2527.0601,55.7455);
KrankenhausDistance[6] = GetPlayerDistanceFromPoint(playerid, -2661.2441,633.7098,14.4531);
KrankenhausDistance[7] = GetPlayerDistanceFromPoint(playerid, -2198.7803,-2306.5793,30.6250);for (new i; i != sizeof (HospitalDistance); ++i)
{
if (KrankenhausDistance[i] > tmp_distance)
{
tmp_distance = KrankenhausDistance[i];
closest = i;
}
}// set player's pos
switch (closest)
{
case 0:
{
SetPlayerPos(playerid, 2034.1149,-1414.9154,16.9922);
SetPlayerFacingAngle(playerid, 133.3335);
tot[playerid] = 0;
}
case 1:
{
SetPlayerPos(playerid, 1182.1077,-1324.0918,13.5815);
SetPlayerFacingAngle(playerid, 270.4434);
tot[playerid] = 0;
}
case 2:
{
SetPlayerPos(playerid, 1244.3423,331.9934,19.5547);
SetPlayerFacingAngle(playerid, 335.6859);
tot[playerid] = 0;
}
case 3:
{
SetPlayerPos(playerid, 1607.6090,1821.0934,10.8280);
SetPlayerFacingAngle(playerid, 0.7354);
tot[playerid] = 0;
}
case 4:
{
SetPlayerPos(playerid, -317.0090,1056.6217,19.7422);
SetPlayerFacingAngle(playerid, 358.9579);
tot[playerid] = 0;
}
case 5:
{
SetPlayerPos(playerid, -1514.7358,2527.0601,55.7455);
SetPlayerFacingAngle(playerid, 359.0611);
tot[playerid] = 0;
}
case 6:
{
SetPlayerPos(playerid, -2661.2441,633.7098,14.4531);
SetPlayerFacingAngle(playerid, 180.1544);
tot[playerid] = 0;
}
case 7:
{
SetPlayerPos(playerid, -2198.7803,-2306.5793,30.6250);
SetPlayerFacingAngle(playerid, 320.6338);
tot[playerid] = 0;
}
}
return 1;
}
}Ich hoffe es kann mir jemand helfen
MFG German_ScriperHD
-
Super geht jetzt
-
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i=0; i<MAX_ANPFLANZEN; i++)
{
if(pickupid == drogenpickup[playerid][i])
{
drogenprozent[playerid][i] = 0;
drogenstatus[playerid][i] = 0;
angepflanzteDrogen[playerid]--;
SetPlayerArmour(playerid,25);
DestroyPickup(drogenpickup[playerid][i]);
break;
}
}
return 1;
} -
klappt, jetzt bis auf der einsammeln der Drogen
-
danke für so schnell hilfe, aber bekomme jetzt ein ERROR
stock GetFreeDrogenID(playerid)
{
for(new i=0; i<MAX_ANPFLANZEN; i++)
{
if(drogenstatus[playerid][i] == 0) return id;
}
return -1;
}error 017: undefined symbol "id"
-
Es sollte jeder z.B 10 Dorgen gleicchzeitig anpflanzen können
-
ja... man sollt den befehl mehr mal´s eingeben können
-
oh ja ich hab es gesehn, Danke :D, das mit dem Pickup klappt jetzt, aber das mit dem Timer klappt immer noch net....
Wenn man /anpflanzen eingibt, dann wird das Object erstellt und der Timer lauft dann.... wenn ich jetzt nochmal /anpflanzen eintippe wird wieder das Obejct erstellt, aber der Timer 1 wird gestoppt
Ich hoffe es kann mir jemand helfen
MFG German_ScripterHD
-
funktioniert immer noch nicht
-
habe es im Script geändert aber leider wird immer noch kein Pickup erstellt warum?
-
Hallo Brotfische,
Ich habe 2 Probleme bei meinem Drogensystem, undzwar wenn man /anpflanzen eingibt wird ein CreatObject und ein Timer erstellt, wenn ich jetzt 2 mal /anpflanzen eingeben, wird der erste Timer gestoppt.... und Problem Nummer 2: wenn die Drogen bei 100% sind soll ein Pickup erstellt werden, aber da passiert leider nichts, das Object löscht sich aber es passiert einfach nichts, der Pickup wird nicht ersrtellt
Codes:
enum drogenenum
{
Float:dX,
Float:dY,
Float:dZ,
}
//new´s
new dInfo[MAX_PLAYERS][drogenenum];
new drogentimer[MAX_PLAYERS];
new drogensamen[MAX_PLAYERS];
new drogenpickup[MAX_PLAYERS];
new drogenobject[MAX_PLAYERS];
new Text3D:drogentext[MAX_PLAYERS];
new drogenprozent[MAX_PLAYERS];
new angepflanzteDrogen[MAX_PLAYERS];
ocmd:anpflanzen(playerid,params[])
{
if(drogensamen[playerid]!=1)return SendClientMessage(playerid,C_Error,"Du hast keine Drogensamen!");
if(GetPlayerInterior(playerid)==0)
{
new Float:x,Float:y,Float:z,Float:r;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid, Float:r);
dInfo[playerid][dX]=x;
dInfo[playerid][dY]=y;
dInfo[playerid][dZ]=z;
drogenobject[playerid]=CreateObject(647, dInfo[playerid][dX], dInfo[playerid][dY], dInfo[playerid][dZ]-1.2, 0.0, 0.0, r);
drogentext[playerid]=Create3DTextLabel("0 %",C_Weiß,dInfo[playerid][dX],dInfo[playerid][dY],dInfo[playerid][dZ],10.0,0,0);
SendClientMessage(playerid,C_Gruen,"Du hast 1 Drogenpflanze angebaut.");
angepflanzteDrogen[playerid]=1;
drogenprozent[playerid]=0;
drogentimer[playerid]=SetTimerEx("drogen",1000,1,"i",playerid);
return 1;
}
else
{
SendClientMessage(playerid,C_Error,"Du kannst keine Drogen im Interior anpflanzen!");
}
return 1;
}public drogen(playerid)
{
if(drogenprozent[playerid]==100)
{
DestroyObject(drogenobject[playerid]);
drogenpickup[playerid]=CreatePickup(19473,0,dInfo[playerid][dX],dInfo[playerid][dX],dInfo[playerid][dX],GetPlayerVirtualWorld(playerid));
KillTimer(drogentimer[playerid]);
Delete3DTextLabel(drogentext[playerid]);
}
else
{
new stringlol[60];
drogenprozent[playerid]++;
format(stringlol,sizeof(stringlol),"%i %",drogenprozent[playerid]);
Update3DTextLabelText(drogentext[playerid],C_Weiß,stringlol);
}
return 1;
}Ich hoffe es kann mir jemand helfen
MFG German_ScripterHD